chore: rewrite, add longhorn

This commit is contained in:
2026-08-04 22:34:32 +03:00
parent 04fe026b82
commit 4d783b2305
20 changed files with 258 additions and 61 deletions
+44 -12
View File
@@ -54,6 +54,9 @@ customization:
- `siderolabs/qemu-guest-agent` - гостевой агент для виртуальных машин, запущенных в среде QEMU/KVM (тестовый кластер разворачивается в Proxmox VE) - `siderolabs/qemu-guest-agent` - гостевой агент для виртуальных машин, запущенных в среде QEMU/KVM (тестовый кластер разворачивается в Proxmox VE)
- `siderolabs/util-linux-tools` - набор низкоуровневых утилит Linux, нужен для диагностики и для некоторых CSI драйверов - `siderolabs/util-linux-tools` - набор низкоуровневых утилит Linux, нужен для диагностики и для некоторых CSI драйверов
##### Дополнительные аргументы ядра:
- `net.ifnames=0` - отключает predictable naming сетевых интерфейсов (имена вида `enp6s18`), интерфейсы получают классические имена `eth0`, `eth1` и т.д.
## Отправка schematic.yaml в сторону Image Factory, получение ID образа и скачивание образа ## Отправка schematic.yaml в сторону Image Factory, получение ID образа и скачивание образа
#### Следующая команда отправляет файл в сторону Image Factory: #### Следующая команда отправляет файл в сторону Image Factory:
`curl -X POST --data-binary @schematics/schematic.yaml https://factory.talos.dev/schematics` `curl -X POST --data-binary @schematics/schematic.yaml https://factory.talos.dev/schematics`
@@ -64,15 +67,15 @@ customization:
##### В ответ прилетит JSON с ID образа и информацией об установленных расширениях: ##### В ответ прилетит JSON с ID образа и информацией об установленных расширениях:
```json ```json
{ {
"id": "c0ad57b8eb60094dd2ebed394ae5e9dfb279c7661d6c1de5944ede4c16cbfc9d", "id": "e142ceb080fb243141b5b6891cfcf0c60bc9430d69be0adf803999d2b62dc885",
"schematic": "customization:\n extraKernelArgs:\n - net.ifnames=0\n systemExtensions:\n officialExtensions:\n - siderolabs/iscsi-tools\n - siderolabs/nfs-utils\n - siderolabs/qemu-guest-agent\n - siderolabs/util-linux-tools\n" "schematic": "customization:\n extraKernelArgs:\n - net.ifnames=0\n systemExtensions:\n officialExtensions:\n - siderolabs/iscsi-tools\n - siderolabs/nfs-utils\n - siderolabs/qemu-guest-agent\n - siderolabs/util-linux-tools\n"
} }
``` ```
##### Скачать образ можно командой: ##### Скачать образ можно командой:
`curl -L -o images/metal-amd64.iso "https://factory.talos.dev/image/c0ad57b8eb60094dd2ebed394ae5e9dfb279c7661d6c1de5944ede4c16cbfc9d/v1.13.7/metal-amd64.iso"` `curl -L -o images/metal-amd64.iso "https://factory.talos.dev/image/e142ceb080fb243141b5b6891cfcf0c60bc9430d69be0adf803999d2b62dc885/v1.13.7/metal-amd64.iso"`
- `c0ad57b8eb60094dd2ebed394ae5e9dfb279c7661d6c1de5944ede4c16cbfc9d` - ID, полученный в ответе ранее - `e142ceb080fb243141b5b6891cfcf0c60bc9430d69be0adf803999d2b62dc885` - ID, полученный в ответе ранее
- `metal-amd64.iso` - образ для bare metal и виртуальных машин без поддержки cloud-init - `metal-amd64.iso` - образ для bare metal и виртуальных машин без поддержки cloud-init
## Подготовка виртуальных машин ## Подготовка виртуальных машин
@@ -145,7 +148,7 @@ Created test-cluster/talosconfig
machine: machine:
install: install:
disk: /dev/sda disk: /dev/sda
image: factory.talos.dev/installer/c0ad57b8eb60094dd2ebed394ae5e9dfb279c7661d6c1de5944ede4c16cbfc9d:v1.13.7 image: factory.talos.dev/installer/e142ceb080fb243141b5b6891cfcf0c60bc9430d69be0adf803999d2b62dc885:v1.13.7
``` ```
#### Патч указывает на образ, который будет установлен на диск `/dev/sda` #### Патч указывает на образ, который будет установлен на диск `/dev/sda`
@@ -157,7 +160,7 @@ machine:
kubespan: kubespan:
enabled: true enabled: true
mtu: 1420 mtu: 1420
advertiseKubernetesNetworks: true advertiseKubernetesNetworks: false
cluster: cluster:
discovery: discovery:
enabled: true enabled: true
@@ -170,6 +173,9 @@ cluster:
- #### patch-worker-with-disk.yaml - #### patch-worker-with-disk.yaml
```yaml ```yaml
machine: machine:
kernel:
modules:
- name: iscsi_tcp
disks: disks:
- device: /dev/sdb - device: /dev/sdb
partitions: partitions:
@@ -187,7 +193,7 @@ machine:
kubespan: kubespan:
enabled: true enabled: true
mtu: 1420 mtu: 1420
advertiseKubernetesNetworks: true advertiseKubernetesNetworks: false
cluster: cluster:
discovery: discovery:
enabled: true enabled: true
@@ -204,7 +210,7 @@ machine:
kubespan: kubespan:
enabled: true enabled: true
mtu: 1420 mtu: 1420
advertiseKubernetesNetworks: true advertiseKubernetesNetworks: false
cluster: cluster:
discovery: discovery:
enabled: true enabled: true
@@ -217,15 +223,17 @@ cluster:
#### В патчах для мастер- и воркер-нод заданы настройки для: #### В патчах для мастер- и воркер-нод заданы настройки для:
- Kubespan - настройка wireguard mesh сети между узлами кластера - Kubespan - настройка wireguard mesh сети между узлами кластера
- Отключение kube-proxy и установки дефолтного CNI (Flannel) - Отключение kube-proxy и установки дефолтного CNI (Flannel)
- Для нод с доп диском дополнительно загружается модуль ядра `iscsi_tcp` - он нужен Longhorn для подключения томов по iSCSI
- Для нод с доп диском описано монтирование доп диска и проброс его в контейнер kubelet для корректной работы - Для нод с доп диском описано монтирование доп диска и проброс его в контейнер kubelet для корректной работы
- Точка монтирования `/var/lib/longhorn` подготовлена под будущую установку Longhorn CSI; сама установка и настройка Longhorn в этом документе не описывается - Точка монтирования `/var/lib/longhorn` подготовлена под будущую установку Longhorn CSI; установка и настройка Longhorn описаны в отдельном документе - [README_LONGHORN.md](README_LONGHORN.md)
### Патч для настроек сети - в качестве примера показан только для одного из мастеров, по аналогии такие патчи сделаны для всех узлов ### Патч для настроек сети - в качестве примера показан только для одного из мастеров, по аналогии такие патчи сделаны для всех узлов
```yaml ```yaml
machine: machine:
network: network:
interfaces: interfaces:
- interface: eth0 - deviceSelector:
hardwareAddr: "bc:24:11:80:a1:9b"
addresses: addresses:
- 10.255.200.201/24 - 10.255.200.201/24
routes: routes:
@@ -235,6 +243,18 @@ machine:
nameservers: nameservers:
- 9.9.9.9 - 9.9.9.9
``` ```
Интерфейс выбирается через `deviceSelector` по MAC-адресу (`hardwareAddr`), а не по имени (`eth0`) - привязка к MAC не зависит от порядка обнаружения интерфейсов и не сломается при добавлении/замене сетевых карт. MAC-адрес каждой виртуальной машины можно посмотреть в настройках сетевого устройства в Proxmox VE.
##### Получение MAC-адреса через talosctl:
Пока узел работает в maintenance mode, MAC-адреса его интерфейсов можно узнать напрямую через API Talos (столбец `HW ADDR` в выводе):
```sh
talosctl get links -n 10.255.200.201 --insecure
```
На уже настроенном узле команда та же, но без `--insecure` и с указанием эндпоинта:
```sh
talosctl get links -n 10.255.200.201 -e 10.255.200.201
```
Вывод содержит все интерфейсы, включая служебные (`lo`, `kubespan`, `siderolink` и т.д.) - нужен физический интерфейс типа `ether` (обычно `eth0`).
## Применение конфигурации к узлам кластера ## Применение конфигурации к узлам кластера
#### Экспорт переменной TALOSCONFIG для работы с talosctl: #### Экспорт переменной TALOSCONFIG для работы с talosctl:
@@ -275,8 +295,8 @@ export KUBECONFIG=$(pwd)/kubeconfig
ipam: ipam:
mode: kubernetes mode: kubernetes
routingMode: native routingMode: tunnel
ipv4NativeRoutingCIDR: 10.244.0.0/16 tunnelProtocol: vxlan
autoDirectNodeRoutes: false autoDirectNodeRoutes: false
kubeProxyReplacement: true kubeProxyReplacement: true
@@ -317,8 +337,13 @@ hubble:
ui: ui:
enabled: true enabled: true
MTU: 1420 MTU: 1370
``` ```
##### Ключевые моменты конфигурации:
- `routingMode: tunnel` + `tunnelProtocol: vxlan` - трафик между подами инкапсулируется в VXLAN
- `kubeProxyReplacement: true` с `k8sServiceHost: localhost` и `k8sServicePort: 7445` - cilium заменяет kube-proxy (он отключен в патчах) и обращается к kube-apiserver через локальный KubePrism-балансировщик Talos на порту 7445
- `cgroup.autoMount.enabled: false` - Talos уже монтирует cgroup fs, повторное монтирование не требуется
- `MTU: 1370` - MTU Kubespan (1420) минус накладные расходы VXLAN-инкапсуляции (50 байт)
#### Подключение репозитория helm для cilium и установка CNI: #### Подключение репозитория helm для cilium и установка CNI:
```sh ```sh
@@ -332,6 +357,13 @@ helm install cilium cilium/cilium --version 1.19.6 --namespace kube-system -f ci
kubectl get node kubectl get node
``` ```
#### Доступ к Hubble UI:
В `cilium-values.yaml` включены Hubble, Hubble Relay и Hubble UI (`hubble.enabled`, `hubble.relay.enabled`, `hubble.ui.enabled`) - web-интерфейс для наблюдения за сетевыми потоками между подами. Наружу UI не опубликован; для доступа можно пробросить порт:
```sh
kubectl -n kube-system port-forward svc/hubble-ui 12000:80
```
После этого UI доступен на `http://localhost:12000` - в нём видна карта сервисов и сетевые потоки в реальном времени с вердиктами (forwarded/dropped).
## Сброс кластера ## Сброс кластера
##### Внимание: операция необратима и стирает данные на диске узла, включая установленную ОС и все данные приложений (в т.ч. на дисках под Longhorn). ##### Внимание: операция необратима и стирает данные на диске узла, включая установленную ОС и все данные приложений (в т.ч. на дисках под Longhorn).
+137
View File
@@ -0,0 +1,137 @@
# Оглавление
- [Установка Longhorn](#установка-longhorn)
- [Предварительные требования](#предварительные-требования)
- [Создание namespace и настройка Pod Security](#создание-namespace-и-настройка-pod-security)
- [Разметка узлов хранения](#разметка-узлов-хранения)
- [Конфигурация longhorn-values.yaml](#конфигурация-longhorn-valuesyaml)
- [Установка через helm](#установка-через-helm)
- [Проверка установки](#проверка-установки)
- [Доступ к UI](#доступ-к-ui)
# Установка Longhorn
Longhorn - распределённое блочное хранилище для Kubernetes: тома реплицируются между узлами кластера, подключаются к подам по iSCSI и переживают отказ отдельного узла (при количестве реплик > 1).
## Предварительные требования
Всё необходимое на уровне ОС уже подготовлено на этапе разворота кластера (см. основной [README](README.md)):
- В образ Talos встроены расширения `siderolabs/iscsi-tools` и `siderolabs/util-linux-tools`
- На воркерах с дополнительным диском (`patch-worker-with-disk.yaml`):
- загружен модуль ядра `iscsi_tcp`
- дополнительный диск `/dev/sdb` смонтирован в `/var/lib/longhorn`
- точка монтирования проброшена в контейнер kubelet (bind mount с `rshared`)
##### Про пути в командах:
Как и в основном README, команды выполняются из директории `examples/` - там лежит `longhorn-values.yaml`.
## Создание namespace и настройка Pod Security
Talos по умолчанию включает Pod Security Admission с профилем `baseline` для всех namespace. Компонентам Longhorn нужны привилегированные поды (доступ к хост-устройствам, монтирование, iSCSI), поэтому namespace нужно создать заранее и явно перевести на профиль `privileged` - иначе admission-контроллер заблокирует запуск подов.
#### Создание namespace:
```sh
kubectl create namespace longhorn-system
```
#### Привязка привилегированного профиля Pod Security:
```sh
kubectl label namespace longhorn-system \
pod-security.kubernetes.io/enforce=privileged \
pod-security.kubernetes.io/enforce-version=latest \
pod-security.kubernetes.io/audit=privileged \
pod-security.kubernetes.io/warn=privileged
```
- `enforce=privileged` - разрешает запуск привилегированных подов в namespace (без этого поды будут отклонены)
- `enforce-version=latest` - использовать актуальную версию политики
- `audit=privileged` и `warn=privileged` - отключают предупреждения и записи аудита для привилегированных подов в этом namespace
## Разметка узлов хранения
В `longhorn-values.yaml` все компоненты Longhorn привязаны к узлам с label `role: storage`, а настройка `createDefaultDiskLabeledNodes: true` дополнительно требует label `node.longhorn.io/create-default-disk=true` - диск под данные будет создан только на узлах с этим label.
#### Посмотреть список узлов:
```sh
kubectl get nodes
```
#### Навесить label на воркеры с дополнительным диском (в тестовом кластере это `10.255.200.204`-`10.255.200.206`):
```sh
kubectl label node <имя-узла> role=storage
kubectl label node <имя-узла> node.longhorn.io/create-default-disk=true
```
Команды нужно выполнить для каждого из трёх воркеров с дополнительным диском.
Такая разметка гарантирует, что данные Longhorn окажутся только на узлах с подготовленным диском `/var/lib/longhorn`, а не на всех воркерах подряд.
## Конфигурация longhorn-values.yaml
```yaml
defaultSettings:
defaultReplicaCount: 2
createDefaultDiskLabeledNodes: true
defaultDataPath: /var/lib/longhorn
csi:
attacherReplicaCount: 2
nodeSelector:
role: storage
persistence:
defaultClass: true
defaultClassReplicaCount: 2
global:
nodeSelector:
role: storage
longhornUI:
nodeSelector:
role: storage
```
##### Ключевые моменты конфигурации:
- `defaultReplicaCount: 2` - каждый том хранится в двух репликах на разных узлах; при трёх узлах хранения кластер переживает отказ одного из них
- `createDefaultDiskLabeledNodes: true` - диск под данные создаётся только на узлах с label `node.longhorn.io/create-default-disk=true` (см. раздел выше)
- `defaultDataPath: /var/lib/longhorn` - путь к данным, совпадает с точкой монтирования дополнительного диска из `patch-worker-with-disk.yaml`
- `persistence.defaultClass: true` - StorageClass `longhorn` становится классом по умолчанию: PVC без явного указания `storageClassName` будут создаваться в Longhorn
- `nodeSelector: role: storage``global`, `csi`, `longhornUI`) - компоненты Longhorn запускаются только на размеченных узлах хранения
## Установка через helm
#### Подключение репозитория helm и установка:
```sh
helm repo add longhorn https://charts.longhorn.io
helm repo update longhorn
helm install longhorn longhorn/longhorn --namespace longhorn-system -f longhorn-values.yaml
```
При необходимости зафиксировать версию чарта можно флагом `--version` (список версий: `helm search repo longhorn/longhorn --versions`).
## Проверка установки
#### Дождаться запуска всех подов:
```sh
kubectl -n longhorn-system get pods
```
Все поды должны перейти в статус `Running` (менеджеры, CSI-компоненты и engine-образы запускаются только на узлах с label `role: storage`).
#### Проверить, что StorageClass создан и назначен по умолчанию:
```sh
kubectl get storageclass
```
В выводе должен появиться `longhorn (default)`.
#### Проверить, что диски узлов подхвачены:
```sh
kubectl -n longhorn-system get nodes.longhorn.io
```
В выводе должны быть три узла хранения со статусом `Ready`.
## Доступ к UI
UI не опубликован наружу; для быстрого доступа можно пробросить порт:
```sh
kubectl -n longhorn-system port-forward svc/longhorn-frontend 8080:80
```
После этого UI доступен на `http://localhost:8080` - в нём видно узлы, диски, тома и статус реплик.
+3 -10
View File
@@ -1,22 +1,17 @@
ipam: ipam:
mode: kubernetes mode: kubernetes
routingMode: tunnel
routingMode: native tunnelProtocol: vxlan
ipv4NativeRoutingCIDR: 10.244.0.0/16
autoDirectNodeRoutes: false autoDirectNodeRoutes: false
kubeProxyReplacement: true kubeProxyReplacement: true
k8sServiceHost: localhost k8sServiceHost: localhost
k8sServicePort: 7445 k8sServicePort: 7445
bpf: bpf:
masquerade: true masquerade: true
cgroup: cgroup:
autoMount: autoMount:
enabled: false enabled: false
hostRoot: /sys/fs/cgroup hostRoot: /sys/fs/cgroup
securityContext: securityContext:
capabilities: capabilities:
ciliumAgent: ciliumAgent:
@@ -35,12 +30,10 @@ securityContext:
- NET_ADMIN - NET_ADMIN
- SYS_ADMIN - SYS_ADMIN
- SYS_RESOURCE - SYS_RESOURCE
hubble: hubble:
enabled: true enabled: true
relay: relay:
enabled: true enabled: true
ui: ui:
enabled: true enabled: true
MTU: 1370
MTU: 1420
+21
View File
@@ -0,0 +1,21 @@
defaultSettings:
defaultReplicaCount: 2
createDefaultDiskLabeledNodes: true
defaultDataPath: /var/lib/longhorn
csi:
attacherReplicaCount: 2
nodeSelector:
role: storage
persistence:
defaultClass: true
defaultClassReplicaCount: 2
global:
nodeSelector:
role: storage
longhornUI:
nodeSelector:
role: storage
+2 -2
View File
@@ -3,7 +3,7 @@ machine:
kubespan: kubespan:
enabled: true enabled: true
mtu: 1420 mtu: 1420
advertiseKubernetesNetworks: true advertiseKubernetesNetworks: false
cluster: cluster:
discovery: discovery:
enabled: true enabled: true
@@ -11,4 +11,4 @@ cluster:
cni: cni:
name: none name: none
proxy: proxy:
disabled: true disabled: true
+1 -1
View File
@@ -1,4 +1,4 @@
machine: machine:
install: install:
disk: /dev/sda disk: /dev/sda
image: factory.talos.dev/installer/c0ad57b8eb60094dd2ebed394ae5e9dfb279c7661d6c1de5944ede4c16cbfc9d:v1.13.7 image: factory.talos.dev/installer/e142ceb080fb243141b5b6891cfcf0c60bc9430d69be0adf803999d2b62dc885:v1.13.7
+2 -1
View File
@@ -1,7 +1,8 @@
machine: machine:
network: network:
interfaces: interfaces:
- interface: eth0 - deviceSelector:
hardwareAddr: "bc:24:11:80:a1:9b"
addresses: addresses:
- 10.255.200.201/24 - 10.255.200.201/24
routes: routes:
+3 -2
View File
@@ -1,7 +1,8 @@
machine: machine:
network: network:
interfaces: interfaces:
- interface: eth0 - deviceSelector:
hardwareAddr: "bc:24:11:32:49:f6"
addresses: addresses:
- 10.255.200.202/24 - 10.255.200.202/24
routes: routes:
@@ -9,4 +10,4 @@ machine:
gateway: 10.255.200.1 gateway: 10.255.200.1
dhcp: false dhcp: false
nameservers: nameservers:
- 9.9.9.9 - 9.9.9.9
+3 -2
View File
@@ -1,7 +1,8 @@
machine: machine:
network: network:
interfaces: interfaces:
- interface: eth0 - deviceSelector:
hardwareAddr: "bc:24:11:28:db:cb"
addresses: addresses:
- 10.255.200.203/24 - 10.255.200.203/24
routes: routes:
@@ -9,4 +10,4 @@ machine:
gateway: 10.255.200.1 gateway: 10.255.200.1
dhcp: false dhcp: false
nameservers: nameservers:
- 9.9.9.9 - 9.9.9.9
+3 -2
View File
@@ -1,7 +1,8 @@
machine: machine:
network: network:
interfaces: interfaces:
- interface: eth0 - deviceSelector:
hardwareAddr: "bc:24:11:b6:87:94"
addresses: addresses:
- 10.255.200.204/24 - 10.255.200.204/24
routes: routes:
@@ -9,4 +10,4 @@ machine:
gateway: 10.255.200.1 gateway: 10.255.200.1
dhcp: false dhcp: false
nameservers: nameservers:
- 9.9.9.9 - 9.9.9.9
+3 -2
View File
@@ -1,7 +1,8 @@
machine: machine:
network: network:
interfaces: interfaces:
- interface: eth0 - deviceSelector:
hardwareAddr: "bc:24:11:04:5b:b1"
addresses: addresses:
- 10.255.200.205/24 - 10.255.200.205/24
routes: routes:
@@ -9,4 +10,4 @@ machine:
gateway: 10.255.200.1 gateway: 10.255.200.1
dhcp: false dhcp: false
nameservers: nameservers:
- 9.9.9.9 - 9.9.9.9
+2 -1
View File
@@ -1,7 +1,8 @@
machine: machine:
network: network:
interfaces: interfaces:
- interface: eth0 - deviceSelector:
hardwareAddr: "bc:24:11:25:fd:7c"
addresses: addresses:
- 10.255.200.206/24 - 10.255.200.206/24
routes: routes:
+2 -1
View File
@@ -1,7 +1,8 @@
machine: machine:
network: network:
interfaces: interfaces:
- interface: eth0 - deviceSelector:
hardwareAddr: "bc:24:11:a9:8e:2c"
addresses: addresses:
- 10.255.200.207/24 - 10.255.200.207/24
routes: routes:
+2 -1
View File
@@ -1,7 +1,8 @@
machine: machine:
network: network:
interfaces: interfaces:
- interface: eth0 - deviceSelector:
hardwareAddr: "bc:24:11:e0:8b:34"
addresses: addresses:
- 10.255.200.208/24 - 10.255.200.208/24
routes: routes:
+2 -1
View File
@@ -1,7 +1,8 @@
machine: machine:
network: network:
interfaces: interfaces:
- interface: eth0 - deviceSelector:
hardwareAddr: "bc:24:11:3f:0d:75"
addresses: addresses:
- 10.255.200.209/24 - 10.255.200.209/24
routes: routes:
+5 -1
View File
@@ -1,4 +1,7 @@
machine: machine:
kernel:
modules:
- name: iscsi_tcp
disks: disks:
- device: /dev/sdb - device: /dev/sdb
partitions: partitions:
@@ -16,7 +19,8 @@ machine:
kubespan: kubespan:
enabled: true enabled: true
mtu: 1420 mtu: 1420
advertiseKubernetesNetworks: true advertiseKubernetesNetworks: false
cluster: cluster:
discovery: discovery:
enabled: true enabled: true
@@ -3,7 +3,7 @@ machine:
kubespan: kubespan:
enabled: true enabled: true
mtu: 1420 mtu: 1420
advertiseKubernetesNetworks: true advertiseKubernetesNetworks: false
cluster: cluster:
discovery: discovery:
enabled: true enabled: true
@@ -11,4 +11,4 @@ cluster:
cni: cni:
name: none name: none
proxy: proxy:
disabled: true disabled: true
+1
View File
@@ -4,5 +4,6 @@ customization:
- siderolabs/iscsi-tools - siderolabs/iscsi-tools
- siderolabs/nfs-utils - siderolabs/nfs-utils
- siderolabs/qemu-guest-agent - siderolabs/qemu-guest-agent
- siderolabs/util-linux-tools
extraKernelArgs: extraKernelArgs:
- net.ifnames=0 - net.ifnames=0
+14 -14
View File
@@ -4,11 +4,11 @@ persist: true
# Provides machine specific configuration options. # Provides machine specific configuration options.
machine: machine:
type: controlplane # Defines the role of the machine within the cluster. type: controlplane # Defines the role of the machine within the cluster.
token: omy7ai.8zly2x1qlygu3lhu # The `token` is used by a machine to join the PKI of the cluster. token: kilis4.v9eial4da8poghjv # The `token` is used by a machine to join the PKI of the cluster.
# The root certificate authority of the PKI. # The root certificate authority of the PKI.
ca: ca:
crt: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUJQakNCOGFBREFnRUNBaEIzVGhWTXpNM24wMmoxcWk1a3VyVzlNQVVHQXl0bGNEQVFNUTR3REFZRFZRUUsKRXdWMFlXeHZjekFlRncweU5qQTRNREl4TURFNU1EVmFGdzB6TmpBM016QXhNREU1TURWYU1CQXhEakFNQmdOVgpCQW9UQlhSaGJHOXpNQ293QlFZREsyVndBeUVBNWhBOTloYmUyWWJ0M2tnd0M2ODBSd3JOM3FzSlc3NFdheTFrCis2RWRDdFdqWVRCZk1BNEdBMVVkRHdFQi93UUVBd0lDaERBZEJnTlZIU1VFRmpBVUJnZ3JCZ0VGQlFjREFRWUkKS3dZQkJRVUhBd0l3RHdZRFZSMFRBUUgvQkFVd0F3RUIvekFkQmdOVkhRNEVGZ1FVSHF6dHdMNUdYOE13eVBBOApFTDVuUmRneHJzTXdCUVlESzJWd0EwRUE4WTVyVzdPdFJ3cFF5UGtENVpuOWl3bnVLYzJqczVyKy9vREF4dTl5CkZSdlRCcXp5WWdaQU9ubklBNWgvUVFaMXJFMVhrZ1dQcFBDdXhMNEZPQzd0Qmc9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg== crt: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUJQekNCOHFBREFnRUNBaEVBdmdCZEQ5dGZFRnRnbzVLY2o3VzJTREFGQmdNclpYQXdFREVPTUF3R0ExVUUKQ2hNRmRHRnNiM013SGhjTk1qWXdPREEwTVRneE1qVTRXaGNOTXpZd09EQXhNVGd4TWpVNFdqQVFNUTR3REFZRApWUVFLRXdWMFlXeHZjekFxTUFVR0F5dGxjQU1oQUdERVBBalFXUU1GSG1pMzI0clRRQmY2NGNFR2lISEFCL2c3CjNjWEhPd0E5bzJFd1h6QU9CZ05WSFE4QkFmOEVCQU1DQW9Rd0hRWURWUjBsQkJZd0ZBWUlLd1lCQlFVSEF3RUcKQ0NzR0FRVUZCd01DTUE4R0ExVWRFd0VCL3dRRk1BTUJBZjh3SFFZRFZSME9CQllFRkcvck5VeTMwNm9vU3BaawprdkQrbGJUU2NxQjlNQVVHQXl0bGNBTkJBS2IwdS9GSm84QTZoNkR6YXRMbkRHVFVyb282RjNWQ0M4Qng5SUhSCkc2S1lwa042MjNFWGhqTDc5QnM2RkE4bXNteEV1M0ZkVnNQNmZnYXhxUEp4QUFRPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==
key: LS0tLS1CRUdJTiBFRDI1NTE5IFBSSVZBVEUgS0VZLS0tLS0KTUM0Q0FRQXdCUVlESzJWd0JDSUVJTmRZY1RGc0xEYlN5UlpXYVErU1NoWkExeHFhSVcvd1MrdkxzYVE3Zzh5SQotLS0tLUVORCBFRDI1NTE5IFBSSVZBVEUgS0VZLS0tLS0K key: LS0tLS1CRUdJTiBFRDI1NTE5IFBSSVZBVEUgS0VZLS0tLS0KTUM0Q0FRQXdCUVlESzJWd0JDSUVJRjRtZFRLTXBMdGwxRzM5Q0VqZGo1ZmZWVmZpN0g5ZkFrdlBURTIycTBNeAotLS0tLUVORCBFRDI1NTE5IFBSSVZBVEUgS0VZLS0tLS0K
# Extra certificate subject alternative names for the machine's certificate. # Extra certificate subject alternative names for the machine's certificate.
certSANs: [] certSANs: []
# # Uncomment this to enable SANs. # # Uncomment this to enable SANs.
@@ -213,8 +213,8 @@ machine:
# exampleTaint: exampleTaintValue:NoSchedule # exampleTaint: exampleTaintValue:NoSchedule
# Provides cluster specific configuration options. # Provides cluster specific configuration options.
cluster: cluster:
id: mFOB7YKyBjmrMN-1uIf2VYSQsUVUPa57CRtr87tTzkU= # Globally unique identifier for this cluster (base64 encoded random 32 bytes). id: WDODSyZFkfSexTXCbpjz_3-F0KJBhLm18lQZ_yR90LQ= # Globally unique identifier for this cluster (base64 encoded random 32 bytes).
secret: Q6QGW/pwtdhEu5Lm0E/Q/HMUrfztEqEDbKV0yCsOxxc= # Shared secret of cluster (base64 encoded random 32 bytes). secret: QreQ3cCC+pgYPqnme4cSBZB+uc+yO2mkX3FjfmHvze8= # Shared secret of cluster (base64 encoded random 32 bytes).
# Provides control plane specific configuration options. # Provides control plane specific configuration options.
controlPlane: controlPlane:
endpoint: https://10.255.200.201:6443 # Endpoint is the canonical controlplane endpoint, which can be an IP address or a DNS hostname. endpoint: https://10.255.200.201:6443 # Endpoint is the canonical controlplane endpoint, which can be an IP address or a DNS hostname.
@@ -235,19 +235,19 @@ cluster:
# # URLs containing manifests to apply for the CNI. # # URLs containing manifests to apply for the CNI.
# urls: # urls:
# - https://raw.githubusercontent.com/projectcalico/calico/v3.31.5/manifests/canal.yaml # - https://raw.githubusercontent.com/projectcalico/calico/v3.31.5/manifests/canal.yaml
token: ghhkqg.oba4i5k615vxxpi5 # The [bootstrap token](https://kubernetes.io/docs/reference/access-authn-authz/bootstrap-tokens/) used to join the cluster. token: pjkinr.5lmfjpi4ei8t4z0n # The [bootstrap token](https://kubernetes.io/docs/reference/access-authn-authz/bootstrap-tokens/) used to join the cluster.
secretboxEncryptionSecret: c/UqkjMirsEWpF43TRXdGDYBs8YXNHnqhNQHra2wcsI= # A key used for the [encryption of secret data at rest](https://kubernetes.io/docs/tasks/administer-cluster/encrypt-data/). secretboxEncryptionSecret: gcPhZ1OL/w82yHmAm7GHxJl4cJOabkrGJlJsPEdjMJ0= # A key used for the [encryption of secret data at rest](https://kubernetes.io/docs/tasks/administer-cluster/encrypt-data/).
# The base64 encoded root certificate authority used by Kubernetes. # The base64 encoded root certificate authority used by Kubernetes.
ca: ca:
crt: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUJpakNDQVMrZ0F3SUJBZ0lRUHAzTWhzUHB5RTg1VEQ0Z1cxbGZSakFLQmdncWhrak9QUVFEQWpBVk1STXcKRVFZRFZRUUtFd3ByZFdKbGNtNWxkR1Z6TUI0WERUSTJNRGd3TWpFd01Ua3dOVm9YRFRNMk1EY3pNREV3TVRrdwpOVm93RlRFVE1CRUdBMVVFQ2hNS2EzVmlaWEp1WlhSbGN6QlpNQk1HQnlxR1NNNDlBZ0VHQ0NxR1NNNDlBd0VICkEwSUFCTWNlOWZmYW54enlRL1pYbnBEQTgrY2kvTVBQQjk0QXY5OVE4SWhyNkhFS0J3TnI0K1FOa21MckdYankKRDlpTVZuMkJzUU5lRXNjUUIyUXNHY0FUMm8rallUQmZNQTRHQTFVZER3RUIvd1FFQXdJQ2hEQWRCZ05WSFNVRQpGakFVQmdnckJnRUZCUWNEQVFZSUt3WUJCUVVIQXdJd0R3WURWUjBUQVFIL0JBVXdBd0VCL3pBZEJnTlZIUTRFCkZnUVUxcEtURXo2OS9PN3I2akMxbFlMTTVWeEZPTUV3Q2dZSUtvWkl6ajBFQXdJRFNRQXdSZ0loQUlHaG50TTkKa0RJYUNRYlB5THdMNzFhaVVSLzdJaHdzUk1PdytHczZ3aDJTQWlFQW51T0g4aUhxVHhkY3V4S1B1dndPRnVuRQpRM3RlKzZ3bExaU0VvUE9FZjY0PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg== crt: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUJpakNDQVRDZ0F3SUJBZ0lSQUpPS1Z3U3NvbnpJZmFGN0ljZWdDRWt3Q2dZSUtvWkl6ajBFQXdJd0ZURVQKTUJFR0ExVUVDaE1LYTNWaVpYSnVaWFJsY3pBZUZ3MHlOakE0TURReE9ERXlOVGhhRncwek5qQTRNREV4T0RFeQpOVGhhTUJVeEV6QVJCZ05WQkFvVENtdDFZbVZ5Ym1WMFpYTXdXVEFUQmdjcWhrak9QUUlCQmdncWhrak9QUU1CCkJ3TkNBQVJMNkc5S0RtMEpRbnRvOWR1U2gyc2JLTGlDcGROMkR3bFNINFVZZ2c1aEJiR2ptR2lGWS9uWkExWnYKSDJoRWphbmgwOTFhVkl4ckhoVzRHaURhNHhncW8yRXdYekFPQmdOVkhROEJBZjhFQkFNQ0FvUXdIUVlEVlIwbApCQll3RkFZSUt3WUJCUVVIQXdFR0NDc0dBUVVGQndNQ01BOEdBMVVkRXdFQi93UUZNQU1CQWY4d0hRWURWUjBPCkJCWUVGSUhhMUVzeFdMek9IMC9DZWtTajEvV2k3Y0NhTUFvR0NDcUdTTTQ5QkFNQ0EwZ0FNRVVDSUhjSndUV0UKVlQ0QzhpWTl4V2psRDBNN2ZlWnFLS3gybFplQldNMTUxQ3lwQWlFQS9rZkZLRnVkNFNNdlgrcUw0cU95dEtTKwpJUm9YVmVsb2hSekFpWVRIK29zPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==
key: LS0tLS1CRUdJTiBFQyBQUklWQVRFIEtFWS0tLS0tCk1IY0NBUUVFSUNNaG9wN0dZNmJBL1AvbTRRUzEzc0UrbUtqd1grZzJ5NElQWTB3VDExRU1vQW9HQ0NxR1NNNDkKQXdFSG9VUURRZ0FFeHg3MTk5cWZIUEpEOWxlZWtNRHo1eUw4dzg4SDNnQy8zMUR3aUd2b2NRb0hBMnZqNUEyUwpZdXNaZVBJUDJJeFdmWUd4QTE0U3h4QUhaQ3dad0JQYWp3PT0KLS0tLS1FTkQgRUMgUFJJVkFURSBLRVktLS0tLQo= key: LS0tLS1CRUdJTiBFQyBQUklWQVRFIEtFWS0tLS0tCk1IY0NBUUVFSU96VXlvOTYwblNFam90QnptUXhKUTNvWVJRZGlDcEI3NDU1M3docW4zVmtvQW9HQ0NxR1NNNDkKQXdFSG9VUURRZ0FFUytodlNnNXRDVUo3YVBYYmtvZHJHeWk0Z3FYVGRnOEpVaCtGR0lJT1lRV3hvNWhvaFdQNQoyUU5XYng5b1JJMnA0ZFBkV2xTTWF4NFZ1Qm9nMnVNWUtnPT0KLS0tLS1FTkQgRUMgUFJJVkFURSBLRVktLS0tLQo=
# The base64 encoded aggregator certificate authority used by Kubernetes for front-proxy certificate generation. # The base64 encoded aggregator certificate authority used by Kubernetes for front-proxy certificate generation.
aggregatorCA: aggregatorCA:
crt: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUJZRENDQVFhZ0F3SUJBZ0lSQUl5enBESUdaem1YNDIwYm9aNDdXeUF3Q2dZSUtvWkl6ajBFQXdJd0FEQWUKRncweU5qQTRNREl4TURFNU1EVmFGdzB6TmpBM016QXhNREU1TURWYU1BQXdXVEFUQmdjcWhrak9QUUlCQmdncQpoa2pPUFFNQkJ3TkNBQVJOdHdSckxyaXJlM3Z6MWloRFNtWS93b256OHQ2aThzRUFuUEVPLy9BM1NOQjlpSVlwCm9MNUNPbEJ2RTBWZXA5MTVOd1JrVjg2OGU4WWZXcWI3a0g1VG8yRXdYekFPQmdOVkhROEJBZjhFQkFNQ0FvUXcKSFFZRFZSMGxCQll3RkFZSUt3WUJCUVVIQXdFR0NDc0dBUVVGQndNQ01BOEdBMVVkRXdFQi93UUZNQU1CQWY4dwpIUVlEVlIwT0JCWUVGSFdWVXRCSXh0cnRkSkZJZzZkeUN5M0VQMXZDTUFvR0NDcUdTTTQ5QkFNQ0EwZ0FNRVVDCklRRENsR0pjQmJjclE3NUNRWjBSbVJNa0FBVjBYT0pmQlNJMjI4MW5uNkVKZ1FJZ0pna0hFNURHd2Zsc1VrcG4KWVJEMmNpRTNMQlN5cVJDdWs4ZDcweUF6SUQwPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg== crt: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUJYekNDQVFXZ0F3SUJBZ0lRZXZaUXBGSXBOYnVZU0VSVkREUGJ3REFLQmdncWhrak9QUVFEQWpBQU1CNFgKRFRJMk1EZ3dOREU0TVRJMU9Gb1hEVE0yTURnd01URTRNVEkxT0Zvd0FEQlpNQk1HQnlxR1NNNDlBZ0VHQ0NxRwpTTTQ5QXdFSEEwSUFCTWJpT2U5REN1ZWVRUEU0cnRKOWtIOHFTM3YxVWxPQUFvNm5FUTlxU2tXeno5T2YwbjRRCk82S3NsL3BYeUtjNUIvSVNjTXR2Y2Fib1EvZzlrbllMUzlLallUQmZNQTRHQTFVZER3RUIvd1FFQXdJQ2hEQWQKQmdOVkhTVUVGakFVQmdnckJnRUZCUWNEQVFZSUt3WUJCUVVIQXdJd0R3WURWUjBUQVFIL0JBVXdBd0VCL3pBZApCZ05WSFE0RUZnUVVsRXRmV20rVnVpOFZpRFFFdmhsVTAzZVA3czB3Q2dZSUtvWkl6ajBFQXdJRFNBQXdSUUloCkFPajdwS2FoS244c0wwaG1NeGZRVXpzQ09lSGZJMXN6N0VuMWx4bWZKYXZvQWlBYTgwb3JZYllxNWZ3UzdzaEoKSndYS25FOEJ5Q1laMU9wYW9abWU0Uzd4UEE9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==
key: LS0tLS1CRUdJTiBFQyBQUklWQVRFIEtFWS0tLS0tCk1IY0NBUUVFSUN3Q3NkeDNDZEpEMUZmUkNiZEFFajFPMTRUK29acHJsNzZETStmMXk0R0tvQW9HQ0NxR1NNNDkKQXdFSG9VUURRZ0FFVGJjRWF5NjRxM3Q3ODlZb1EwcG1QOEtKOC9MZW92TEJBSnp4RHYvd04walFmWWlHS2FDKwpRanBRYnhORlhxZmRlVGNFWkZmT3ZIdkdIMXFtKzVCK1V3PT0KLS0tLS1FTkQgRUMgUFJJVkFURSBLRVktLS0tLQo= key: LS0tLS1CRUdJTiBFQyBQUklWQVRFIEtFWS0tLS0tCk1IY0NBUUVFSUtOZmJhd3ZTNnB0NHJKamdLMG1FOWtUMk4yQnE4Wi9LeUZ4UXk1Nm5iM3hvQW9HQ0NxR1NNNDkKQXdFSG9VUURRZ0FFeHVJNTcwTUs1NTVBOFRpdTBuMlFmeXBMZS9WU1U0QUNqcWNSRDJwS1JiUFAwNS9TZmhBNwpvcXlYK2xmSXB6a0g4aEp3eTI5eHB1aEQrRDJTZGd0TDBnPT0KLS0tLS1FTkQgRUMgUFJJVkFURSBLRVktLS0tLQo=
# The base64 encoded private key for service account token generation. # The base64 encoded private key for service account token generation.
serviceAccount: serviceAccount:
key: LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlKS0FJQkFBS0NBZ0VBMW84WHc1N0owWk1GaWxVR25mNktqWU5ERFBaSVpLWlNyOWNCN3ZqNTRrUGsvajZVCkRhMVIrNU5CRnpKQkNreVZRWUtVUVJOWjJoTmVINm5VYk9OR1ZDdjkyVktid1Rkd2dUanZ6eHk0MzJhaHA5bXAKUmxxTENyYW14NnBVYlFGUWhJNGd3dmlHTWl6TWdEOHdtS3N6am16ckJ1Ui91YkVOaXF6S21xZ1JGSUpoblNZbQppNnRoTk04YVR1eGMrZlgvWG9xM01CeHZCYS9NY0dqSFY3MXd2TlFIc1c1MW1SME94ZWdYUVdZUW5XcDZvN0VoClpRR3BmSDl1RnBzVjJBdE8xQWdCLzVld0tySG9peEpDaFhTeHNIbytYbS9JZUNMM3BodCtMQ2NycDNNNEZybGQKT3BWaTJCaXpxTW5IaDhnVWpKdGowZ0YzWmVYcHhTNjZweDdMOXdDMjF2Y1BLdkF3aW56ZVJXZVFrSTlnQUwxUApUNEszQUR5NXdHU2NuSXkrWjg0dVNoUGc0Sm1Rc3N4VTdLZW9hRW5aU2lRY2NVcDNhN0hCVFdNN1pvR1RUdXBMCnk2VER6a3BKL1h3OUg5aEE5VDgzK1U4b2g5N0N5VW40K0tyZEVqd0ZvUHdRSHMyQSs4OURxdlB0L2JDVW9sVUsKZzZSMTN0d0J3bU9FMlhMRlMzNTd4cm1TVER1SkVBaERLSEtuZURjekVSR284Q0hodEcvQzN6M3NGTmxVb21WOQpuZ2lBdDhKQnBVMHgvNW5COHJHODVVTGZOazIyTlJLLzd3ZnB2ZWQybHlFaEM2YTJmT0RrTG1YanRWQWpvdTFwCitOWWxaRXJaYWlxYUVaRW9hWXcwdk1qN2NuZEx6emlKRHYzazE4a3VrQXBOSFNrcFgyVkI1VnFHZlAwQ0F3RUEKQVFLQ0FnQUp5c2dMM29CWmR6dEdmL0RvWHdpVndzclptWmZlT0JVSC8ya1FMZjdCaTlXMG9NaURBMGo5a1UvawpMaC8zeDF6OGUyZ212Q3Bhb0kyb0pra1NteURIa0tacU43SHlGSVNtOFNGSXM0ZmdjaitvZUcrWVRXT1JIcHJuCisrY1VmbjNkUHR0UjZxTzlRSHdvMGpsMmprR3hHMWx5bkJVVU5YZG52OUVUVTk1THNGT2lKMjZVNjBKcGRaWSsKeWR6SWI2aXkrT081WjJMTndLTTA4aU0rNXQ5eFRyLzNJaEp0NVh5YUhhaUtESTF2a2I5OUh3Vm1KYmhGZlU5Wgo2c1FKY3lLcTNKNnl1b3FJdUV2anBQYXlQb3dwZ0xxOTlwNFFsWS8xM2NWWllJUkdoU1NuTE5pTFp1djI3dEdzClAyRkMyaWZON3YyVVJRcmM5S3hCbW90Y096U1Z3TkpDako3dzcxaXdLa2dDY21uVW9ZLzJNZkc3YTJxK3F4bmcKU3o5QStoTk4xamxvdVIrMlBWODZDYUt2VVZuK3NIZ0xTYVBxNW1TY0IxUlZmUmdDVEVBUzg1dEFOOFQ2SXJNUAoreUJEdFBBbUVCaEtDSUkvaDExL05ObG1HbXFWdHJuSGdDdmhBeEVVQXNUTld3alNPU2xuK2U1czB6TVlPclR1CnRBVWg1Z2dFajdaemtacnVpcVkreUxENVlBQjBURU1BdzY0c1c4T1RpQS84NjM3eno4S0lwcCtVelE2Y3VoTFgKcDI5dkg3aER5eHcrUFBDUTR0b2tKK3UxNjA0U3hlMHVFM3FOcmZ0b3BiajF0bDhXVlFyRHhrWVJhWHJtMDZlRgpGcW9TZnVqTlJWaWFCY1B1alVHcW5SR254dno3TUhoakxvM1hKMitaK0E0TllSWlV4UUtDQVFFQS83MlJlTGphClpnMlhacEJ1bTc1L1VhRFBYNDBLZEFWeFBJSlpSbGdiZEpmSkk2cmdXbTRsMDVDVkhLY2labk0vR09GWkVUT0kKODFHSlVZYW1WbzNFeWhHWXphQ0diSHU1N05mSlJpWXhOWXNEWGJHbDkxUzVtVkhvTDVpSUo0bHphR3paMDkrMApYWGpEd3lxblNyWmN6WjdPcG94anE4ZjA1UFVJODVYMUZTbUEyMHlWRXVJRmliQU0xeW9PR1plaHBqVnd0OW12CndkU01lRXNNYXV2bGY2QUR1aGJqazBGQWNxcHl1OGtkaUNXZWdKMzJwOHZBOXkwb1ZiVGRFcy9hK3BDaytGMEsKL2NXRytxUzFicWxabkxzSVV0NXhFRDdIekwyNkdzNDhiZ0tGYlpEdjQ2MUcwZjFLNFdXc21mSXBDaDBGS2RtZApyMDNiNGtGZHRYT1NJd0tDQVFFQTFzYlR3U1FjZWVnYStZZmtkRkxnYTlSRXphR2c5K21jNFMrcWQ1T243SSs3CllRNVVpYnk3NFFISzdySnFlZTFZNlM1bDJJVVFNdVpYSUVNa096SlpNeWNOM29ObWd6M25CNnI2UUNzUFpqWDgKME0zMEdUeW1nVVFuQUNKa0NGeEEva09ZcjQ5bnRCR0twNkdGRmxSZFc0QzZVV3dBS2Z4eTdSdC9FYUIvbkxJVQpjRzJtai9iZ0c2ZkMxVjI5a2Y1d0RjRmVZMUMrOStUUllXSlhpSFp4dFJZU1g3aENaL0l5V2lleWFuVnF2alp1Cnh6NGtnd3ErT1pxQ2EyYldJT3lFV1N4NDBsbnhZUW02VVVUcHZzRngyNHJGSTRDdjlCZTJ1SjlEQVErYk1jSXAKeHdHcFFrS1dzK3lIQkMyckZrQzV2N1F4aHBSanVKMnUyWWduTEQ3V1h3S0NBUUVBMVNqTHRNVFcvTkw5UzdhOQpDc0Y0VzdCZXlMVEZicmtPampIVGVZZDhzdXpFOFI2L1M0Q2R0TDdCR3BYUVhYWlh0RVE0T2Rjcm9pdG0rblh4CjlSakxXdVhaNkNLUmlLQ0Q4djVWUEV3ZkhoTFZabVhwQU1NMHc2OTZpUmxvK3hOZEIwQWJPN2N0SGUvSHM4ZTgKa3RCM2Y4ZUxWVlNVeXh5cWFhQTNxdGhsNUJLbzNhRHliRC9KLzk2bWhUei9iYU51VUJ3ZzdJemNLd0lmWnpDZQpsQXcxU1BBMXl3akMvUDBaVzdub1VjOHE5MHpyMVNaVTdiMHVCSmcyRTJIaUZvajdhM2ZlbVVqc0hXTmp3MHhBCkVaSEVLSmZZTTBKSEdSUks4c044K0ZUSUY2V3dVd2ZJZTR2MUNKaEhycUZSZ1N0UHU2YytvNGhJSDFNVklIdjkKUUgybzR3S0NBUUFaaDN5NElvQzRCTnpmK0VVeGhvQmlrTkswMXBkNW9HMGpYelVXRFprU1IydHdkL0dZaGJTWApaRTBvM2xCRnVlNnRtUFJHTGxya2tmaWRQeDNaWTN5eTFkdVNMWEJML1ZtdTBhWDVacVRuODFiZnd2dFczSnkyCkZOSEY5RkNMcGR1YjNaRVNuU3NvZmtWSzg2b01JMjhOWjFtK1ArWXRGM0xadUVEOGFXV0J6TEVkUkF0ZVpXdnkKSFpqTkg5MWVzeTNDbE0rUllwR3dpYVJSdlF6R2piMnFWcnRNWVd5VFNuaXR1clk4YlVTSTQ1TjdYMm1ib2ZWRwpoNVVsQ3c0OHo2QlRzVE9UWFZtUnZVUkdVTGl3RWZKa3REUUdxazgvNW1tenZFcU1uN3hFeDkyTGFDa2tWU0h3CnRSYS9hbVpCdU9QYlk2SFhhMkFIRzhjaTJFby91aUJsQW9JQkFCWE9namxhSS8vWXJYcENSSTNBOENQeWdxazEKNllwUFdVMjNISWRKUlJKdzI2WDVGQ3pWZXh0UTJhY2RxRXZ6TW9uOTdBK0VMWkg2aUZFTFBNcnkxeHdpSUZZcgpNVFNjMlZ0RkIvRWViVnduTzU0RFMwQWFKTk1DSjZjb1JBTk5BMExnSEY4UlNTdjd1K09FOXVQUTdUWHlkVUJFCnJ3aVlEVjF2N3JSSHlKcXA2Tm4xYWk5b0NsQXlEQmRNL2dkWXdEeURqUTBLR3hlVXZHZWxEejR2RWV3RThQVUIKcVBSb1UzV1RjVENjSWZTL3FnVEZQTEtGbWRoNFdoVlUrZlNwOTlXSjR0cHdPOVNJTGxXNzVReldxNlhBOEZFMApwK2FyRFBkaHJWQnlLZzIwc2dodjE5Mi91THBLOERoSEVJVlZuWmJGNVpIVDNlZDBSSGtQc1dTd1lrND0KLS0tLS1FTkQgUlNBIFBSSVZBVEUgS0VZLS0tLS0K key: LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlKS1FJQkFBS0NBZ0VBcjRKT29pRmVoL0pldjdSeEhlOGhzdTliOHNHT0h2YlR5NjU4SmRKZzNXTTRzRG1zCkhwMEZZeGw2bE1pSGRkT1pVRER3cG1vNmtGbzhZSGVOVGZCNlladTJ6bVhTcjhIN3o3M0xSOGFxczFKV1VyeU4KaGs3dTZCR016UE4yTEVwTWZiZWhzZ3RjQnNwc3RCN25VWjBoeHVoUGpyS3cwL01ObVRpMlFJd1VwZHNrZkNUNwpUTGF3dDRWVjBlVUhJUHVsNmJ4R2lzL0REd0lGTDNJY0I4NUN1cFU5Y2ZrcjZVU09OYS96QjU0TDVYbjJhNWtuClhsd29uQlRrVEQzQ3VsTVRBcFFIN0xkRUxyejVKQks5azcyam9RR3VSUldmdnZxK2pOcDJoRHFFZlliZThTUlIKWFpYOVZ6eUhndEtkb1RZWWJiRzNKS0R2MlNyUUZxRnhGUUpRcTdvaG5xSlNSRkMrNHNTbklzM3V6cUljd0d6eApOQnhsY1FFbjBWRkxjZVQ3S2RMOGNvd0tIVk9adE4xOVQxSnJtTlhFZTNsclJuNFJQYU9LSi9xMWtJUGM4MEtyCmwyL0xwT0xUSDcvNk95WGIxUUczS21WcjQ0SC81cWlrOUZ2UG11T0oxZHFIaWlVdW8vbDh5N1BGS0JOZjVUNlIKdmVIWmtzazVZbytaSmJPSlExSHRSbStOelNZclRDZkh6T2R3T0VpWENXRzlkZ3k4TXZqbnZ5cnZWUTBSdGFSYwpkNkRQN0VOUng0QnZQSno4NDJMV1BhSDZUMWk0VUtvMjBkZnNQTEkwNW53OGg3WTlzTDZWdGtIUVREQUg5TVdrCnBZaW9LeklIV1kyb1FpYkZoTEFKaTFscGNPUmExQkU4N0h2U2tqSjdZL2F4c3JJY2lFK2ROVXRSbWtNQ0F3RUEKQVFLQ0FnQWNxR3FJNXhSUVNYU2hnK2dMNEdpckZ1ZDNmNVczeGt1Z3UyTW4xUzdJNTRpRzlKdlV2SVNpZ1FpMgozazdleXAyQzdtMS93WTBYZ0xjbXlmbFNRU2ZuNCswRHpiVGdkYmNxM1kyaHNPQmRwZDVVNWRjMndqdkRack9NCkliTHBtaVl4bnZoRzkyWTFtNmNIK3ZDQUx6MVNoU0M4ZkdsZ1A3ODRNTk9ka3VIL2o3QVRtZ0dlQTBvSlpXVzEKS2dXeHpvckhCdDJwTzl5RFhsYVV2K0t3MUVQK3d4dFo1QkJWL01JN0pQbWZoRXMzL2c2MzFMVzNkQ3FUWUlhWQpwbVd6VnBqempQMWE4SXFGd1RORFB5WWljaVErU0RwNXF3VnB3ZmdNVFgzREFKVWRYc0RzMzN2RHRzS1JGSXFpCkEzR3hYd0VQenZySWZ5NDYwb0ZRNDFmdzBNUjFjMDZVMHo5d1Nmb2hjOVhaT0Y1K3dubEE4NDBza1QwMDNDSFAKazlhOW40ZTNFMSthUll5MDBJSVg4U2FabXkxZm8vZG5rSEFPL2RNRHNPanM5S2FpbGRLcUNnL3ptb3J5UmZEawpucy9udFM4cE5QL2hyN2lFeFZMMUN2Q3pxdEJGdGlDaFRxTzRiTmdOVVQ3cmRLVWI1aXEyRDlUS05MTGM3ZkFKCjVzNm80MTJUbzFkZ2NnRytsaGcwS0p4UmV0RHd2OE9pMHdnQmZ6dzN3OXFBZGwwOWlWYmJLT3NQNzcwTkVOZGwKT2t0ajgwZ2NoUUo4a3o2bVp2L2cxRjFiSklxdzQ3S3FXNkQvSlJkbHhxWlIzNkNrKzNtQXcrK1NVRElPTVRReApLa214ZUFLa0szdWY0ZDdaL3Y2Tmh5ZGZHQ1VzMmpqZWplOU5XMmEwM2VSUkhjSzJKUUtDQVFFQTRKTWZodTQyCkZtYjlPU1grd043Z3J5dHJwT2pwUlJIN2g1N28xd3hENzZRODNMbXpXUVRuenBBd2dwblJwYzVFNlRZR2ZwdVgKUTk0emxsQU9nQlRES2p1dFpUVlFNRHloeTJPMGRsWEE4VEZ5Mm8xeXdYN1oxTTl1U1dnYnIrZXEzaCtTaTNhRQp0ZXZjTVplTURmdzArSXFETENpdXR4ZkduT1QzSXpmWk1jWFFOczRQbTNBZU1RVHRBdmc4RTEraWpyUXpGdDh5Ckd0dW05c2NyRFJtZnN4c3hiL2IyVFcxU1RLc3pJV05VVVp1N09PNzlWMy9KdEljS2pIL0NnanVyZkdsV3Z0MXIKeDg5elhkYVpFcUM4TWlSQ1I1VkFSWXg2NHgwVXZJeWgvMUtLRmxVYVB0Zk1nWi8yYXdaS3Axc2hhQVJmQjFGKwpwZDNxU20xUGUwRjhEd0tDQVFFQXlCR0VmMmFxajI4ZWhvUngzcjh5RGJBWWtaMEhSeGtSd2RReERCWmpiRVZRCjZKZTRkaUM1TERiMGl0VWlteTN2dld0N09TdXVQY2ljY3E4YXRJamZ0alJlVXhUeDlNNmxqSDRkTlJCKzJrRE4Kc29HU25oeWZ4RkFsbmo1NGRWVDcraFZqRTF6cEJGamlrU3ExQnNIOHNmZFAxbjdvWG1pRzl6NERENFBVbWlNeQpKRndWR2JmZzQxTVh5b0RoenFiM0JMNGpQVlA5OFFQSDY3cXpWSzg5UE8xdEJGL2U4cHhIa1l6MTlZWmtzeSt3CmpUalJPWUFIV0tWbC9idnJoV0VrU3dkM1pUbGZZaEpUQUxvUDBSc0wwd3BXcDZsWCtZWjZYbFlFK3RNS3plUmsKU3FVL0JwK3lKUldMUTBXVy9ocjgyQ2ZDMEVtc1ZYcHI0VXg4TEMxYWpRS0NBUUI2UFhzR3ZqbHd2a1NOeS9HOApXRlVpNUZhbW9DVUJkTVZlVUJCYnBoQ0FxL3g1QlJmcmw3RDZEaUJwcG9Lb1p2dTVtYSsxVU1ub3BsV2NOeDE5CmVFKzNlRjVzM2JVMVhIdVJNMGR5dGtEY3lOYkV3Z081OFd0dTNDNGpCT2sxT2J3WFJrWkZaWkRkV1hJMUNGR3kKOXhwNlF5TWRjVk9RMC85SFBaYU1kQVRrZzlGUFU2REpNaUVzKzRwcmVHVnpBamFBeVBPYU9vbVNkd2VPQW1HYgpzdHZyNlJ4aTNxRzVDWTJuci9TWDh2SmRyWkFlY0hBMEpabk1pMGtocXhWY1FGQ2EydGZkOHJhTlA0MkRnYUUyCnM0bGRIY0Y2SjNLaHFOTG5OdGdudmNFY01uaDVxWDhzdjloUW9wckdMTm1MK1IzWStiQWtVcWJHY0dIc2UwMnQKUUxyZkFvSUJBUUM0R1hhRkRXSVJqcnpXSjNYbzlLTUllV3lDUWE3NnU1VGRlWGFRbXVGdU5mS1h0VlVtVGtKVwo3MUxqbGZDOFB1OEdyS3E5RnZiRkg1N200VDUvdGh1MXZFYTN5T1JFMHdyL1Z1VmxlUUpocjVRWW1LYmtHNDdnCnhLZDVFQjhrU01sOWZNU29ncXhoTmJGMng0ZkE2aXl2VHRZR21NMFdZclVmT2M3ekxlb3ExQXhGN1AzMXBvQ28KYmtQTU1nQ1hlb2gvc3I4V3BmMWRGSStZMlRvL3lPbGU4Vk9KM1BaNDVWbnVFM29aTGt2bm54Q2xRdzAwRGgyMApjcTZCWjdUNERVV3FUUHFQQ05ZK2xvSU9meWdpMFBKMmhtTHE4U2RsRTF2ekJ0Q2FSaTBBL1JOVXBPNTBGK3VECnVHbG53OWVIaUNuMmRkQU1mbDY0WVdoMzd6dXNJeWZaQW9JQkFRQ0tYNXpyL0hiOTd0eFNIZ2RCb2plQ08xZHYKTE9oZnFKa084V0NUUkZIdGdQYU5NbDFIdlBMRFJlSDR6WUx0ZnFFZkk1eDVIemJWR2ZuS0Z3dFZjYk9KZDRFVQpNTjUxNGdEaDN2cDd3dzBod0dKLzJWYUwxZjlpQkEzL0RRTHJyU29CSFVpOEJHZStSUnhBWmM5VDhndnRSanVsCk9ON3ZYNE95bFRxYUY0QklwWXVEN2x4S2FOQkNWRkhkbzBLMEtXZk1JV053cTRTRTh4T3Q3OGNQY3BtZ3VjcWMKQ2JsQnI3Y3VLYWVPV3N2dHFMMWdDQXlpM0F5NGZzWW8zdG9sMDJqeVhrelUrM2VvbExXa0tuTUFiZEpnYlp1ZAp6M1J3OTlwS2VXWjBJRmpVckVHaWpzU3pRd2VLcHM3Z25IVHlqekwrd0xJWVJaMDBJS0FpMWNaMTd2Z2IKLS0tLS1FTkQgUlNBIFBSSVZBVEUgS0VZLS0tLS0K
# API server specific configuration options. # API server specific configuration options.
apiServer: apiServer:
image: registry.k8s.io/kube-apiserver:v1.36.2 # The container image used in the API server manifest. image: registry.k8s.io/kube-apiserver:v1.36.2 # The container image used in the API server manifest.
@@ -330,8 +330,8 @@ cluster:
etcd: etcd:
# The `ca` is the root certificate authority of the PKI. # The `ca` is the root certificate authority of the PKI.
ca: ca:
crt: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUJmakNDQVNPZ0F3SUJBZ0lRY1dVdDJLeVFwdS80dmpkSjJZQTNjekFLQmdncWhrak9QUVFEQWpBUE1RMHcKQ3dZRFZRUUtFd1JsZEdOa01CNFhEVEkyTURnd01qRXdNVGt3TlZvWERUTTJNRGN6TURFd01Ua3dOVm93RHpFTgpNQXNHQTFVRUNoTUVaWFJqWkRCWk1CTUdCeXFHU000OUFnRUdDQ3FHU000OUF3RUhBMElBQkN6T3plaGc4UHNECkk0OGVVcHc4SDVPQmJHa3dSZUhXdTNXMVVnRWthTklSVGtFV2RLSkV1NzlsTmFJZ2pRUlZ3OEs5RjhuSloyRFoKcklmQUVJR1Fabk9qWVRCZk1BNEdBMVVkRHdFQi93UUVBd0lDaERBZEJnTlZIU1VFRmpBVUJnZ3JCZ0VGQlFjRApBUVlJS3dZQkJRVUhBd0l3RHdZRFZSMFRBUUgvQkFVd0F3RUIvekFkQmdOVkhRNEVGZ1FVQ2QxWWlkK1VxZjNvCnd0SmZpRmFDRVliZkFRTXdDZ1lJS29aSXpqMEVBd0lEU1FBd1JnSWhBSUFhNEUvL2V0T1VhcDN2cGRhVjNtU24KWk9kaENIeUdhUWRJYlBWcHdPUXVBaUVBczkwOTJMV3ROeGF5MHJIdVUySUVpY1ZSRTJkUjdVWk0wbXZ4Vnc1VQpXK2c9Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K crt: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUJmakNDQVNTZ0F3SUJBZ0lSQU9wbFRwSlZuSnBTMm5vMTNOZ1VSZ0V3Q2dZSUtvWkl6ajBFQXdJd0R6RU4KTUFzR0ExVUVDaE1FWlhSalpEQWVGdzB5TmpBNE1EUXhPREV5TlRoYUZ3MHpOakE0TURFeE9ERXlOVGhhTUE4eApEVEFMQmdOVkJBb1RCR1YwWTJRd1dUQVRCZ2NxaGtqT1BRSUJCZ2dxaGtqT1BRTUJCd05DQUFSeEJYNVNYYk5lCmprWXA0TUhVYWxQZnRDU2dZNTJBc3ROVk9Td1pEaGNKU0VxZ3hPQmc4enBmMHJPRTgvK3BXK0RscDZMK2J6N0MKb2U0ZmtuU1l3bzFSbzJFd1h6QU9CZ05WSFE4QkFmOEVCQU1DQW9Rd0hRWURWUjBsQkJZd0ZBWUlLd1lCQlFVSApBd0VHQ0NzR0FRVUZCd01DTUE4R0ExVWRFd0VCL3dRRk1BTUJBZjh3SFFZRFZSME9CQllFRk5vVjVub3pIUVpVCjFOT3g2OVJCUUc5SHMxQUVNQW9HQ0NxR1NNNDlCQU1DQTBnQU1FVUNJUURxUUdOd1lyaTByQ1pBakozRzRmT00KQkNNWGpiZzUzcVBYcXZ0dWloeEwrUUlnQzM1RWpTbGcwanl0Q21nT0NYU0IyWi9LSTBhd2J5WXV2TzhyT0hSLwo0OVk9Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K
key: LS0tLS1CRUdJTiBFQyBQUklWQVRFIEtFWS0tLS0tCk1IY0NBUUVFSUJFMmhEblVJR1oyWVUvNEMzTytaY3ZlNHJvdUhlZnIybXNpajRzdERxcHRvQW9HQ0NxR1NNNDkKQXdFSG9VUURRZ0FFTE03TjZHRHcrd01qang1U25Ed2ZrNEZzYVRCRjRkYTdkYlZTQVNSbzBoRk9RUlowb2tTNwp2MlUxb2lDTkJGWER3cjBYeWNsbllObXNoOEFRZ1pCbWN3PT0KLS0tLS1FTkQgRUMgUFJJVkFURSBLRVktLS0tLQo= key: LS0tLS1CRUdJTiBFQyBQUklWQVRFIEtFWS0tLS0tCk1IY0NBUUVFSUt5aEhGeCtGd2tUdDErd2NROVV5blZkL1h1eHJYWVRNMnJrS2NQUzhGWEtvQW9HQ0NxR1NNNDkKQXdFSG9VUURRZ0FFY1FWK1VsMnpYbzVHS2VEQjFHcFQzN1Frb0dPZGdMTFRWVGtzR1E0WENVaEtvTVRnWVBNNgpYOUt6aFBQL3FWdmc1YWVpL204K3dxSHVINUowbU1LTlVRPT0KLS0tLS1FTkQgRUMgUFJJVkFURSBLRVktLS0tLQo=
# # The container image used to create the etcd service. # # The container image used to create the etcd service.
# image: registry.k8s.io/etcd:v3.6.12 # image: registry.k8s.io/etcd:v3.6.12
+6 -6
View File
@@ -4,10 +4,10 @@ persist: true
# Provides machine specific configuration options. # Provides machine specific configuration options.
machine: machine:
type: worker # Defines the role of the machine within the cluster. type: worker # Defines the role of the machine within the cluster.
token: omy7ai.8zly2x1qlygu3lhu # The `token` is used by a machine to join the PKI of the cluster. token: kilis4.v9eial4da8poghjv # The `token` is used by a machine to join the PKI of the cluster.
# The root certificate authority of the PKI. # The root certificate authority of the PKI.
ca: ca:
crt: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUJQakNCOGFBREFnRUNBaEIzVGhWTXpNM24wMmoxcWk1a3VyVzlNQVVHQXl0bGNEQVFNUTR3REFZRFZRUUsKRXdWMFlXeHZjekFlRncweU5qQTRNREl4TURFNU1EVmFGdzB6TmpBM016QXhNREU1TURWYU1CQXhEakFNQmdOVgpCQW9UQlhSaGJHOXpNQ293QlFZREsyVndBeUVBNWhBOTloYmUyWWJ0M2tnd0M2ODBSd3JOM3FzSlc3NFdheTFrCis2RWRDdFdqWVRCZk1BNEdBMVVkRHdFQi93UUVBd0lDaERBZEJnTlZIU1VFRmpBVUJnZ3JCZ0VGQlFjREFRWUkKS3dZQkJRVUhBd0l3RHdZRFZSMFRBUUgvQkFVd0F3RUIvekFkQmdOVkhRNEVGZ1FVSHF6dHdMNUdYOE13eVBBOApFTDVuUmRneHJzTXdCUVlESzJWd0EwRUE4WTVyVzdPdFJ3cFF5UGtENVpuOWl3bnVLYzJqczVyKy9vREF4dTl5CkZSdlRCcXp5WWdaQU9ubklBNWgvUVFaMXJFMVhrZ1dQcFBDdXhMNEZPQzd0Qmc9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg== crt: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUJQekNCOHFBREFnRUNBaEVBdmdCZEQ5dGZFRnRnbzVLY2o3VzJTREFGQmdNclpYQXdFREVPTUF3R0ExVUUKQ2hNRmRHRnNiM013SGhjTk1qWXdPREEwTVRneE1qVTRXaGNOTXpZd09EQXhNVGd4TWpVNFdqQVFNUTR3REFZRApWUVFLRXdWMFlXeHZjekFxTUFVR0F5dGxjQU1oQUdERVBBalFXUU1GSG1pMzI0clRRQmY2NGNFR2lISEFCL2c3CjNjWEhPd0E5bzJFd1h6QU9CZ05WSFE4QkFmOEVCQU1DQW9Rd0hRWURWUjBsQkJZd0ZBWUlLd1lCQlFVSEF3RUcKQ0NzR0FRVUZCd01DTUE4R0ExVWRFd0VCL3dRRk1BTUJBZjh3SFFZRFZSME9CQllFRkcvck5VeTMwNm9vU3BaawprdkQrbGJUU2NxQjlNQVVHQXl0bGNBTkJBS2IwdS9GSm84QTZoNkR6YXRMbkRHVFVyb282RjNWQ0M4Qng5SUhSCkc2S1lwa042MjNFWGhqTDc5QnM2RkE4bXNteEV1M0ZkVnNQNmZnYXhxUEp4QUFRPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==
key: "" key: ""
# Extra certificate subject alternative names for the machine's certificate. # Extra certificate subject alternative names for the machine's certificate.
certSANs: [] certSANs: []
@@ -217,8 +217,8 @@ machine:
# exampleTaint: exampleTaintValue:NoSchedule # exampleTaint: exampleTaintValue:NoSchedule
# Provides cluster specific configuration options. # Provides cluster specific configuration options.
cluster: cluster:
id: mFOB7YKyBjmrMN-1uIf2VYSQsUVUPa57CRtr87tTzkU= # Globally unique identifier for this cluster (base64 encoded random 32 bytes). id: WDODSyZFkfSexTXCbpjz_3-F0KJBhLm18lQZ_yR90LQ= # Globally unique identifier for this cluster (base64 encoded random 32 bytes).
secret: Q6QGW/pwtdhEu5Lm0E/Q/HMUrfztEqEDbKV0yCsOxxc= # Shared secret of cluster (base64 encoded random 32 bytes). secret: QreQ3cCC+pgYPqnme4cSBZB+uc+yO2mkX3FjfmHvze8= # Shared secret of cluster (base64 encoded random 32 bytes).
# Provides control plane specific configuration options. # Provides control plane specific configuration options.
controlPlane: controlPlane:
endpoint: https://10.255.200.201:6443 # Endpoint is the canonical controlplane endpoint, which can be an IP address or a DNS hostname. endpoint: https://10.255.200.201:6443 # Endpoint is the canonical controlplane endpoint, which can be an IP address or a DNS hostname.
@@ -239,10 +239,10 @@ cluster:
# # URLs containing manifests to apply for the CNI. # # URLs containing manifests to apply for the CNI.
# urls: # urls:
# - https://raw.githubusercontent.com/projectcalico/calico/v3.31.5/manifests/canal.yaml # - https://raw.githubusercontent.com/projectcalico/calico/v3.31.5/manifests/canal.yaml
token: ghhkqg.oba4i5k615vxxpi5 # The [bootstrap token](https://kubernetes.io/docs/reference/access-authn-authz/bootstrap-tokens/) used to join the cluster. token: pjkinr.5lmfjpi4ei8t4z0n # The [bootstrap token](https://kubernetes.io/docs/reference/access-authn-authz/bootstrap-tokens/) used to join the cluster.
# The base64 encoded root certificate authority used by Kubernetes. # The base64 encoded root certificate authority used by Kubernetes.
ca: ca:
crt: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUJpakNDQVMrZ0F3SUJBZ0lRUHAzTWhzUHB5RTg1VEQ0Z1cxbGZSakFLQmdncWhrak9QUVFEQWpBVk1STXcKRVFZRFZRUUtFd3ByZFdKbGNtNWxkR1Z6TUI0WERUSTJNRGd3TWpFd01Ua3dOVm9YRFRNMk1EY3pNREV3TVRrdwpOVm93RlRFVE1CRUdBMVVFQ2hNS2EzVmlaWEp1WlhSbGN6QlpNQk1HQnlxR1NNNDlBZ0VHQ0NxR1NNNDlBd0VICkEwSUFCTWNlOWZmYW54enlRL1pYbnBEQTgrY2kvTVBQQjk0QXY5OVE4SWhyNkhFS0J3TnI0K1FOa21MckdYankKRDlpTVZuMkJzUU5lRXNjUUIyUXNHY0FUMm8rallUQmZNQTRHQTFVZER3RUIvd1FFQXdJQ2hEQWRCZ05WSFNVRQpGakFVQmdnckJnRUZCUWNEQVFZSUt3WUJCUVVIQXdJd0R3WURWUjBUQVFIL0JBVXdBd0VCL3pBZEJnTlZIUTRFCkZnUVUxcEtURXo2OS9PN3I2akMxbFlMTTVWeEZPTUV3Q2dZSUtvWkl6ajBFQXdJRFNRQXdSZ0loQUlHaG50TTkKa0RJYUNRYlB5THdMNzFhaVVSLzdJaHdzUk1PdytHczZ3aDJTQWlFQW51T0g4aUhxVHhkY3V4S1B1dndPRnVuRQpRM3RlKzZ3bExaU0VvUE9FZjY0PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg== crt: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUJpakNDQVRDZ0F3SUJBZ0lSQUpPS1Z3U3NvbnpJZmFGN0ljZWdDRWt3Q2dZSUtvWkl6ajBFQXdJd0ZURVQKTUJFR0ExVUVDaE1LYTNWaVpYSnVaWFJsY3pBZUZ3MHlOakE0TURReE9ERXlOVGhhRncwek5qQTRNREV4T0RFeQpOVGhhTUJVeEV6QVJCZ05WQkFvVENtdDFZbVZ5Ym1WMFpYTXdXVEFUQmdjcWhrak9QUUlCQmdncWhrak9QUU1CCkJ3TkNBQVJMNkc5S0RtMEpRbnRvOWR1U2gyc2JLTGlDcGROMkR3bFNINFVZZ2c1aEJiR2ptR2lGWS9uWkExWnYKSDJoRWphbmgwOTFhVkl4ckhoVzRHaURhNHhncW8yRXdYekFPQmdOVkhROEJBZjhFQkFNQ0FvUXdIUVlEVlIwbApCQll3RkFZSUt3WUJCUVVIQXdFR0NDc0dBUVVGQndNQ01BOEdBMVVkRXdFQi93UUZNQU1CQWY4d0hRWURWUjBPCkJCWUVGSUhhMUVzeFdMek9IMC9DZWtTajEvV2k3Y0NhTUFvR0NDcUdTTTQ5QkFNQ0EwZ0FNRVVDSUhjSndUV0UKVlQ0QzhpWTl4V2psRDBNN2ZlWnFLS3gybFplQldNMTUxQ3lwQWlFQS9rZkZLRnVkNFNNdlgrcUw0cU95dEtTKwpJUm9YVmVsb2hSekFpWVRIK29zPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==
key: "" key: ""
# Configures cluster member discovery. # Configures cluster member discovery.
discovery: discovery: