Перейти к содержанию

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 
...
  1. Абсолютный путь до корневого сертификата.
  2. Абсолютный путь до клиентского сертификата
  3. Абсолютный путь до ключа клиентского сертификата
  4. Список 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

  1. Имя Secret для хранения корневого сертификата
  2. Namespace управляющего кластера, который будет содержать объекты подчинённого кластера
  3. Содержимое корневого сертификата, закодированное в 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

  1. Имя Secret для хранения клиентского сертификата
  2. Namespace управляющего кластера, который будет содержать объекты подчинённого кластера
  3. Содержимое клиентского сертификата, закодированное в base64
  4. Содержимое ключа клиентского сертификата, закодированное в base64

Далее в зависимости от метода установки передайте параметр ETCD_ENDPOINTS

Wizard ETCD Wizard ETCD

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
. . .

  1. Имя подчиненного кластера.

    Должен быть уникальным в пределах namespace.

  2. Namespace управляющего кластера, который будет содержать объекты подчинённого кластера
  3. Список Etcd endpoints.

    Может принимать нечетные значения.

    Формат заполнения: "https://ETCD_IP_ADDRESS:$ETCD_PORT"