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»