Тома
Том представляет собой каталог (возможно, предварительно заполненный), доступным для контейнеров в стручке
A Kubernetes Том акции, по крайней мере, срок службы стручка, а не контейнер внутри
Если вы хотите, чтобы срок службы вашего хранения отличался от стручка, используйте постоянные объемы. Это позволяет претендовать объемы стручкой с использованием PersistentVolumeclaims Анкет
Том может сохраняться дольше, чем стручка, и может получить доступ к нескольким стручкам, используя PersistentVolumeclaims Анкет Это допускает настойчивость государства
Том может быть доступен для нескольких стручков, каждый из которых дал Режим доступа написать
Мы можем пройти кодируется Данные в стручок с использованием Секреты и Некодированный Данные с использованием Configmap — Мы можем передать такие вещи, как клавиши SSH, пароли и т. Д.
Проверка параллелизма не существует, что означает, что коррупция данных вероятно, если не произойдет внешняя блокировка
Примеры типов томов:
- RBD
- Nfs
- GcepersistentDisk
Есть три режима доступа для объемов:
- Rwo (readwriteonce) — разрешает чтение-записать одним узлом
- Rox (readonlymany) — Разрешить только для чтения несколькими узлами
- Rwx (readwritemany) — Позволяет чтения-записи несколькими узлами
Когда запрашивается том, локальный Кубелет использует kubelet_pods.go скрипт на:
- Карта необработанных устройств
- Определите и сделайте точку крепления для контейнера
- Создайте символическую ссылку в хост -файловой системе, чтобы связать хранилище с контейнером
Если нет особого StorageClass было запрошено, только access_mode и размер используются в качестве параметров для создания тома.
Типы объема
Есть много разных типов объемов, таких как GcepersistentDisk или Awselasticblockstore (GCE и EBS соответственно)
А пусто Том сначала создается, когда стручок назначается узлу и существует до тех пор, пока этот стручок работает на этом узле. Как говорит имя, это изначально пусто. Контейнеры в стручке могут читать и записывать одни и те же файлы в томе «Пусто», хотя этот том может быть установлен в одних и тех же или разных путях в каждом контейнере. Когда стручок удаляется из узла по любой причине, данные в пустоте удаляются навсегда.
A Hostpath Том соединяет файл или каталог из файловой системы узла хоста в ваш капсул. Это не то, что понадобится большинству стручков, но он предлагает мощный люк для некоторых приложений.
Секреты
Секреты в Kubernetes не зашифрованы по умолчанию — только BASE64 кодируется.
Конфигурационные карты
Данные в ConfigMaps в Kubernetes не кодируются и не зашифрованы и содержит Ключевая стоимость пары или простые файлы конфигурации в любом формате.
Вот несколько применений ConfigMaps:
- Pod env vars из одиночных или нескольких конфигураций
- Используйте значения configmap в командах POD
- Заполненный объем от configmap
- Добавить данные configmap в определенный путь в томе
- Установить имена файлов и режим доступа в томе из данных configMap
- Может использоваться системными компонентами и контроллерами.
Создание configmaps
Configmaps можно создать одним из трех следующих способов:
kubectl create configmap myconfigmap \ --from-literal=city=London \ --from-file=./myconfigmapfile.txt \ --from-file=./myconfigmapdirectory/
что приводит к следующей конфигурации:
k get configmap myconfigmap -o yaml apiVersion: v1 data: city: London kind: ConfigMap metadata: creationTimestamp: "2020-01-12T11:22:43Z" name: myconfigmap namespace: default ...
Масштабирование и обновление обмотки
Чтобы масштабировать развертывание, которое мы можем использовать
kubectl scale deploy/mydeployment --replicas=4
А потом понижать
kubectl scale deploy/mydeployment --replicas=1
Развертывание отката
Допустим, мы хотим обновить изображение контейнера, используя следующую команду
kubectl set image deployment/test nginx=nginx:0.9 --record
Допустим, мы теперь хотим обновить еще более новую версию Nginx, используя следующую команду
kubectl set image deployment/test nginx=nginx:66.6 --record
Если вы сейчас запустите kubectl Получите стручки Вы увидите, что стручок застрял в ImagePullbackoff государство Таким образом, мы хотим немедленно перенести изменения в ранее рабочую версию. Мы можем сделать это, используя следующую команду
kubectl rollout undo deployment/test
Чтобы просмотреть историю всех событий, которые мы можем пробежать
kubectl rollout history deployment/test
который показывает следующий выход:
deployment.apps/test REVISION CHANGE-CAUSE 1 kubectl set image deploy/test test=nginx --record=true 4 kubectl set image deployments/test nginx=nginx:0.8 --record=true 5 kubectl set image deployments/test nginx=nginx:0.9 --record=true 6 kubectl set image deployments/test nginx=nginx:0.66 --record=true 7 kubectl set image deployments/test nginx=nginx:66.66 --record=true 8 kubectl set image deployments/test nginx=nginx:66.66 --record=true
Оригинал: «https://dev.to/boncheff/ckad-deployment-configuration-notes-3gi9»