Terraform Module: k8s_master
Модуль развертывает Kubernetes кластер в Yandex Cloud.
Ресурсы
| Ресурс | Описание |
|---|---|
yandex_kubernetes_cluster | Основной кластер Kubernetes |
yandex_iam_service_account | Service Account для кластера |
yandex_resourcemanager_folder_iam_member | IAM роли (editor, dns_editor, images-puller, kms_encdec) |
yandex_kms_symmetric_key | KMS ключ для шифрования (опционально) |
yandex_iam_service_account_static_access_key | Статические access/secret ключи |
yandex_vpc_security_group | Группы безопасности (k8s-main-sg, lb_access, k8s-public-services, k8s-master-whitelist) |
Переменные
| Имя | Тип | По умолчанию | Описание |
|---|---|---|---|
provider-zone | string | - | Геозона поставщика |
provider-token | string | - | Токен для доступа к Yandex Cloud |
provider-folderid | string | - | ID каталога |
k8s_cluster_name | string | k8s-default-cluster | Имя кластера |
k8s_kms_enabled | bool | false | Включить KMS поддержку |
k8s_public_ip | bool | false | Публичный IP для master |
vpc_id | string | - | ID VPC сети |
subnet_id | string | - | ID подсети кластера |
master_whitelist_cidr | list(string) | см. ниже | Список IP для доступа к API |
cluster_subnets | list(string) | - | Подсети для разрешения трафика между master и workers |
lb_access_list | list(any) | ["0.0.0.0/0"] | Список IP для доступа к LoadBalancer |
cluster_ipv4_range | string | 10.112.0.0/16 | CIDR для pod'ов |
service_ipv4_range | string | 10.96.0.0/16 | CIDR для сервисов |
Примечание по master_whitelist_cidr:
По умолчанию: ["95.161.152.59/32", "84.201.183.0/24", "158.160.4.248/32", "51.250.53.0/24", "178.154.237.0/24", "89.169.159.26/32"]
Security Groups
k8s-main-sg (выход k8s-main-sg):
- Health checks на 10501 из
cluster_subnets - Health checks от LoadBalancer (все порты)
- Взаимодействие master-узел, узел-узел (self_security_group)
- Под-под и сервис-сервис из
cluster_ipv4_range,service_ipv4_range - ICMP из 172.16.0.0/12, 10.0.0.0/8, 192.168.0.0/16
- Исходящий трафик на 0.0.0.0/0
lb_access (выход alb_security_group_id):
- TCP 443, 80 из
lb_access_list - Health checks на 30080/10501 от LoadBalancer
- Исходящий трафик в
cluster_subnets
k8s-public-services (выход k8s-public-services):
- NodePort (30000-32767) из 0.0.0.0/0
k8s-master-whitelist (выход k8s-master-whitelist):
- TCP 6443, 443 из
master_whitelist_cidr
Output
| Имя | Описание |
|---|---|
id | ID кластера |
name | Имя кластера |
cluster_id | ID кластера |
sa_access_key | Access ключ Service Account |
sa_secret_key | Secret ключ Service Account |
k8s-main-sg | ID security group k8s-main-sg |
k8s-public-services | ID security group k8s-public-services |
k8s-master-whitelist | ID security group k8s-master-whitelist |
alb_security_group_id | ID security group lb_access |