Kubectl применить команду для обновления существующего ресурса службы - PullRequest
0 голосов
/ 18 декабря 2018

В настоящее время я использую Kubernetes версии 1.11. +.Ранее я всегда использовал следующую команду для моих сценариев cloud build :

- name: 'gcr.io/cloud-builders/kubectl'
  id: 'deploy'
  args:
  - 'apply'
  - '-f'
  - 'k8s'
  - '--recursive'
  env:
  - 'CLOUDSDK_COMPUTE_ZONE=${_REGION}'
  - 'CLOUDSDK_CONTAINER_CLUSTER=${_CLUSTER_NAME}'

И команды работали, как и ожидалось, в то время я использую k8s версии 1.10. +,Однако недавно я получил следующую ошибку:

  • spec.clusterIP: Неверное значение: "": поле является неизменным
  • metadata.resourceVersion: Неверное значение: "": mustбыть указанным для обновления

Поэтому мне интересно, является ли это ожидаемым поведением для ресурсов службы?

Вот моя конфигурация YAML для моей службы:

apiVersion: v1
kind: Service
metadata:
  name: {name}
  namespace: {namespace}
  annotations:
    beta.cloud.google.com/backend-config: '{"default": "{backend-config-name}"}'
spec:
  ports:
   - port: {port-num}
     targetPort: {port-num}
  selector:
    app: {label}
    environment: {env}
type: NodePort

Ответы [ 2 ]

0 голосов
/ 19 декабря 2018

Вам необходимо установить spec.clusterIP в файле yaml службы со значением, которое будет заменено на IP-адрес clusterIP из службы, как показано ниже:

spec:
  clusterIP:

Ваша проблема решена на следующем github также есть обходной путь, чтобы помочь вам обойти эту проблему.

0 голосов
/ 19 декабря 2018

Это связано с тем, что https://github.com/kubernetes/kubernetes/issues/71042

https://github.com/kubernetes/kubernetes/pull/66602 следует выбрать 1,11

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