Skip to main content
Version: 1.12-grodno (current)

Terraform Module: k8s_master

Модуль развертывает Kubernetes кластер в Yandex Cloud.


Ресурсы

РесурсОписание
yandex_kubernetes_clusterОсновной кластер Kubernetes
yandex_iam_service_accountService Account для кластера
yandex_resourcemanager_folder_iam_memberIAM роли (editor, dns_editor, images-puller, kms_encdec)
yandex_kms_symmetric_keyKMS ключ для шифрования (опционально)
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-zonestring-Геозона поставщика
provider-tokenstring-Токен для доступа к Yandex Cloud
provider-folderidstring-ID каталога
k8s_cluster_namestringk8s-default-clusterИмя кластера
k8s_kms_enabledboolfalseВключить KMS поддержку
k8s_public_ipboolfalseПубличный IP для master
vpc_idstring-ID VPC сети
subnet_idstring-ID подсети кластера
master_whitelist_cidrlist(string)см. нижеСписок IP для доступа к API
cluster_subnetslist(string)-Подсети для разрешения трафика между master и workers
lb_access_listlist(any)["0.0.0.0/0"]Список IP для доступа к LoadBalancer
cluster_ipv4_rangestring10.112.0.0/16CIDR для pod'ов
service_ipv4_rangestring10.96.0.0/16CIDR для сервисов

Примечание по 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

ИмяОписание
idID кластера
nameИмя кластера
cluster_idID кластера
sa_access_keyAccess ключ Service Account
sa_secret_keySecret ключ Service Account
k8s-main-sgID security group k8s-main-sg
k8s-public-servicesID security group k8s-public-services
k8s-master-whitelistID security group k8s-master-whitelist
alb_security_group_idID security group lb_access