Terraform көмегімен бірінші буындағы кластерді құру
Төменде Terraform көмегімен бірінші буындағы кластерді құру сипатталады. Сондай-ақ бірінші буындағы кластерді VK Cloud жеке кабинетінде де құра аласыз.
Әртүрлі кластерлерді құруға арналған дайын конфигурациялық файлдар мысалдары Terraform бөлімінде келтірілген.
-
Кластерді құру жоспарланып отырған аймақ үшін қолжетімді ресурстармен және квоталармен танысыңыз. Әртүрлі аймақтар үшін әртүрлі квоталар бапталған болуы мүмкін.
Қажет болса, квоталарды ұлғайтыңыз.
-
Cloud Containers сервисіндегі Terraform пайдалану ерекшеліктерімен танысыңыз.
-
Егер бұл әлі жасалмаса, Terraform орнатып, ортаны баптаңыз.
-
Егер бұл әлі жасалмаса, OpenStack CLI орнатыңыз және авторизациядан өтіңіз.
-
Terraform конфигурациялық файлын жасаңыз.
-
Кластердің master-түйіндері үшін виртуалды машинаның қай түрі пайдаланылатынын анықтаңыз:
-
Келесі пәрменді орындаңыз:
openstack flavor listҚолжетімді виртуалды машина түрлері шығарылады.
-
Қажетті виртуалды машина түрін таңдап, оның атын Name бағанынан жазып алыңыз.
-
-
Кластер қай Kubernetes нұсқасымен құрылуы керек екенін анықтаңыз:
-
Конфигурациялық файлға келесі жолдарды қосыңыз:
data "vkcs_kubernetes_clustertemplates" "k8s-template-list" {}output "k8s-version-list" {value = data.vkcs_kubernetes_clustertemplates.k8s-template-list.cluster_templates.*.version} -
Келесі пәрменді орындаңыз:
terraform refresh -
Келесі пәрменді орындаңыз:
terraform output k8s-version-listKubernetes-тің қолжетімді нұсқаларының тізімі шығарылады.
-
Қажетті Kubernetes нұсқасын таңдап, оның нөмірін жазып алыңыз.
-
-
Конфигурациялық файлға дереккөздерді қосыңыз:
-
Master-түйіндерге арналған виртуалды машина шаблоны. Мысал:
data "vkcs_compute_flavor" "k8s-master-flavor" {name = "STD3-2-4"}Шаблон атауы ретінде бұрын алынған атты көрсетіңіз.
-
Кластер шаблоны. Мысал:
data "vkcs_kubernetes_clustertemplate" "k8s-template" {version = "<ВЕРСИЯ_KUBERNETES>"}Нұсқа ретінде бұрын алынған нұсқа нөмірін көрсетіңіз.
-
Конфигурациялық файлға кластер ресурсін қосыңыз:
resource "vkcs_kubernetes_cluster" "k8s-cluster" {name = "k8s-cluster"cluster_type = "<ТИП_КЛАСТЕРА>"cluster_template_id = data.vkcs_kubernetes_clustertemplate.k8s-template.idmaster_flavor = data.vkcs_compute_flavor.k8s-master-flavor.idmaster_count = <КОЛИЧЕСТВО_MASTER_УЗЛОВ>cluster_node_volume_type = "<ТИП_ДИСКА>"network_id = "<ИДЕНТИФИКАТОР_СЕТИ>"subnet_id = "<ИДЕНТИФИКАТОР_ПОДСЕТИ>"availability_zone = "<ЗОНА_ДОСТУПНОСТИ>"floating_ip_enabled = true}
Мұнда:
-
cluster_type— кластер түрі:standart(әдепкі бойынша) — кластердің барлық master-түйіндері бір қолжетімділік аймағында орналасады. Істен шығуға төзімділік аймақ деңгейінде қамтамасыз етіледі.regional— кластердің master-түйіндері үш қолжетімділік аймағының әрқайсысында орналасады, бұл аймақтардың бірі істен шыққан жағдайда да басқаруды сақтауға мүмкіндік береді. Master-түйіндердің жалпы саны — 3 немесе одан көп.
-
master_count— master-түйіндер саны. Тақ сан болуы керек. Стандартты кластер үшін master-түйіндер саны1,3немесе5болуы керек. Аймақтық кластер үшін —3немесе5. Толығырақ Сервис архитектурасы бөлімінде. -
cluster_node_volume_type— түйіндер пайдаланатын деректерді сақтау үшін диск түрі. Таңдалған диск түрі кластердің өнімділігіне әсер етеді. Қолжетімді мәндер:ceph-ssd(әдепкі бойынша) жәнеhigh-iops. -
availability_zone— кластердің қолжетімділік аймағы. Егер кластер түрі стандартты болса, параметрді пайдаланыңыз.Москвааймағы үшін үш қолжетімділік аймағының бірін көрсетіңіз:ME1,MS1немесеPA2. -
availability_zones— кластердің қолжетімділік аймақтары. Егер кластер түрі аймақтық болса, параметрді пайдаланыңыз.Москвааймағы үшін үш қолжетімділік аймағын көрсетіңіз:["ME1", "MS1", "PA2"]. Егер кластер аймақтық болса жәнеavailability_zonesпараметрі көрсетілмесе, қолжетімділік аймақтары автоматты түрде қойылады. -
network_idжәнеsubnet_id— тиісінше желі мен ішкі желінің идентификаторлары. Оларды әртүрлі тәсілдермен көрсетуге болады:Идентификаторларды көрсетуДереккөздерді пайдалануҚұрылған ресурстарды пайдалануЕгер қажетті желілер мен ішкі желілер бұрыннан бар болса және олардың идентификаторлары сізге белгілі болса, идентификаторларды нақты көрсетіңіз.
Мысал:
resource "vkcs_kubernetes_cluster" "k8s-cluster" {name = "k8s-cluster"...network_id = "sample-id-4212-a090-9f30519275e5"subnet_id = "sample-id-4bd6-bda4-f66dc7fbaa4f"...} -
floating_ip_enabled— API-кластерге жария IP мекенжайын тағайындау:true— кластерді құру кезінде оған интернеттен кластерге қол жеткізу үшін Floating IP мекенжайы тағайындалады. Мұндай IP мекенжайын тағайындау үшінsubnet_idидентификаторы бар кластердің ішкі желісі сыртқы желіге қолжетімді маршрутизаторға қосылған болуы керек.false— кластерге Floating IP мекенжайы тағайындалмайды.
Terraform көмегімен кластерге аддондарды орнату үшін қолжетімді аддондар тізімін алыңыз және қажеттілерін орнатыңыз.
Бұл операция Worker-түйіндер тобын басқару бөлімінде егжей-тегжейлі сипатталған.
-
Terraform конфигурациялық файлының дұрыстығын тексеріңіз:
terraform validate -
Жоспарланған өзгерістермен танысыңыз:
terraform plan -
Жоспарланған өзгерістерді қолданыңыз:
terraform applyKubernetes кластерін құру басталады. Бұл процесс кластер өлшеміне байланысты ұзақ уақыт алуы мүмкін.
- Кластерге қосылу жоспарланып отырған хостта ортаны баптаңыз.
- Кластерді пайдалану сценарийлерімен танысыңыз.
- Cloud Containers сервисінің тұжырымдамаларымен танысыңыз.