Покренули смо званичног Терраформ провајдера за рад са Селецтел-ом. Овај производ омогућава корисницима да у потпуности имплементирају управљање ресурсима кроз методологију Инфраструцтуре-ас-цоде.
Провајдер тренутно подржава управљање ресурсима услуге „Виртуелни приватни облак“ (у даљем тексту ВПЦ). У будућности планирамо да додамо управљање ресурсима за друге услуге које пружа Селецтел.
Као што већ знате, ВПЦ сервис је изграђен на ОпенСтацк-у. Међутим, због чињенице да ОпенСтацк не пружа изворне алате за опслуживање јавног облака, имплементирали смо недостајућу функционалност у скуп додатних АПИ-ја који поједностављују управљање сложеним сложеним објектима и чине рад практичнијим. Неке функције доступне у ОпенСтацк-у су затворене за директну употребу, али су доступне преко наш АПИ.
Селецтел Терраформ добављач сада укључује могућност управљања следећим ВПЦ ресурсима:
пројекти и њихове квоте;
корисници, њихове улоге и токени;
јавне подмреже, укључујући међурегионалне и ВРРП;
софтверске лиценце.
Провајдер користи нашу јавну Го библиотеку за рад са ВПЦ АПИ-јем. И библиотека и сам провајдер су отвореног кода, њихов развој се врши на Гитхубу:
Да бисте управљали другим ресурсима у облаку, као што су виртуелне машине, дискови, Кубернетес кластери, можете користити ОпенСтацк Терраформ провајдера. Званична документација за оба провајдера доступна је на следећим линковима:
Да бисте започели, потребно је да инсталирате Терраформ (упутства и везе до инсталационих пакета могу се наћи на званични сајт).
За рад, провајдеру је потребан Селецтел АПИ кључ, који је креиран у контролне табле налога.
Манифести за рад са Селецтел-ом се креирају помоћу Терраформ-а или помоћу скупа готових примера који су доступни у нашем Гитхуб репозиторијуму: терраформ-примери.
Репозиторијум са примерима је подељен у два директоријума:
модули, који садржи мале модуле за вишекратну употребу који узимају скуп параметара као улаз и управљају малим скупом ресурса;
примери, који садржи примере комплетног скупа међусобно повезаних модула.
Након што инсталирате Терраформ, креирате Селецтел АПИ кључ и упознате се са примерима, пређимо на практичне примере.
У фајлу варс.тф описани су сви параметри који ће се користити приликом позивања модула. Неки од њих имају подразумеване вредности, на пример, сервер ће бити креиран у зони ру-3а са следећом конфигурацијом:
Расправа игноре_цхангес омогућава вам да игноришете промене атрибута id за слику која се користи за креирање виртуелне машине. У ВПЦ сервису, већина јавних слика се ажурира аутоматски једном недељно иу исто време id такође мења. Ово је због посебности компоненте ОпенСтацк - Гланце, у којој се слике сматрају непроменљивим ентитетима.
Ако креирате или мењате постојећи сервер или диск који има као аргумент имаге_ид употребљен id јавна слика, онда након што се та слика ажурира, поновно покретање Терраформ манифеста ће поново креирати сервер или диск. Користећи аргумент игноре_цхангес омогућава вам да избегнете такву ситуацију.
Напомена: аргумент игноре_цхангес појавио се у Терраформу доста давно: пулл#2525.
Расправа игноре_ресизе_цонфирматион потребно за успешно промену величине локалног диска, језгара или меморије сервера. Такве промене се врше преко ОпенСтацк Нова компоненте помоћу захтева ресизе. Подразумевана Нова након захтева ресизе ставља сервер у статус верифи_ресизе и чека додатну потврду корисника. Међутим, ово понашање се може променити тако да Нова не чека додатне радње корисника.
Наведени аргумент дозвољава Терраформу да не чека статус верифи_ресизе за сервер и будите спремни да сервер буде у активном статусу након промене својих параметара. Аргумент је доступан од верзије 1.10.0 ОпенСтацк Терраформ провајдера: пулл#422.
Креирање ресурса
Пре покретања манифеста, имајте на уму да су у нашем примеру покренута два различита провајдера, а ОпенСтацк провајдер зависи од ресурса Селецтел провајдера, пошто је без креирања корисника у пројекту немогуће управљати објектима који му припадају . Нажалост, из истог разлога не можемо само да покренемо команду терраформ примењују унутар нашег примера. Прво морамо да урадимо применити за модул пројецт_витх_усер а после тога и за све остало.
Напомена: Овај проблем још није решен у Терраформу, можете пратити дискусију на Гитхубу на иссуе#2430 и иссуе#4149.
Након покретања команде, Терраформ ће показати које ресурсе жели да креира и затражиће потврду:
Plan: 3 to add, 0 to change, 0 to destroy.
Do you want to perform these actions?
Terraform will perform the actions described above.
Only 'yes' will be accepted to approve.
Enter a value: yes
Када се креирају пројекат, корисник и улога, можете почети да креирате преостале ресурсе:
Можете да радите са креираном виртуелном машином преко ССХ користећи наведени ИП.
Уређивање ресурса
Поред стварања ресурса кроз Терраформ, они се такође могу модификовати.
На пример, повећајмо број језгара и меморије за наш сервер променом вредности за параметре сервер_вцпус и сервер_рам_мб у фајлу екамплес/впц/сервер_лоцал_роот_диск/маин.тф:
У нашем пример репозиторијума Такође можете видети манифесте за креирање виртуелних машина са мрежним дисковима.
Пример прављења Кубернетес кластера
Пре него што пређемо на следећи пример, очистићемо ресурсе које смо раније креирали. Да бисте то урадили у корену пројекта терраформ-екамплес/екамплес/впц/сервер_лоцал_роот_диск Покренимо команду за брисање ОпенСтацк објеката:
У оба случаја, мораћете да потврдите брисање свих објеката:
Do you really want to destroy all resources?
Terraform will destroy all your managed infrastructure, as shown above.
There is no undo. Only 'yes' will be accepted to confirm.
Enter a value: yes
Овај пример креира пројекат, корисника са улогом у пројекту и подиже један Кубернетес кластер. У фајлу варс.тф можете видети подразумеване вредности, као што су број чворова, њихове карактеристике, Кубернетес верзија итд.
Да бисмо креирали ресурсе сличне првом примеру, пре свега ћемо почети са иницијализацијом модула и креирањем ресурса модула пројецт_витх_усера затим креирати све остало:
Пренећемо креирање и управљање Кубернетес кластерима преко ОпенСтацк Магнум компоненте. Више о томе како радити са кластером можете сазнати у једном од наших претходни чланци, као и у база знања.
Приликом припреме кластера биће креирани дискови и виртуелне машине и инсталиране све потребне компоненте. Припрема траје око 4 минута, а за то време Терраформ ће приказати поруке попут:
module.kubernetes_cluster.openstack_containerinfra_cluster_v1.cluster_1: Still creating... (3m0s elapsed)
Када се инсталација заврши, Терраформ ће показати да је кластер спреман и приказати његов ИД:
Да бисте управљали креираним Кубернетес кластером преко услужног програма кубецтл потребно је да добијете датотеку за приступ кластеру. Да бисте то урадили, идите на пројекат креиран преко Терраформа на листи пројеката на вашем налогу:
Затим пратите линк као кккккк.селвпц.рукоји се појављује испод назива пројекта:
За информације за пријаву користите корисничко име и лозинку које сте креирали преко Терраформ-а. Ако ниси преварио варс.тф или маин.тф за наш пример, корисник ће имати име тф_усер. Морате користити вредност променљиве као лозинку ТФ_ВАР_усер_пассворд, што је наведено при покретању терраформ примењују раније.
Унутар пројекта морате да одете на картицу Кубернетес:
Овде се налази кластер креиран преко Терраформа. Преузмите датотеку за кубецтл можете на картици „Приступ“:
Упутства за инсталацију налазе се на истој картици. кубецтл и коришћење преузетог цонфиг.иамл.
Након лансирања кубецтл и подешавање променљиве окружења КУБЕЦОНФИГ можете користити Кубернетес:
Када се број чворова промени, кластер ће остати доступан. Након додавања чвора преко Терраформа, можете га користити без додатне конфигурације:
$ kubectl get nodes
NAME STATUS ROLES AGE VERSION
tf-cluster-rz6nggvs4va7-master-0 Ready,SchedulingDisabled master 8m v1.12.4
tf-cluster-rz6nggvs4va7-minion-0 Ready <none> 8m v1.12.4
tf-cluster-rz6nggvs4va7-minion-1 Ready <none> 8m v1.12.4
tf-cluster-rz6nggvs4va7-minion-2 Ready <none> 3m v1.12.4
Закључак
У овом чланку смо се упознали са главним начинима рада „Виртуелни приватни облак“ преко Терраформа. Биће нам драго ако користите званичног Селецтел Терраформ провајдера и пружите повратне информације.
Све грешке пронађене у Селецтел Терраформ провајдеру могу се пријавити путем Гитхуб Иссуес.