Как исправить ошибку «map [] не содержит объявленного ключа слияния: имя», когда я редактирую и сохраняю pod yaml? - PullRequest
3 голосов
/ 17 апреля 2019

Я пытаюсь вытащить изображение из частного реестра. Но статус модуля - «ImagePullBackOff», что означает, что мне нужно добавить секрет в модуль.

Events:
  Type     Reason   Age                  From                                          Message
  ----     ------   ----                 ----                                          -------
  Normal   Pulling  52m (x255 over 22h)  kubelet, cn-huhehaote.i-hp3fkfzlcf1u9cigq2h7  pulling image "xxx/fcp"
  Normal   BackOff  8m (x5597 over 22h)  kubelet, cn-huhehaote.i-hp3fkfzlcf1u9cigq2h7  Back-off pulling image "xxx/fcp"
  Warning  Failed   3m (x5618 over 22h)  kubelet, cn-huhehaote.i-hp3fkfzlcf1u9cigq2h7  Error: ImagePullBackOff

Итак, я добавил следующий код в pod yaml.

spec:
      containers:
      - name: private-reg-container
        image: <your-private-image>
      imagePullSecrets:
      - name: my-secret

Тогда я получил

error: map: map[] does not contain declared merge key: name

Решение, которое я искал, состоит в том, чтобы удалить 'imagePullSecret', который мне не подходит. Интересно, как исправить ошибку. Кто-нибудь может мне помочь?

версия kubectl -

 kubectl version
Client Version: version.Info{Major:"1", Minor:"11", GitVersion:"v1.11.5", GitCommit:"753b2dbc622f5cc417845f0ff8a77f539a4213ea", GitTreeState:"clean", BuildDate:"2018-11-26T14:41:50Z", GoVersion:"go1.10.3", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"11", GitVersion:"v1.11.5", GitCommit:"753b2dbc622f5cc417845f0ff8a77f539a4213ea", GitTreeState:"clean", BuildDate:"2018-11-26T14:31:35Z", GoVersion:"go1.10.3", Compiler:"gc", Platform:"linux/amd64"}

1 Ответ

1 голос
/ 24 апреля 2019

Как указано в комментариях @fiunchinho и согласно Федерация с Kubefed - федерация кластера устарела.

Использование Federation v1 настоятельно не рекомендуется.Федерация V1 никогда не достигала статуса GA и больше не находится в активной разработке.Документация предназначена только для исторических целей.

Решение заключается в использовании Kubernetes Federation v2 .Подробнее см. В руководстве пользователя Federation v2 и Руководство по разработке Federation v

...