External ETCD
Требования к запуску новых кластеров с внешним Etcd
Перед началом установки кластера следует удовлетворить следующие требования:
Заметка
Etcd может быть как в кластерном, так и одиночном исполнении
Заметка
Использовать одну инсталяцию Etcd для 2-х и более кластеров невозможно
- Работоспособный Etcd
- Доступ будущего кластера к Etcd
Изменения в установке Управляющего кластера
В файловую систему АРМ администратора нужно скопировать сертификаты для авторизации в Etcd:
- Корневой сертификат Etcd
- Клиентский сертификат
- Ключ клиентского сертификата
Далее дополните конфигурацию для установки параметрами
...
controlPlane:
etcd:
caCertificateFile: ${FULL_PATH_ETCD_CA_CERTIFICATE_FILE}
clientCertificateFile: ${FULL_PATH_ETCD_CLIENT_CERTIFICATE_FILE}
clientKeyFile: ${FULL_PATH_ETCD_CLIENT_KEY_FILE}
endpoints:
- ${ETCD_ENDPOINT_1}
- ${ETCD_ENDPOINT_2}
- ${ETCD_ENDPOINT_3}
...
| Имя параметра | Описание | Комментарий |
|---|---|---|
| FULL_PATH_ETCD_CA_CERTIFICATE_FILE | Абсолютный путь до корневого сертификата | |
| FULL_PATH_ETCD_CLIENT_CERTIFICATE_FILE | Абсолютный путь до клиентского сертификата | |
| FULL_PATH_ETCD_CLIENT_KEY_FILE | Абсолютный путь до ключа клиентского сертификата | |
| ETCD_ENDPOINT | Список Etcd endpoints | Формат "https://${ip}:${port}". |
Далее используйте стандартную инструкцию установки управляющего кластера.
Изменения в установке Подчинённого кластера
Перед установкой создайте секреты на управляющем кластере
apiVersion: v1
kind: Secret
metadata:
name: ${SUBCLUSTER_NAME}-etcd
namespace: ${SUBCLUSTER_NAMESPACE}
data:
tls.crt: ${SUBCLUSTER_ETCD_CA_CERTIFICATE}
type: Opaque
apiVersion: v1
kind: Secret
metadata:
name: ${SUBCLUSTER_NAME}-apiserver-etcd-client
namespace: ${SUBCLUSTER_NAMESPACE}
data:
tls.crt: ${SUBCLUSTER_ETCD_CLIENT_CERTIFICATE}
tls.key: ${SUBCLUSTER_ETCD_CLIENT_KEY}
type: Opaque
| Имя параметра | Описание | Комментарий |
|---|---|---|
| ${SUBCLUSTER_NAME} | Имя будущего подчинённого кластера | |
| ${SUBCLUSTER_NAMESPACE} | Namespace, в котором будет создан подчинённый кластер | |
| ${SUBCLUSTER_ETCD_CA_CERTIFICATE} | Содержимое корневого сертификата, закодированное в base64 | |
| ${SUBCLUSTER_ETCD_CLIENT_CERTIFICATE} | Содержимое клиентского сертификата, закодированное в base64 | |
| ${SUBCLUSTER_ETCD_CLIENT_KEY} | Содержимое ключа клиентского сертификата, закодированное в base64 |
Далее в зависимости от метода установки передайте параметр ETCD_ENDPOINTS
