Рубрики
Uncategorized

CKAD — Примечания конфигурации развертывания

Объемы конфигурации развертывания Объем-это каталог (возможно, предварительно заполняющий … Помечено Kubernetes, Docker, Linux, DevOps.

Тома

  • Том представляет собой каталог (возможно, предварительно заполненный), доступным для контейнеров в стручке

  • A Kubernetes Том акции, по крайней мере, срок службы стручка, а не контейнер внутри

  • Если вы хотите, чтобы срок службы вашего хранения отличался от стручка, используйте постоянные объемы. Это позволяет претендовать объемы стручкой с использованием PersistentVolumeclaims Анкет

  • Том может сохраняться дольше, чем стручка, и может получить доступ к нескольким стручкам, используя PersistentVolumeclaims Анкет Это допускает настойчивость государства

  • Том может быть доступен для нескольких стручков, каждый из которых дал Режим доступа написать

  • Мы можем пройти кодируется Данные в стручок с использованием Секреты и Некодированный Данные с использованием Configmap — Мы можем передать такие вещи, как клавиши SSH, пароли и т. Д.

  • Проверка параллелизма не существует, что означает, что коррупция данных вероятно, если не произойдет внешняя блокировка

  • Примеры типов томов:

Есть три режима доступа для объемов:

  • 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»