Запустіть цю команду на будь-якому компʼютері, який ви хочете приєднати до існуючого кластера
Опис
Під час приєднання до ініціалізованого кластера за допомогою kubeadm, необхідно встановити двосторонню довіру. Цей процес розділяється на два етапи: виявлення (щоб Node довіряв Панелі Управління Kubernetes) та TLS завантаження (щоб Панель управління Kubernetes довіряла Node).
Існує дві основні схеми для виявлення. Перша — використовувати спільний токен разом з IP-адресою сервера API. Друга — надати файл, який є підмножиною стандартного файлу kubeconfig. Файл discovery/kubeconfig підтримує токен, втулки автентифікації client-go ("exec"), "tokenFile" та "authProvider". Цей файл може бути локальним або завантаженим через URL HTTPS. Форми приєднання є:
kubeadm join --discovery-token abcdef.1234567890abcdef 1.2.3.4:6443
kubeadm join --discovery-file path/to/file.conf
kubeadm join --discovery-file https://url/file.conf
Можна використовувати лише одну форму. Якщо інформація для виявлення завантажується з URL, обовʼязково використовувати HTTPS. У цьому випадку для перевірки зʼєднання використовується встановлений на хості набір сертифікатів CA.
Якщо ви використовуєте спільний токен для виявлення, слід також передати прапорець --discovery-token-ca-cert-hash для перевірки публічного ключа кореневого центру сертифікації (CA), який представлений Панеллю Управління Kubernetes. Значення цього прапорця визначається як "<тип-хешу>:<шестнадцяткове-кодоване-значення>", де підтримуваний тип хешу — "sha256". Хеш обчислюється по байтах обʼєкта Subject Public Key Info (SPKI) (як в RFC7469). Це значення доступне у вихідних даних "kubeadm init" або може бути обчислене за допомогою стандартних інструментів. Прапорець --discovery-token-ca-cert-hash може бути повторений кілька разів, щоб дозволити використання більше одного публічного ключа.
Якщо ви не можете знати хеш публічного ключа CA заздалегідь, ви можете передати прапорець --discovery-token-unsafe-skip-ca-verification для вимкнення цієї перевірки. Це послаблює модель безпеки kubeadm, оскільки інші вузли можуть потенційно видавати себе за Панель Управління Kubernetes.
Механізм TLS завантаження також керується через спільний токен. Це використовується для тимчасової автентифікації в Панелі Управління Kubernetes для подання запиту на підписання сертифіката (CSR) для локально створеної пари ключів. Типово, kubeadm налаштує Панель Управління Kubernetes автоматично схвалювати ці запити на підписання. Цей токен передається за допомогою прапорця --tls-bootstrap-token abcdef.1234567890abcdef.
Часто той самий токен використовується для обох частин. У цьому випадку прапорець --token можна використовувати замість окремого зазначення кожного токена.
Команда "join [api-server-endpoint]" виконує наступні фази:
preflight Виконати передстартові перевірки для приєднання
control-plane-prepare Підготувати машину для обслуговування панелі управління
/download-certs Завантажити сертифікати, спільні для вузлів панелі управління, з Secret kubeadm-certs
/certs Створити сертифікати для нових компонентів панелі управління
/kubeconfig Створити kubeconfig для нових компонентів панелі управління
/control-plane Створити маніфести для нових компонентів панелі управління
kubelet-start Записати налаштування kubelet, сертифікати та (перезавантажити) kubelet
control-plane-join Приєднати машину як екземпляр панелі управління
/etcd Додати нового локального члена etcd
/mark-control-plane Позначити вузол як панель управління
wait-control-plane Експериментально: чекати запуску панелі управління
kubeadm join [api-server-endpoint] [flags]
Параметри
--apiserver-advertise-address string | |
Якщо вузол має хостити новий екземпляр панелі управління, IP-адреса, яку сервер API буде оголошувати як ту, на якій він слухає. Якщо не встановлено, буде використовуватися стандартний інтерфейс. | |
--apiserver-bind-port int32 Стандартно: 6443 | |
Якщо вузол має хостити новий екземпляр панелі управління, порт, до якого буде привʼязаний сервер API. | |
--certificate-key string | |
Використовуйте цей ключ для розшифрування секретів сертифікатів, завантажених за допомогою init. Ключ сертифіката — це шестнадцятковий закодований рядок, який є AES ключем розміром 32 байти. | |
--config string | |
Шлях до файлу конфігурації kubeadm. | |
--control-plane | |
Створити новий екземпляр панелі управління на цьому вузлі | |
--cri-socket string | |
Шлях до CRI сокета для підключення. Якщо не встановлено, kubeadm спробує автоматично визначити це значення; використовуйте цей параметр, лише якщо у вас встановлено більше одного CRI або якщо у вас нестандартний CRI сокет. | |
--discovery-file string | |
Для виявлення на основі файлу, файл або URL, з якого буде завантажена інформація про кластер. | |
--discovery-token string | |
Для виявлення на основі токена, токен, який використовується для перевірки інформації про кластер, отриманої з сервера API. | |
--discovery-token-ca-cert-hash strings | |
Для виявлення на основі токена, перевірити, що публічний ключ кореневого центру сертифікації відповідає цьому хешу (формат: "<тип>:<значення>"). | |
--discovery-token-unsafe-skip-ca-verification | |
Для виявлення на основі токена, дозволити приєднання без закріплення --discovery-token-ca-cert-hash. | |
--dry-run | |
Не застосовувати жодних змін; просто вивести, що буде зроблено. | |
-h, --help | |
Довідка join | |
--ignore-preflight-errors strings | |
Список перевірок, помилки яких будуть показані як попередження. Приклад: 'IsPrivilegedUser,Swap'. Значення 'all' ігнорує помилки від усіх перевірок. | |
--node-name string | |
Вказати імʼя вузла. | |
--patches string | |
Шлях до теки, що містить файли з назвами "target[suffix][+patchtype].extension". Наприклад, "kube-apiserver0+merge.yaml" або просто "etcd.json". "target" може бути одним з "kube-apiserver", "kube-controller-manager", "kube-scheduler", "etcd", "kubeletconfiguration", "corednsdeployment". "patchtype" може бути одним з "strategic", "merge" або "json" і відповідають форматам патчів, підтримуваних kubectl. Типовий "patchtype" — "strategic". "extension" має бути або "json", або "yaml". "suffix" — це необовʼязковий рядок, який можна використовувати для визначення, які патчі застосовуються першими в алфавітно-числовому порядку. | |
--skip-phases strings | |
Список фаз, які потрібно пропустити | |
--tls-bootstrap-token string | |
Вкажіть токен, який використовується для тимчасової автентифікації з Панеллю Управління Kubernetes під час приєднання вузла. | |
--token string | |
Використовуйте цей токен для discovery-token та tls-bootstrap-token, коли ці значення не вказані окремо. |
Параметри успадковані від батьківських команд
--rootfs string | |
Шлях до реальної кореневої файлової системи хоста. Це призведе до зміни корення (chroot) kubeadm на вказаних шлях |
Змінено August 23, 2024 at 11:13 AM PST: Update Ukrainian translations (6a47df6a70)