Добавление --record = true в файл развертывания - Kubernetes - PullRequest
0 голосов
/ 06 марта 2020

Я новичок в Kubernetes, и я хотел знать, есть ли способ добавить «--record = true» в файл развертывания yaml, поэтому мне не нужно вводить его в командной строке!

Я знаю, что это выглядит так: kubectl apply -f deployfile.yml --record

Я спрашиваю об этом, потому что мы работаем в команде, и не все используют --record = true в конец команды при развертывании файлов в kubernetes!

Заранее спасибо,

Ответы [ 2 ]

0 голосов
/ 06 марта 2020

Насколько я знаю, в kubectl нет такой функции, как флаг --record=true, которую можно добавить к Manifest.

Команда, которая использовалась для запуска Deployment, - это хранится в аннотации kubernetes.io/change-cause. Это используется для истории развертывания, которая описана здесь .

Сначала проверьте версии этого развертывания:

kubectl rollout history deployment.v1.apps/nginx-deployment Вывод похож на это:

deployments "nginx-deployment"
REVISION    CHANGE-CAUSE
1           kubectl apply --filename=https://k8s.io/examples/controllers/nginx-deployment.yaml --record=true
2           kubectl set image deployment.v1.apps/nginx-deployment nginx=nginx:1.9.1 --record=true
3           kubectl set image deployment.v1.apps/nginx-deployment nginx=nginx:1.91 --record=true

CHANGE-CAUSE копируется из аннотации развертывания kubernetes.io/change-cause в ее редакции при создании. Вы можете указать сообщение CHANGE-CAUSE следующим образом:

  • Аннотирование развертывания с помощью kubectl annotate deployment.v1.apps/nginx-deployment kubernetes.io/change-cause="image updated to 1.9.1"
  • Добавьте флаг --record, чтобы сохранить команду kubectl, которая вносит изменения в ресурс.
  • Редактирование манифеста ресурса вручную.

Чтобы просмотреть подробности каждой ревизии, выполните: kubectl rollout history deployment.v1.apps/nginx-deployment --revision=2

Вывод похож на это:

deployments "nginx-deployment" revision 2
  Labels:       app=nginx
          pod-template-hash=1159050644
  Annotations:  kubernetes.io/change-cause=kubectl set image deployment.v1.apps/nginx-deployment nginx=nginx:1.9.1 --record=true
  Containers:
   nginx:
    Image:      nginx:1.9.1
    Port:       80/TCP
     QoS Tier:
        cpu:      BestEffort
        memory:   BestEffort
    Environment Variables:      <none>
  No volumes.

Для истории команд я бы использовал $ history или проверил бы пользователя bash_history

$ tail /home/username/.bash_history

0 голосов
/ 06 марта 2020

Создайте псевдоним в вашем bashr c или zshr c, как показано ниже

alias kubectl=kubectl --record, а затем выполните kubectl apply -f deployfile.yml

или

alias kr=kubectl --record и kr apply -f deployfile.yml

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