Kubernetes кластерін құру
Төменде Terraform көмегімен әртүрлі Kubernetes кластерлерін құру мысалдары келтірілген. Кластерді құру рәсімі Terraform көмегімен кластер құру бөлімінде егжей-тегжейлі сипатталған.
Параметрлердің толық сипаттамасы Terraform провайдерінің құжаттамасында берілген.
-
Квоталарды тексеріңіз. Таңдалған өңірде кластер құру үшін ресурстар жеткілікті екеніне көз жеткізіңіз. Әртүрлі өңірлер үшін әртүрлі квоталар бапталуы мүмкін.
Қажет болса, квоталарды арттырыңыз.
-
Cloud Containers сервисіндегі Terraform пайдалану ерекшеліктерімен танысыңыз.
-
Егер бұл әлі жасалмаған болса, Terraform орнатып, ортаны баптаңыз.
Провайдердің баптауларын Terraform конфигурациясының
provider.tfфайлына орналастырыңыз.
Кластер үшін желілік инфрақұрылым сипаттамасы бар network.tf Terraform конфигурация файлын жасаңыз:
data "vkcs_networking_network" "extnet" {name = "internet"}resource "vkcs_networking_network" "k8s" {name = "k8s-net"admin_state_up = true}resource "vkcs_networking_subnet" "k8s" {name = "k8s-subnet"network_id = vkcs_networking_network.k8s.idcidr = "192.168.199.0/24"dns_nameservers = ["8.8.8.8", "8.8.4.4"]}resource "vkcs_networking_router" "k8s" {name = "k8s-router"admin_state_up = trueexternal_network_id = data.vkcs_networking_network.extnet.id}resource "vkcs_networking_router_interface" "k8s" {router_id = vkcs_networking_router.k8s.idsubnet_id = vkcs_networking_subnet.k8s.id}
Төмендегі мысалдарда кластерлер келесі конфигурацияда жасалады:
-
Москваөңірі,GZ1қолжетімділік аймағы. -
Kubernetes нұсқасы
1.31. -
Бір
STD3-4-8master-түйіні. -
Екі
STD2-2-4worker-түйіні:-
Екі меткамен (labels):
env:testdisktype:ssd
-
Екі шектеумен (taints):
taintkey1:taintvalue1:PreferNoScheduletaintkey2:taintvalue2:PreferNoSchedule
-
Әр кластерге сыртқы IP мекенжайы тағайындалады.
-
Кластерді құру мысалдарының бірін таңдап, қажетті мазмұны бар main.tf Terraform конфигурация файлын жасаңыз:
data "vkcs_compute_flavor" "k8s-master-flavor" {name = "STD3-4-8"}data "vkcs_compute_flavor" "k8s-node-group-flavor" {name = "STD2-2-4"}data "vkcs_kubernetes_clustertemplate" "k8s-template" {version = "1.31"}resource "vkcs_kubernetes_cluster" "k8s-cluster" {depends_on = [vkcs_networking_router_interface.k8s,]name = "k8s-cluster-tf"cluster_template_id = data.vkcs_kubernetes_clustertemplate.k8s-template.idmaster_flavor = data.vkcs_compute_flavor.k8s-master-flavor.idmaster_count = 1network_id = vkcs_networking_network.k8s.idsubnet_id = vkcs_networking_subnet.k8s.idavailability_zone = "GZ1"floating_ip_enabled = true}resource "vkcs_kubernetes_node_group" "k8s-node-group" {name = "k8s-node-group"cluster_id = vkcs_kubernetes_cluster.k8s-cluster.idflavor_id = data.vkcs_compute_flavor.k8s-node-group-flavor.idnode_count = 2labels {key = "env"value = "test"}labels {key = "disktype"value = "ssd"}taints {key = "taintkey1"value = "taintvalue1"effect = "PreferNoSchedule"}taints {key = "taintkey2"value = "taintvalue2"effect = "PreferNoSchedule"}}
-
provider.tf,network.tfжәнеmain.tfTerraform конфигурация файлдарын бір директорияға орналастырыңыз. -
Осы директорияға өтіңіз.
-
Келесі команданы орындаңыз:
terraform init -
Келесі команданы орындаңыз:
terraform applyРастауды сұраған кезде
yesенгізіңіз. -
Операцияның аяқталуын күтіңіз.
Егер Terraform көмегімен жасалған ресурстар енді қажет болмаса, оларды жойыңыз:
-
Terraform конфигурация файлдары бар директорияға өтіңіз.
-
Келесі команданы орындаңыз:
terraform destroyРастауды сұраған кезде
yesенгізіңіз. -
Операцияның аяқталуын күтіңіз.