Исходный код вики J02.08. Pods (Поды)
Редактировал(а) Ирина Сафонова 07.01.2024, 13:52
Последние авторы
author | version | line-number | content |
---|---|---|---|
1 | {{box cssClass="floatinginfobox" title="**Содержание**"}} | ||
2 | {{toc/}} | ||
3 | {{/box}} | ||
4 | |||
5 | (% data-xwiki-non-generated-content="java.util.List" %) | ||
6 | ((( | ||
7 | = Назначение подов = | ||
8 | ))) | ||
9 | |||
10 | ---- | ||
11 | |||
12 | **Поды** **(Pods)** — набор из одного и более[[ контейнеров>>https://wiki.dfcloud.ru/bin/view/Glossary/%D0%9A%D0%BE%D0%BD%D1%82%D0%B5%D0%B9%D0%BD%D0%B5%D1%80||style="background-color: rgb(255, 255, 255);"]] для совместного развертывания на [[ноде>>https://wiki.dfcloud.ru/bin/view/Glossary/%D0%9D%D0%BE%D0%B4%D0%B0||style="background-color: rgb(255, 255, 255);"]] в **Cloud Managed Kubernetes**. **Cloud Managed Kubernetes** предоставляет пользователям параметры для настройки конфигураций рабочей нагрузки. Примеры параметров: | ||
13 | |||
14 | * проверки работоспособности, | ||
15 | * [[переменные среды>>https://wiki.dfcloud.ru/bin/view/Glossary/%D0%9F%D0%B5%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D0%BD%D0%B0%D1%8F%20%D1%81%D1%80%D0%B5%D0%B4%D1%8B||style="background-color: rgb(255, 255, 255);"]], | ||
16 | * команды запуска. | ||
17 | |||
18 | Под указывается при создании [[развертываний>>https://wiki.dfcloud.ru/bin/view/%D0%9A%D0%BE%D0%BD%D1%82%D0%B5%D0%B9%D0%BD%D0%B5%D1%80%D0%BD%D0%B0%D1%8F%20%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0/Cloud%20Managed%20Kubernetes/2.%20%D0%98%D0%BD%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%86%D0%B8%D1%8F/01.%20%D0%98%D0%BD%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%86%D0%B8%D1%8F%20%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8F/L.%20%D0%A3%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5%20%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82%D0%BE%D0%BC/L02.%20%D0%A0%D0%B0%D0%B1%D0%BE%D1%87%D0%B8%D0%B5%20%D0%BD%D0%B0%D0%B3%D1%80%D1%83%D0%B7%D0%BA%D0%B8%20%D0%BF%D1%80%D0%B8%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D0%B9/L02.01.%20%D0%A0%D0%B0%D0%B7%D0%B2%D0%BE%D1%80%D0%B0%D1%87%D0%B8%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5%20%D0%BF%D1%80%D0%B8%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D0%B9/||style="background-color: rgb(255, 255, 255);"]], [[наборов состояния>>https://wiki.dfcloud.ru/bin/view/%D0%9A%D0%BE%D0%BD%D1%82%D0%B5%D0%B9%D0%BD%D0%B5%D1%80%D0%BD%D0%B0%D1%8F%20%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0/Cloud%20Managed%20Kubernetes/2.%20%D0%98%D0%BD%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%86%D0%B8%D1%8F/01.%20%D0%98%D0%BD%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%86%D0%B8%D1%8F%20%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8F/L.%20%D0%A3%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5%20%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82%D0%BE%D0%BC/L02.%20%D0%A0%D0%B0%D0%B1%D0%BE%D1%87%D0%B8%D0%B5%20%D0%BD%D0%B0%D0%B3%D1%80%D1%83%D0%B7%D0%BA%D0%B8%20%D0%BF%D1%80%D0%B8%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D0%B9/L02.02.%20StatefulSets/||style="background-color: rgb(255, 255, 255);"]] или [[набора даемона>>https://wiki.dfcloud.ru/bin/view/%D0%9A%D0%BE%D0%BD%D1%82%D0%B5%D0%B9%D0%BD%D0%B5%D1%80%D0%BD%D0%B0%D1%8F%20%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0/Cloud%20Managed%20Kubernetes/2.%20%D0%98%D0%BD%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%86%D0%B8%D1%8F/01.%20%D0%98%D0%BD%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%86%D0%B8%D1%8F%20%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8F/L.%20%D0%A3%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5%20%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82%D0%BE%D0%BC/L02.%20%D0%A0%D0%B0%D0%B1%D0%BE%D1%87%D0%B8%D0%B5%20%D0%BD%D0%B0%D0%B3%D1%80%D1%83%D0%B7%D0%BA%D0%B8%20%D0%BF%D1%80%D0%B8%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D0%B9/L02.03.%20Kubernetes%20DaemonSets%20%D0%B2%20KubeSphere/||style="background-color: rgb(255, 255, 255);"]]. | ||
19 | |||
20 | = Настройки подов = | ||
21 | |||
22 | ---- | ||
23 | |||
24 | == Реплики подов == | ||
25 | |||
26 | Установите количество реплицированных подов, щелкнув [[image:https://www.kubesphere.io/images/docs/v3.3/project-user-guide/application-workloads/container-image-settings/plus-icon.png||alt="icon" height="20" width="21"]] или [[image:https://www.kubesphere.io/images/docs/v3.3/project-user-guide/application-workloads/container-image-settings/minus-icon.png||alt="icon" height="20" width="20"]] в поле {{code language="none"}}.spec.replicas{{/code}} [[файла манифеста>>https://wiki.dfcloud.ru/bin/view/Glossary/%D0%9C%D0%B0%D0%BD%D0%B8%D1%84%D0%B5%D1%81%D1%82%20%D0%BF%D1%80%D0%B8%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D1%8F]]. Эта опция недоступна для набора даемона. | ||
27 | |||
28 | Если создаете развертывания в многокластерном проекте, выберите режим планирования реплик в разделе **Replica Scheduling Mode**: | ||
29 | |||
30 | * **Specify Replicas**: выберите [[кластеры>>https://wiki.dfcloud.ru/bin/view/Glossary/%D0%9A%D0%BB%D0%B0%D1%81%D1%82%D0%B5%D1%80]] и установите количество реплик подов в каждом кластере | ||
31 | * **Specify Weights**: выберите кластеры, установите общее количество реплик подов в **Total Replicas** и укажите емкость для каждого кластера. Реплики пропорционально распределяются по кластерам в соответствии с указанной емкостью. Чтобы отредактировать емкость после создания развертывания, перейдите на страницу сведений, щелкните имя развертывания и измените емкость в разделе **Weights** вкладки **Resource Status** | ||
32 | |||
33 | Если создаете наборы состояния в проекте с несколькими кластерами, выберите кластеры и установите количество реплик подов в каждом кластере раздела **Replicas Pod**. | ||
34 | |||
35 | == Добавление контейнера == | ||
36 | |||
37 | Нажмите кнопку **Add Container**, чтобы добавить контейнер. | ||
38 | |||
39 | === Поле поиска изображений === | ||
40 | |||
41 | При необходимости щелкните кнопку[[image:https://www.kubesphere.io/images/docs/v3.3/project-user-guide/application-workloads/container-image-settings/cube-icon.png||alt="icon"]], чтобы выбрать изображение из списка или ввести имя изображения для его поиска. **Cloud Managed Kubernetes** предоставляет образы [[Docker Hub>>https://hub.docker.com/]] и вличный репозиторий образов. Если хотите использовать свой репозиторий, создайте [[секретную переменную>>https://wiki.dfcloud.ru/bin/view/%D0%9A%D0%BE%D0%BD%D1%82%D0%B5%D0%B9%D0%BD%D0%B5%D1%80%D0%BD%D0%B0%D1%8F%20%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0/Cloud%20Managed%20Kubernetes/2.%20%D0%98%D0%BD%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%86%D0%B8%D1%8F/01.%20%D0%98%D0%BD%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%86%D0%B8%D1%8F%20%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8F/L.%20%D0%A3%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5%20%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82%D0%BE%D0%BC/L04.%20%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0%20%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82%D0%B0/L04.01.%20%D0%A1%D0%B5%D0%BA%D1%80%D0%B5%D1%82%D0%BD%D1%8B%D0%B5%20%D0%BF%D0%B5%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D0%BD%D1%8B%D0%B5/]] реестра образов раздела **Secrets** в **Configuration.** | ||
42 | |||
43 | {{warning}} | ||
44 | Нажмите **Enter** на клавиатуре после введения имени изображения в поле поиска. | ||
45 | {{/warning}} | ||
46 | |||
47 | === Тег изображения === | ||
48 | |||
49 | При необходимости укажите тег, например, {{code language="none"}}imagename:tag{{/code}}. Если тег не указан, по умолчанию устанавливается последняя версия контейнера. | ||
50 | |||
51 | === Имя контейнера === | ||
52 | |||
53 | **Cloud Managed Kubernetes** автоматически создает имя контейнера, на которое указывает {{code language="none"}}.spec.containers.name{{/code}}. | ||
54 | |||
55 | === Тип контейнера === | ||
56 | |||
57 | Выбор **Init container **означает, что [[контейнер инициализации>>https://kubernetes.io/docs/concepts/workloads/pods/init-containers/?spm=a2c4g.11186623.2.19.16704b3e9qHXPb]] создается для рабочей нагрузки. | ||
58 | |||
59 | === Задание ресурсов === | ||
60 | |||
61 | Зарезервированная контейнером квота включает ресурсы [[CPU>>https://wiki.dfcloud.ru/bin/view/Glossary/CPU]] и памяти. Резервирование означает, что контейнер монополизирует ресурс, не позволяя другим [[сервисам>>https://wiki.dfcloud.ru/bin/view/%D0%9A%D0%BE%D0%BD%D1%82%D0%B5%D0%B9%D0%BD%D0%B5%D1%80%D0%BD%D0%B0%D1%8F%20%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0/Cloud%20Managed%20Kubernetes/2.%20%D0%98%D0%BD%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%86%D0%B8%D1%8F/01.%20%D0%98%D0%BD%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%86%D0%B8%D1%8F%20%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8F/L.%20%D0%A3%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5%20%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82%D0%BE%D0%BC/L02.%20%D0%A0%D0%B0%D0%B1%D0%BE%D1%87%D0%B8%D0%B5%20%D0%BD%D0%B0%D0%B3%D1%80%D1%83%D0%B7%D0%BA%D0%B8%20%D0%BF%D1%80%D0%B8%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D0%B9/L02.04.%20%D0%A1%D0%B5%D1%80%D0%B2%D0%B8%D1%81%D1%8B/]] или процессам конкурировать за ресурсы из-за нехватки ресурсов. | ||
62 | |||
63 | * Запрос CPU обозначается как {{code language="none"}}.spec.containers[].resources.requests.cpu{{/code}} в файле манифеста. Запрос CPU может быть превышен. | ||
64 | * Запрос памяти обозначается как {{code language="none"}}.spec.containers[].resources.requests.memory{{/code}} в файле манифеста. Запрос может быть превышен, но контейнер может очиститься, когда памяти ноды недостаточно. | ||
65 | |||
66 | === Лимит ресурсов === | ||
67 | |||
68 | При необходимости укажите верхний лимит ресурсов, которые может использовать приложение, включая CPU, память и [[GPU>>https://wiki.dfcloud.ru/bin/view/Glossary/vGPU]]. Лимиты предотвращают чрезмерную занятость ресурсов. | ||
69 | |||
70 | * Ограничение CPU указывается с помощью {{code language="none"}}.spec.containers[].resources.limits.cpu{{/code}} в файле манифеста. Лимит CPU может быть превышен на непродолжительное время, и контейнер не будет остановлен. | ||
71 | * Ограничение памяти указывается с помощью {{code language="none"}}.spec.containers[].resources.limits.memory{{/code}} в файле манифеста. Лимит памяти не может быть превышен. В случае превышения контейнер может быть остановлен или назначен на другой компьютер с достаточными ресурсами. | ||
72 | |||
73 | {{info}} | ||
74 | Ресурс CPU измеряется в единицах CPU или в ядрах в KubeSphere, а ресурс памяти — в байтах или MiB. | ||
75 | {{/info}} | ||
76 | |||
77 | Для установки **GPU Type **выберите его из раскрывающегося списка (по умолчанию {{code language="none"}}nvidia.com/gpu{{/code}}). **GPU Limit** по умолчанию **не установлено**. | ||
78 | |||
79 | === Настройки портов === | ||
80 | |||
81 | Установите протокол доступа для контейнера и информацию о порте. Нажмите кнопку **Use Default Ports**, чтобы использовать настройку по умолчанию. | ||
82 | |||
83 | == Политика извлечения изображений == | ||
84 | |||
85 | **Политика извлечения изображений** — политика, при которой [[kubelet>>https://wiki.dfcloud.ru/bin/view/Glossary/kubelet]] пытается извлечь указанное вами изображение. Значение параметра указывается полем {{code language="none"}}imagePullPolicy{{/code}} в файле манифеста. В дашборде при необходимости выберите один из следующих трех вариантов раскрывающегося списка: | ||
86 | |||
87 | * **Use Local Image First**. Образ подтягивается только в том случае, если он не существует локально. | ||
88 | * **Pull Image Always**. Изображение извлекается всякий раз, когда запускается под. | ||
89 | * **Use Local Image Only**. Изображение не извлекается независимо от факта существования. | ||
90 | |||
91 | {{info}} | ||
92 | * Значение по умолчанию — **Use Local Image First**, но для изображений с тегом {{code language="none"}}:latest{{/code}} по умолчанию используется значение **Pull Image Always**. | ||
93 | * **Docker** проверит значение по умолчанию при извлечении образа. Если MD5 не менялся, то **Cloud Managed Kubernetes** не подтянет это значение. | ||
94 | * Не используйте тега {{code language="none"}}:latest{{/code}} в продуктивной среде. Последнее изображение может быть автоматически извлечено с помощью тега {{code language="none"}}:latest{{/code}} в среде разработки. | ||
95 | {{/info}} | ||
96 | |||
97 | === Проверка состояния приложения === | ||
98 | |||
99 | **Cloud Managed Kubernetes **предлагает три типа проверок: | ||
100 | |||
101 | * **Liveness Check **(Поддержка проверки работоспособности). Проверка используется, чтобы узнать, запущен ли контейнер. На это указывает тег {{code language="none"}}livenessProbe{{/code}} | ||
102 | * **Readiness Check **(Проверка готовности). Проверка используется, чтобы узнать, готов ли контейнер обслуживать запросы. На это указывает тег {{code language="none"}}readinessProbe{{/code}} | ||
103 | * **Startup Check **(Проверка запуска). Проверка используется, чтобы узнать, запущено ли приложение-контейнер. На это указывает тег {{code language="none"}}startupProbe{{/code}} | ||
104 | |||
105 | Поддержка проверки работоспособности, проверка готовности и проверка запуска включают в себя следующие конфигурации: | ||
106 | |||
107 | * [[HTTP-запрос>>https://wiki.dfcloud.ru/bin/view/%D0%9A%D0%BE%D0%BD%D1%82%D0%B5%D0%B9%D0%BD%D0%B5%D1%80%D0%BD%D0%B0%D1%8F%20%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0/Cloud%20Managed%20Kubernetes/2.%20%D0%98%D0%BD%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%86%D0%B8%D1%8F/01.%20%D0%98%D0%BD%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%86%D0%B8%D1%8F%20%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8F/L.%20%D0%A3%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5%20%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82%D0%BE%D0%BC/L02.%20%D0%A0%D0%B0%D0%B1%D0%BE%D1%87%D0%B8%D0%B5%20%D0%BD%D0%B0%D0%B3%D1%80%D1%83%D0%B7%D0%BA%D0%B8%20%D0%BF%D1%80%D0%B8%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D0%B9/L02.08.%20%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B8%20%D0%BF%D0%BE%D0%B4%D0%BE%D0%B2/#HHTTP43743043F44043E441]], | ||
108 | * [[Порт TCP>>https://wiki.dfcloud.ru/bin/view/%D0%9A%D0%BE%D0%BD%D1%82%D0%B5%D0%B9%D0%BD%D0%B5%D1%80%D0%BD%D0%B0%D1%8F%20%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0/Cloud%20Managed%20Kubernetes/2.%20%D0%98%D0%BD%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%86%D0%B8%D1%8F/01.%20%D0%98%D0%BD%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%86%D0%B8%D1%8F%20%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8F/L.%20%D0%A3%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5%20%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82%D0%BE%D0%BC/L02.%20%D0%A0%D0%B0%D0%B1%D0%BE%D1%87%D0%B8%D0%B5%20%D0%BD%D0%B0%D0%B3%D1%80%D1%83%D0%B7%D0%BA%D0%B8%20%D0%BF%D1%80%D0%B8%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D0%B9/L02.08.%20%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B8%20%D0%BF%D0%BE%D0%B4%D0%BE%D0%B2/#H41F43E440442TCP]], | ||
109 | * [[Команды>>https://wiki.dfcloud.ru/bin/view/%D0%9A%D0%BE%D0%BD%D1%82%D0%B5%D0%B9%D0%BD%D0%B5%D1%80%D0%BD%D0%B0%D1%8F%20%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0/Cloud%20Managed%20Kubernetes/2.%20%D0%98%D0%BD%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%86%D0%B8%D1%8F/01.%20%D0%98%D0%BD%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%86%D0%B8%D1%8F%20%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8F/L.%20%D0%A3%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5%20%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82%D0%BE%D0%BC/L02.%20%D0%A0%D0%B0%D0%B1%D0%BE%D1%87%D0%B8%D0%B5%20%D0%BD%D0%B0%D0%B3%D1%80%D1%83%D0%B7%D0%BA%D0%B8%20%D0%BF%D1%80%D0%B8%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D0%B9/L02.08.%20%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B8%20%D0%BF%D0%BE%D0%B4%D0%BE%D0%B2/#H41A43E43C43043D43444B]]. | ||
110 | |||
111 | ==== HTTP-запрос ==== | ||
112 | |||
113 | Выполните HTTP-запрос Get для указанного порта и пути по IP-адресу контейнера. Если код состояния ответа больше или равен 200 и меньше 400, диагностика считается успешной. Поддерживаемые параметры включают в себя: | ||
114 | |||
115 | (% class="table-bordered" style="width:1034px" %) | ||
116 | (% class="active" %)|(% style="width:191px" %)**Параметр**|(% style="width:838px" %)**Комментарий** | ||
117 | |(% style="width:191px" %)**Path** (Путь)|(% style="width:838px" %)((( | ||
118 | (% id="cke_bm_51246S" style="display:none" %) (%%)TTP или HTTPS, указанный {{code language="none"}}scheme{{/code}}. Путь доступа к HTTP-серверу, указанный {{code language="none"}}path{{/code}}. Порт доступа или имя порта раскрывается контейнером. Номер порта должен быть в диапазоне от 1 до 65535. Значение определяется портом. | ||
119 | ))) | ||
120 | |(% style="width:191px" %)**Initial Delay** (Начальная задержка в секундах)|(% style="width:838px" %)((( | ||
121 | (% id="cke_bm_56260S" style="display:none" %) (%%)Количество секунд после запуска контейнера до инициирования проверки работоспособности, указанное в {{code language="none"}}initialDelaySeconds{{/code}}. По умолчанию равно 0. | ||
122 | ))) | ||
123 | |(% style="width:191px" %)**Check Interval** (Частота проверки в секундах)|(% style="width:838px" %)((( | ||
124 | (% id="cke_bm_60486S" style="display:none" %) (%%)Указывается в параметре {{code language="none"}}periodSeconds{{/code}}. По умолчанию 10. Минимальное значение 1. | ||
125 | ))) | ||
126 | |(% style="width:191px" %)**Timeouts** (Тайм-аут в секундах)|(% style="width:838px" %)((( | ||
127 | Количество секунд, по истечении которых зонд истечет. Количество указывается параметром {{code language="none"}}timeoutSeconds{{/code}}. По умолчанию равно 1. Минимальное значение 1. | ||
128 | ))) | ||
129 | |(% style="width:191px" %)**Success Threshold** (Порог успеха)|(% style="width:838px" %)((( | ||
130 | Минимальное количество последовательных успешных попыток проверки, которое считается успешным после неудачи. Задается параметром {{code language="none"}}SuccessThreshold{{/code}}. По умолчанию равен 1. Параметр должен быть равен 1 для поддержки работоспобности и запуска. | ||
131 | ))) | ||
132 | |(% style="width:191px" %)**Failure Threshold **(Порог сбоя)|(% style="width:838px" %)((( | ||
133 | Минимальное количество последовательных сбоев, при которых зонд считается сбойным после успешного завершения. Задается параметром {{code language="none"}}failureThreshold{{/code}}. По умолчанию 3. Минимальное значение 1. | ||
134 | ))) | ||
135 | |||
136 | ==== Порт TCP ==== | ||
137 | |||
138 | Выполните проверку TCP на указанном порту на IP-адресе контейнера. Если порт открыт, проверка успешна. Поддерживаемые параметры включают в себя: | ||
139 | |||
140 | (% class="table-bordered" style="width:1038px" %) | ||
141 | (% class="active" %)|(% style="width:191px" %)**Параметр**|(% style="width:842px" %)**Комментарий** | ||
142 | |(% style="width:191px" %)**Порт**|(% style="width:842px" %)((( | ||
143 | Порт доступа или имя порта предоставляется контейнером. Определяемый портом номер должен быть в диапазоне от 1 до 65535. | ||
144 | ))) | ||
145 | |(% style="width:191px" %)**Initial Delay** (Начальная задержка в секундах)|(% style="width:842px" %)((( | ||
146 | Количество секунд после запуска контейнера до инициирования проверки работоспособности, указанное в {{code language="none"}}initialDelaySeconds{{/code}}. По умолчанию равен 0. | ||
147 | ))) | ||
148 | |(% style="width:191px" %)**Check Interval** (Частота проверки в секундах)|(% style="width:842px" %)((( | ||
149 | Частота указывается в параметре {{code language="none"}}periodSeconds{{/code}}. По умолчанию 10. Минимальное значение 1. | ||
150 | ))) | ||
151 | |(% style="width:191px" %)**Timeouts** (Тайм-аут в секундах)|(% style="width:842px" %)((( | ||
152 | Количество секунд, по истечении которых зонд истечет. Количество указывается параметром {{code language="none"}}timeoutSeconds{{/code}}. По умолчанию равен 1. Минимальное значение 1. | ||
153 | ))) | ||
154 | |(% style="width:191px" %)**Success Threshold** (Порог успеха)|(% style="width:842px" %)((( | ||
155 | Минимальное количество последовательных успешных попыток проверки, которое считается успешным после неудачи. Задается параметром {{code language="none"}}SuccessThreshold{{/code}}. По умолчанию равен 1 и должен быть равен 1 для поддержки работоспобности и запуска. | ||
156 | ))) | ||
157 | |(% style="width:191px" %)**Failure Threshold **(Порог сбоя)|(% style="width:842px" %)((( | ||
158 | Минимальное количество последовательных сбоев, при которых зонд считается сбойным после успешного завершения. Задается параметром {{code language="none"}}failureThreshold{{/code}}. По умолчанию равен 3. Минимальное значение 1. | ||
159 | ))) | ||
160 | |||
161 | (% style="color:inherit; font-family:inherit; font-size:20px" %)Команды | ||
162 | |||
163 | Выполняется [[команда>>https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes]] в контейнере. Если при ее завершении код возврата равен 0, проверка успешна. Поддерживаемые параметры включают в себя: | ||
164 | |||
165 | (% class="table-bordered" style="width:1040px" %) | ||
166 | (% class="active" %)|(% style="width:191px" %)**Параметр**|(% style="width:845px" %)**Комментарий** | ||
167 | |(% style="width:191px" %)**Порт**|(% style="width:845px" %)((( | ||
168 | Команда обнаружения, используемая для определения работоспособности контейнера. Указывается в параметре {{code language="none"}}exec.command{{/code}}. | ||
169 | ))) | ||
170 | |(% style="width:191px" %)**Initial Delay** (Начальная задержка в секундах)|(% style="width:845px" %)((( | ||
171 | Количество секунд после запуска контейнера до инициирования проверки работоспособности, указанное в {{code language="none"}}initialDelaySeconds{{/code}}. По умолчанию равно 0. | ||
172 | ))) | ||
173 | |(% style="width:191px" %)**Check Interval** (Частота проверки в секундах)|(% style="width:845px" %)((( | ||
174 | Указывается в параметре {{code language="none"}}periodSeconds{{/code}}. По умолчанию равен 10. Минимальное значение 1. | ||
175 | ))) | ||
176 | |(% style="width:191px" %)**Timeouts** (Тайм-аут в секундах)|(% style="width:845px" %)((( | ||
177 | Количество указывается параметром {{code language="none"}}timeoutSeconds{{/code}}. По умолчанию равен 1. Минимальное значение 1. | ||
178 | ))) | ||
179 | |(% style="width:191px" %)**Success Threshold** (Порог успеха)|(% style="width:845px" %)((( | ||
180 | Минимальное количество последовательных успешных попыток проверки, которое считается успешным после неудачи. Задается параметром {{code language="none"}}SuccessThreshold{{/code}}. По умолчанию параметр равен 1 и должен быть равен 1 для поддержки работоспособности и запуска. Минимальное значение равно 1. | ||
181 | ))) | ||
182 | |(% style="width:191px" %)**Failure Threshold **(Порог сбоя)|(% style="width:845px" %)((( | ||
183 | Минимальное количество последовательных сбоев, при которых зонд считается сбойным после успешного завершения. Задается параметром {{code language="none"}}failureThreshold{{/code}}. По умолчанию 3. Минимальное значение 1. | ||
184 | ))) | ||
185 | |||
186 | === Команда запуска === | ||
187 | |||
188 | По умолчанию контейнер [[запускает команду>>https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/]] изображения: | ||
189 | |||
190 | * Команда относится к полю {{code language="none"}}command{{/code}} контейнеров в файле манифеста. | ||
191 | * Параметры относятся к полю {{code language="none"}}args{{/code}} контейнеров в файле манифеста. | ||
192 | |||
193 | === Переменные среды === | ||
194 | |||
195 | Настройте переменные среды для подов в виде пар ключ-значение. | ||
196 | |||
197 | * **name**: Имя переменной окружения. Задается {{code language="none"}}env.name{{/code}}. | ||
198 | * **value**: значение переменной, на которую ссылаются. Задается {{code language="none"}}env.value{{/code}}. | ||
199 | |||
200 | Нажмите **From configmap** или **From secret**, чтобы использовать существующий [[**ConfigMap**>>https://wiki.dfcloud.ru/bin/view/%D0%9A%D0%BE%D0%BD%D1%82%D0%B5%D0%B9%D0%BD%D0%B5%D1%80%D0%BD%D0%B0%D1%8F%20%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0/Cloud%20Managed%20Kubernetes/2.%20%D0%98%D0%BD%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%86%D0%B8%D1%8F/01.%20%D0%98%D0%BD%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%86%D0%B8%D1%8F%20%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8F/L.%20%D0%A3%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5%20%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82%D0%BE%D0%BC/L04.%20%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0%20%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82%D0%B0/L04.03.%20%D0%9A%D0%B0%D1%80%D1%82%D1%8B%20%D0%BA%D0%BE%D0%BD%D1%84%D0%B8%D0%B3%D1%83%D1%80%D0%B0%D1%86%D0%B8%D0%B8/]] или [[секретную переменную>>https://wiki.dfcloud.ru/bin/view/%D0%9A%D0%BE%D0%BD%D1%82%D0%B5%D0%B9%D0%BD%D0%B5%D1%80%D0%BD%D0%B0%D1%8F%20%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0/Cloud%20Managed%20Kubernetes/2.%20%D0%98%D0%BD%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%86%D0%B8%D1%8F/01.%20%D0%98%D0%BD%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%86%D0%B8%D1%8F%20%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8F/L.%20%D0%A3%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5%20%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82%D0%BE%D0%BC/L04.%20%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0%20%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82%D0%B0/L04.01.%20%D0%A1%D0%B5%D0%BA%D1%80%D0%B5%D1%82%D0%BD%D1%8B%D0%B5%20%D0%BF%D0%B5%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D0%BD%D1%8B%D0%B5/]]. | ||
201 | |||
202 | === Среда безопасности контейнера === | ||
203 | |||
204 | Среда безопасности определяет [[привилегии и параметры управления доступом>>https://kubernetes.io/docs/concepts/security/pod-security-policy/]] для пода или контейнера. | ||
205 | |||
206 | === Синхронизация часового пояса хоста === | ||
207 | |||
208 | Часовой пояс контейнера должен соответствовать часовому поясу [[хоста>>https://wiki.dfcloud.ru/bin/view/Glossary/%D0%A5%D0%BE%D1%81%D1%82]] после синхронизации. | ||
209 | |||
210 | = Обновление стратегии = | ||
211 | |||
212 | ---- | ||
213 | |||
214 | == Обновление пода == | ||
215 | |||
216 | Стратегии обновления различаются для разных рабочих нагрузок. | ||
217 | |||
218 | === Развертывание приложений === | ||
219 | |||
220 | Поле {{code language="none"}}.spec.strategy{{/code}} указывает стратегию, используемую для замены старых подов новыми. {{code language="none"}}.spec.strategy.type{{/code}} может быть **Recreate** или **Rolling Update**. {{code language="none"}}Rolling Update{{/code}} — значение по умолчанию. | ||
221 | |||
222 | * **Rolling Update **(рекомендованное значение для выбора). Последовательное обновление означает, что экземпляры старой версии постепенно заменяются новыми. В процессе обновления трафик балансируется по нагрузке и распределяется между старым и новым экземплярами одновременно, поэтому работа сервиса не прерывается. | ||
223 | * **Simultaneous Update**. Все существующие поды удаляются до создания новых. | ||
224 | |||
225 | {{warning}} | ||
226 | Во время процесса [[обновления>>https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#strategy]] работа сервиса прерывается. | ||
227 | {{/warning}} | ||
228 | |||
229 | === Набор состояния === | ||
230 | |||
231 | Раскрывающееся меню в разделе **Update Strategy** обозначается полем {{code language="none"}}.spec.updateStrategy{{/code}} в файле манифеста. Поле позволяет обрабатывать обновления контейнеров подов, тегов, запросов ресурсов или ограничений, аннотаций. Предусмотрены две стратегии: | ||
232 | |||
233 | * **Rolling Update **(рекомендованная). Если {{code language="none"}}.spec.template{{/code}} обновлен, поды в StatefulSet будут автоматически удалены, а новые поды будут созданы в качестве замены. Поды обновляются в обратном порядке, последовательно удаляются и создаются. Новое обновление пода не начнется, пока предыдущий не заработает после его обновления | ||
234 | * **Update on Deletion**. Если {{code language="none"}}.spec.template{{/code}} обновлен, поды в StatefulSet не будут обновляться автоматически. Необходимо вручную удалить старые поды, чтобы контроллер мог создавать новые | ||
235 | |||
236 | Более подробно в [[статье>>https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#update-strategies]]. | ||
237 | |||
238 | === Набор даемона === | ||
239 | |||
240 | Раскрывающееся меню в разделе **Update Strategy **обозначается полем {{code language="none"}}.spec.updateStrategy{{/code}} набора [[даемонов>>https://wiki.dfcloud.ru/bin/view/Glossary/%D0%94%D0%B5%D0%BC%D0%BE%D0%BD]] файла манифеста. Набор позволяет обрабатывать [[обновления контейнеров>>https://kubernetes.io/docs/tasks/manage-daemon/update-daemon-set/#daemonset-update-strategy]] подов, тегов, запросов ресурсов или ограничений, аннотаций. Предусмотрены две стратегии: | ||
241 | |||
242 | * **Rolling Update **(рекомендованная). Если {{code language="none"}}.spec.template{{/code}} обновлен, старые поды набора даемонов удаляются, а новые создаются автоматически. В течение всего процесса обновления на каждой ноде работает не более одного пода набора даемонов. | ||
243 | * **Update on Deletion**. Если {{code language="none"}}.spec.template{{/code}} обновлен, новые поды набора даемонов создаются только при ручном удалении старых. | ||
244 | |||
245 | == Параметры непрерывного обновления == | ||
246 | |||
247 | === Развертывание приложений === | ||
248 | |||
249 | Параметры непрерывного обновления в развертывании отличаются от параметров набора состояния. | ||
250 | |||
251 | * **Maximum Unavailable Pods**. Максимальное количество подов, которые могут быть недоступны во время обновления. Задается параметром {{code language="none"}}maxUnreachable{{/code}}. Значение по умолчанию — 25% | ||
252 | * **Maximum Extra Pods**. Максимальное количество подов, которое можно запланировать сверх желаемого количества. Задается параметром {{code language="none"}}maxSurge{{/code}}. Значение по умолчанию — 25% | ||
253 | |||
254 | === Набор состояния === | ||
255 | |||
256 | **Ordinal for Dividing Pod Replicas**: когда вы разделяете обновление, все поды с порядковым номером, большим или равным установленным в разделе значением, обновляются при обновлении спецификации пода StatefulSet. Это поле определяется параметром {{code language="none"}}.spec.updateStrategy.rollingUpdate.partition{{/code}}. Значение параметра по умолчанию равно 0. | ||
257 | |||
258 | Более подробно в [[статье>>https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#partitions]]. | ||
259 | |||
260 | === Набор даемона === | ||
261 | |||
262 | Параметры последовательного обновления в наборе даемона отличаются от набора состояния. | ||
263 | |||
264 | * **Maximum Unavailable Pods**: максимальное количество подов, которые могут быть недоступны во время обновления. Задается параметром {{code language="none"}}maxUnreachable{{/code}}. Значение по умолчанию — 20%. | ||
265 | * **Minimum Running Time for Pod Readiness**: минимальное количество секунд, прежде чем вновь созданный под DaemonSet будет считаться доступным. Задается параметром {{code language="none"}}minReadySeconds{{/code}}. Значение по умолчанию — 0. | ||
266 | |||
267 | == Среда безопасности пода == | ||
268 | |||
269 | Среда безопасности пода определяет [[привилегии и параметры управления доступом>>https://kubernetes.io/docs/concepts/security/pod-security-policy/]] для пода или контейнера. | ||
270 | |||
271 | == Правила планирования пода == | ||
272 | |||
273 | При необходимости выберите режимы развертывания, чтобы переключаться между [[соответствием и анти-соответствием>>https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity]] между подами. Привязка между подами указывается как поле {{code language="none"}}podAffinity{{/code}} поля {{code language="none"}}affinity{{/code}}, а антипривязка между блоками — как поле {{code language="none"}}podAntiAffinity{{/code}}. Для {{code language="none"}}podAffinity{{/code}} и {{code language="none"}}podAntiAffinity{{/code}} задано значение {{code language="none"}}selectedDuringSchedulingIgnoredDuringExecution{{/code}}. При необходимости нажмите кнопку **Edit YAML** в правом верхнем углу, чтобы увидеть детали поля. | ||
274 | |||
275 | * **Децентрализованное планирование** — правила раздельного существования между подами (affinity-правила). | ||
276 | * **Централизованное планирование** — правила совместного существования между подами. | ||
277 | * **Пользовательские правила** — пользовательские правила планирования. | ||
278 | |||
279 | **[[В начало>>doc:Контейнерная разработка.Cloud Managed Kubernetes.WebHome]] **🡱 | ||
280 | **[[К следующему разделу>>doc:Контейнерная разработка.Cloud Managed Kubernetes.2\. Инструкция.01\. Инструкция пользователя.L\. Управление проектом.L02\. Рабочие нагрузки приложений.L02\.09\. Горизонтальное автомасштабирование подов.WebHome]] 🡲** | ||
281 | **[[К предыдущему разделу>>doc:Контейнерная разработка.Cloud Managed Kubernetes.2\. Инструкция.01\. Инструкция пользователя.L\. Управление проектом.L02\. Рабочие нагрузки приложений.L02\.07\. Routes.WebHome]] **🡰 |