Ошибка развертывания aspnetcore webapi в миникубе - PullRequest
0 голосов
/ 21 апреля 2019

Когда я пытаюсь выполнить эту команду kubectl apply -f mydeployment.yaml, я получаю сообщение об ошибке: SchemaError (io.k8s.api.core.v1.ContainerState): недопустимый объект не имеет дополнительных свойств. Что я могу сделать, чтобы успешно развернуть мой aspnetcore webapi в моем локальном кластере Kubernetes?

Я уже пытался обновить миникуб, выполнив команду choco upgrade minikube. Там написано, что у меня уже есть последняя версия. minikube v1.0.0 является последней доступной версией, основанной на ваших источниках.

Мой файл deploy.yaml, который я создал, выглядит следующим образом.

apiVersion: apps/v1
kind: Deployment
metadata:
  name: app
  labels:
    app: app
spec:
  replicas: 3
  selector:
    matchLabels:
      app: app
  template:
    metadata:
      labels:
        app: app
    spec:
      containers:
        name: myfirstdockerapi
        image: myfirstdockerapi
        ports:
        - containerPort: 80

Ответы [ 2 ]

0 голосов
/ 29 апреля 2019


Очистите все перед началом работы:

rm -rf ~/.minikube

Согласно документации:

Вы должны использовать версию kubectl, которая находится в пределах одной незначительной разницы версий ваш кластер. Например, клиент v1.2 должен работать с v1.1, v1.2 и v1.3 мастер. Использование последней версии kubectl помогает избежать непредвиденных проблем.

Ресурсы Minikube на Github вы можете найти здесь :

Чтобы избежать проблем взаимодействия - Обновите версию Kubernetes по умолчанию до v1.14.0 # 3967 ПРИМЕЧАНИЕ: мы также рекомендуем обновить kubectl до последней версии (v1.13 +)

Для получения последней версии minikube следуйте официальной документации здесь .

Блог Kubernetes - здесь ,
Stackoverlow здесь ,
Choco здесь ,

В подключенном развертывании возникла проблема с отступом (исправлена), поэтому попробуйте еще раз.

spec:
  containers:
  - name: myfirstdockerapi
    image: myfirstdockerapi
    ports:
    - containerPort: 80
0 голосов
/ 21 апреля 2019

Элемент containers ожидает список, поэтому вам нужно ставить перед каждой записью тире.

apiVersion: apps/v1
kind: Deployment
metadata:
  name: app
  labels:
    app: app
spec:
  replicas: 3
  selector:
    matchLabels:
      app: app
  template:
    metadata:
      labels:
        app: app
    spec:
      containers:
      - name: myfirstdockerapi
        image: myfirstdockerapi
        ports:
        - containerPort: 80

Если вы не уверены, вы всегда можете использовать kubectl для проверки вашего файла без его создания: kubectl apply -f sample.yaml --validate --dry-run На всякий случай убедитесь, что ваша версия kubectl соответствует версии вашего кластера kubernetes.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...