Путь развертывания yaml в кластере kubernetes

Когда мы запускаем приведенную ниже команду от пользователя root на главном узле kubernetes:

  • kubectl создать развертывание nginx --image=nginxD

по какому пути хранится файл yaml?

  • kubectl получить развертывание nginx -o yaml

по какому пути он предоставляет нам тело yaml?


person user3839347    schedule 22.03.2021    source источник


Ответы (2)


Raw k8s хранит все в etcd. При запуске таких команд, как kubectl get deployment nginx -o yaml kubectl, он обращается к kubeapi, который обращается к etcd, чтобы получить для вас yaml.

etcd — это хранилище ключей и значений, поэтому любой kubectl get XYZ считывает определенный ключ. Любой kubectl create XYZ создает новый ключ/значение в etcd.

Из-за важности etcd в k8s настоятельно рекомендуется создавать его резервные копии в рабочих средах.

Компоненты и то, как они взаимодействуют со всем, можно найти здесь: https://kubernetes.io/docs/concepts/overview/components/

person Richard Kostyn    schedule 22.03.2021
comment
Ценю ваш ответ! :) - person user3839347; 22.03.2021

Он никогда не создаст yaml. Это создание развертывания. когда вы запускаете этот kubectl get deployment nginx -o yaml. Развертывание только что показано в формате yaml.

person Emon46    schedule 22.03.2021
comment
ценю ваш ответ. Итак, как лучше всего создавать файлы yaml для всего и хранить их в любом каталоге ИЛИ напрямую использовать команду для создания любого развертывания? - person user3839347; 22.03.2021
comment
@user3839347 user3839347 всегда лучше, если вы создаете какой-либо объект kubernetes с помощью yaml. потому что вы можете добавить все виды спецификаций, когда используете yaml для создания любого экземпляра k8s. но есть ограничения при использовании команды. - person Emon46; 22.03.2021