External ETCD
Требования к запуску новых кластеров с внешним Etcd
Перед началом установки кластера следует удовлетворить следующие требования:
Заметка
Etcd может быть как в кластерном, так и одиночном исполнении
Заметка
Использовать одну инсталяцию Etcd для 2-х и более кластеров невозможно
- Работоспособный Etcd
- Доступ будущего кластера к Etcd
Изменения в установке Управляющего кластера
В файловую систему АРМ администратора нужно скопировать сертификаты для авторизации в Etcd:
- Корневой сертификат Etcd
- Клиентский сертификат
- Ключ клиентского сертификата
Далее дополните конфигурацию для установки параметрами
...
controlPlane:
etcd:
caCertificateFile: FULL_PATH_ETCD_CA_CERTIFICATE_FILE (1)
clientCertificateFile: FULL_PATH_ETCD_CLIENT_CERTIFICATE_FILE (2)
clientKeyFile: FULL_PATH_ETCD_CLIENT_KEY_FILE (3)
endpoints: (4)
- ETCD_ENDPOINT_1
- ETCD_ENDPOINT_2
- ETCD_ENDPOINT_3
...
- Абсолютный путь до корневого сертификата.
- Абсолютный путь до клиентского сертификата
- Абсолютный путь до ключа клиентского сертификата
- Список Etcd endpoints.
Может принимать нечетные значения.
Формат заполнения: "https://ETCD_IP_ADDRESS:$ETCD_PORT"
Далее используйте стандартную инструкцию установки управляющего кластера.
Изменения в установке Подчинённого кластера
Перед установкой создайте секреты на управляющем кластере
apiVersion: v1
kind: Secret
metadata:
name: SUBCLUSTER_NAME-etcd (1)
namespace: SUBCLUSTER_NAMESPACE (2)
data:
tls.crt: SUBCLUSTER_ETCD_CA_CERTIFICATE (3)
type: Opaque
- Имя Secret для хранения корневого сертификата
- Namespace управляющего кластера, который будет содержать объекты подчинённого кластера
- Содержимое корневого сертификата, закодированное в base64
apiVersion: v1
kind: Secret
metadata:
name: SUBCLUSTER_NAME-apiserver-etcd-client (1)
namespace: SUBCLUSTER_NAMESPACE (2)
data:
tls.crt: SUBCLUSTER_ETCD_CLIENT_CERTIFICATE (3)
tls.key: SUBCLUSTER_ETCD_CLIENT_KEY (4)
type: Opaque
- Имя Secret для хранения клиентского сертификата
- Namespace управляющего кластера, который будет содержать объекты подчинённого кластера
- Содержимое клиентского сертификата, закодированное в base64
- Содержимое ключа клиентского сертификата, закодированное в base64
Далее в зависимости от метода установки передайте параметр ETCD_ENDPOINTS
apiVersion: provisioning.bootsman.tech/v1alpha1
kind: Cluster
metadata:
name: SUBCLUSTER_NAME (1)
namespace: SUBCLUSTER_NAMESPACE (2)
spec:
capiConfig:
controlPlane:
etcd:
endpoints: (3)
- https://ETCD_IP_ADDRESS_1:$ETCD_PORT
- https://ETCD_IP_ADDRESS_2:$ETCD_PORT
- https://ETCD_IP_ADDRESS_3:$ETCD_PORT
. . .
- Имя подчиненного кластера.
Должен быть уникальным в пределах namespace.
- Namespace управляющего кластера, который будет содержать объекты подчинённого кластера
- Список Etcd endpoints.
Может принимать нечетные значения.
Формат заполнения: "https://ETCD_IP_ADDRESS:$ETCD_PORT"

