Загрязните узел в живом кластере kubernetes - PullRequest
0 голосов
/ 27 октября 2018

Как мне выполнить ту же команду с файлом YAML, чтобы я мог выполнить kubectl apply -f?Команда ниже работает, и она портит, но я не могу понять, как использовать ее через файл манифеста.

$ kubectl taint nodes \
          172.4.5.2-3a1d4eeb \
          kops.k8s.io/instancegroup=loadbalancer \
          NoSchedule

1 Ответ

0 голосов
/ 27 октября 2018

Используйте опцию -o yaml и сохраните полученный YAML-файл и убедитесь, что вы удалили статус и некоторые дополнительные элементы, это применимо к заражению, но предоставит вам yaml, который вы позже сможете использовать для kubectl apply -f, исохраните его в системе управления версиями (даже если вы создадите ресурс из командной строки, а затем получите yaml и примените его, он не будет воссоздавать ресурс, так что все в порядке)

Примечание: Большинство команд поддерживают --dry-run, которые просто генерируют yaml, а не создают ресурс, но в этом случае я не мог заставить его работать с --dry-run, возможно, эта команда не поддерживает этот флаг.

C02W84XMHTD5:~ iahmad$ kubectl taint node minikube dedicated=foo:PreferNoSchedule -o yaml
apiVersion: v1
kind: Node
metadata:
  annotations:
    node.alpha.kubernetes.io/ttl: "0"
    volumes.kubernetes.io/controller-managed-attach-detach: "true"
  creationTimestamp: 2018-10-16T21:44:03Z
  labels:
    beta.kubernetes.io/arch: amd64
    beta.kubernetes.io/os: linux
    kubernetes.io/hostname: minikube
    node-role.kubernetes.io/master: ""
  name: minikube
  resourceVersion: "291136"
  selfLink: /api/v1/nodes/minikube
  uid: 99a1a304-d18c-11e8-9334-f2cf3c1f0864
spec:
  externalID: minikube
  taints:
  - effect: PreferNoSchedule
    key: dedicated
    value: foo

затем используйте yaml с kubectl apply:

apiVersion: v1
kind: Node
metadata:
  name: minikube
spec:
  taints:
  - effect: PreferNoSchedule
    key: dedicated
    value: foo
...