Openshift 3.11 - редактирование конфигурации развертывания - команда cant add - PullRequest
0 голосов
/ 28 июня 2019

Я пытаюсь изменить вид конфигурации развертывания в веб-консоли OpenShift.

Я просто пытаюсь добавить command и немного args. У меня есть еще один рабочий пример с правильным синтаксисом и отступом.

Однако, когда я копирую это в конфигурацию развертывания, я не могу сохранить его из-за ошибки проверки. Однако ошибка не связана с внесенными мною изменениями.

Сообщение об ошибке:

Не удалось обработать ресурс. Причина: DeploymentConfig.apps.openshift.io "my-sdk" недопустим: [spec.template.spec.containers [0] .name: Обязательное значение, spec.template.spec.containers [0] .image: Обязательное значение]

Например, у меня есть следующий фрагмент из рабочей конфигурации развертывания:

    spec:
      containers:
        - env:
            - name: MY_DB_HOST
              value: postgresql
            - name: MY_DB_NAME
              value: MY
            - name: MY_DB_PASSWORD
              value: MY
            - name: MY_DB_USER
              value: MY
            - name: MY_CACHE_ENABLED
              value: 'false'
          image: >-
            172.30.1.1:5000/myapp/my-sdk@sha256:eb485f011eaab9342b7fcf272c9f22dded9c238987f1dec932f8e1640ac18251
          imagePullPolicy: Always
          name: my-sdk
          ports:
            - containerPort: 8080
              protocol: TCP

Затем я пытаюсь изменить его на следующее:

    spec:
      containers:
        - args:
            - '-myarg'
          command:
            - node
        - env:
            - name: MY_DB_HOST
              value: postgresql
            - name: MY_DB_NAME
              value: MY
            - name: MY_DB_PASSWORD
              value: MY
            - name: MY_DB_USER
              value: MY
            - name: MY_CACHE_ENABLED
              value: 'false'
          image: >-
            172.30.1.1:5000/myapp/my-sdk@sha256:eb485f011eaab9342b7fcf272c9f22dded9c238987f1dec932f8e1640ac18251
          imagePullPolicy: Always
          name: my-sdk
          ports:
            - containerPort: 8080
              protocol: TCP

И с этим изменением я получаю вышеуказанную ошибку. Я на 99% уверен, что внесенные мной изменения действительны, поскольку я просто копирую их из конфигурации функционального развертывания. И сообщение об ошибке, похоже, никак не связано с изменением.

Обновление

Теперь у меня есть рабочая конфигурация развертывания, которая содержит значения command и arg.

Когда я пытаюсь удалить их без изменения какого-либо другого yaml или отступа, я получаю следующую бесполезную ошибку проверки:

Не удалось обработать ресурс. Причина: ReplicationController в версии «v1» не может быть обработан как ReplicationController: v1.ReplicationController.Spec: v1.ReplicationControllerSpec.Template: v1.PodTemplateSpec.Spec: v1.PodSpec.TerminationGracePeriodNeconds: DecoConsole для_оценки: Класс_столбления: Схема_конфигурации: Тип_столбия: Класс_столбления: Класс_столбления: Схема_конфигурации: класс_поля: Тип_столбия: Схема_конфигурации: класс_слоя_произведения: класс_столд. slice: ожидаем [или n, но найден {, найдена ошибка в байте # 10 из ... | y ":" File "}," dnsPolic | ..., больший контекст ... | ermination-log "," terminationMessagePolicy ":" Файл "}," dnsPolicy ":" ClusterFirst " "restartPolicy":" Alway | ...

1 Ответ

0 голосов
/ 28 июня 2019

Один пример:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-deployment
  labels:
    app: nginx
spec:
  replicas: 3
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx@sha256:e3456c851a152494c3e4ff5fcc26f240206abac0c9d794affb40e0714846c451
        env:
         - name: DEMO_GREETING
           value: "Hello from the environment"
        command: ["echo"]
        args: ["$(GREETING) $(HONORIFIC) $(NAME)"] 
        ports:
        - containerPort: 80

Пожалуйста, следуйте документации: Использование переменных среды внутри вашей конфигурации

Кроме того, пожалуйста, проверьте свою спецификацию с линией изображения image: >- согласно ошибке image: Required value

...