При запуске примера файла yml в kubernetes я сталкиваюсь с этой ошибкой. Может ли кто-нибудь помочь мне разобраться - PullRequest
0 голосов
/ 23 января 2020
apiVersion: v1
kind: ReplicationController
metadata:
  name: simple-rc
spec:
  replicas: 2
  selector:
    app: nginx
  template:
    metadata:
      name: simple-rc
      labels:
        app: simple-rc
        version: "1.0"
    spec:
      containers:
        - name: simple-rc
          image: nginx
          ports:
            - containerPort: 80

ошибка:

error validating "sample.yml": error validating data: 
ValidationError(ReplicationController.metadata): invalid type for io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta: got "string", expected "map"; if you choose to ignore these errors, turn validation off with --validate=false

Ответы [ 2 ]

1 голос
/ 23 января 2020

Поле .spe c .selector является селектором метки. ReplicationController управляет всеми модулями с метками, соответствующими селектору. Он не различает guish между модулями, которые он создал или удалил, и модулями, которые другой человек или процесс создал или удалил. Это позволяет заменять ReplicationController, не затрагивая работающие модули.

Если указано, .spe c .template.metadata.labels должен быть равен .spe c .selector, или это будет отклонено API. Если .spe c .selector не указан, по умолчанию будет установлено значение .spe c .template.metadata.labels.

spec:
  replicas: 2
  selector: # Update the selector to match labels
    app: simple-rc
    version: "1.0"
  template:
    metadata:
      name: simple-rc
      labels:
        app: simple-rc
        version: "1.0"
0 голосов
/ 23 января 2020

Пожалуйста, измените

  selector:
    app: nginx

на

  selector:
    app: simple-rc

Также, пожалуйста, не используйте контроллер репликации, он устарел, вместо этого используйте Deployment

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