CKAD Revision (6 серии деталей)
Ярлыки
Метки — это пары ключей/значения, которые прикреплены к объектам, таким как стручки. Метки позволяют выполнять эффективные запросы и часы и идеально подходят для использования в UIS и CLI. Неидентификационная информация должна быть записана с использованием аннотации .
Вот пример того, как создать стручок с помощью kubectl
и добавьте к нему этикетку
kubectl run test_pod --image=nginx --restart=Never --labels="country=united_kingdom" --dry-run -o yaml'
что приводит к следующему Yaml
файл
apiVersion: v1 kind: Pod metadata: creationTimestamp: null labels: country: united_kingdom name: test_pod spec: containers: - image: nginx name: test_pod resources: {} dnsPolicy: ClusterFirst restartPolicy: Never status: {}
Селекторы
В отличие от имен и UID, этикетки не обеспечивают уникальности. В целом, мы ожидаем, что многие объекты будут нести ту же этикетку (ы).
Через селектор метки клиент/пользователь может идентифицировать набор объектов. Селектор метки является основной группировкой примитива в Kubernetes.
Вот пример Nodeselector который выбирает узлы с меткой Accelerator = nvidia-tesla-p100 :
apiVersion: v1 kind: Pod metadata: name: cuda-test spec: containers: - name: cuda-test image: "k8s.gcr.io/cuda-vector-add:v0.1" resources: limits: nvidia.com/gpu: 1 nodeSelector: accelerator: nvidia-tesla-p100
Аннотации
Вы можете использовать аннотации Kubernetes, чтобы прикрепить произвольные неяменитые метаданные к объектам. Клиенты, такие как инструменты и библиотеки, могут получить эти метаданные.
Например, вот файл конфигурации для POD, который имеет аннотацию Imageregistry: https://hub.docker.com/ :
apiVersion: v1 kind: Pod metadata: name: annotations-demo annotations: imageregistry: "https://hub.docker.com/" spec: containers: - name: nginx image: nginx:1.7.9 ports: - containerPort: 80
Развертывание предоставляет декларативные обновления для стручков и репликатов. Вы описываете желаемое состояние и контроллер развертывания меняет Фактическое состояние к желаемое состояние с контролируемой скоростью.
Чтобы создать развертывание, которое вы можете запустить:
kubectl create deployment my-dep --image=busybox
или создать с помощью файла с помощью kubectl create -f
Ниже приведено полученное Ямл :
apiVersion: apps/v1 kind: Deployment metadata: creationTimestamp: null labels: app: test name: test spec: replicas: 1 selector: matchLabels: <----- defines how the Deployment finds which Pods to manage app: test strategy: {} template: metadata: creationTimestamp: null labels: app: test spec: containers: - image: nginx name: nginx resources: {} status: {}
Обновления
Мы можем сделать обновление развертывания, используя Kubectl Set развертывание изображения/nginx-развертка: 1.9.1-Рекордублект
Команда, которая приводит к следующему выводу: Развертывание.
Другой способ — запустить kubectl edit развертывание
и обновить изображение вручную.
Как только команда обновления выпущена, мы можем отслеживать, используя Развертывание статуса развертывания kubectl/
Мы можем проверить статус развертывания с помощью kubectl uplout unployment/
или проверьте историю, используя Kubectl История развертывания истории/
Анкет
Откаты
Мы можем отказаться от развертывания, используя kubectl unwort undo развертывание/
Работа создает один или несколько стручков и гарантирует, что указанное число из них успешно прекратилось.
Мы можем создать работу, используя kubectl Создать работу myjob -dry -run -o yaml -/bin/sh -c 'echo hello; Sleep 100;'
что приводит к созданию следующей работы:
apiVersion: batch/v1 kind: Job metadata: creationTimestamp: null name: myjob spec: template: metadata: creationTimestamp: null spec: containers: - command: - /bin/sh - -c - echo hello;sleep 100; image: nginx name: myjob resources: {} restartPolicy: Never status: {}
После создания мы можем использовать kubectl опишите работу myjob
и делать Kubectl Get Pods
Чтобы получить список бегущих стручков для этой работы.
# Cronjob
Работа Cron создает расписание на основе времени.
CKAD Revision (6 серии деталей)
Оригинал: «https://dev.to/boncheff/ckad-revision-pod-design-5dc7»