Mukuenderera mberi kune ichangopfuura
Nhanganyaya
Sei izvi?
Zvinangwa zvakatikurudzira kukudziridza CCM yeYandex.Cloud inopindirana zvachose neaya atotsanangurwa mukati
CCM chii chaizvo?
Kazhinji, tinogadzirira zvakatipoteredza zvakatipoteredza nokuda kwesumbu kubva kunze - semuenzaniso, kushandisa Terraform. Asi dzimwe nguva pane kudikanwa kwekutonga makore nharaunda yakatitenderedza kubva kucluster. Kugona uku kunopihwa, uye ndiko kunoitwa
Kunyanya, Cloud Controller Maneja inopa marudzi mashanu makuru ekudyidzana:
- Mienzaniso - inoshandisa hukama hwe1: 1 pakati pechinhu chenode muKubernetes (
Node
) uye muchina chaiwo mune gore rinopa. Kune izvi isu:- zadza mumunda
spec.providerID
muchinhuNode
. Semuenzaniso, yeOpenStack CCM iyi ndima ine inotevera fomati:openstack:///d58a78bf-21b0-4682-9dc6-2132406d2bb0
. Iwe unogona kuona zita remupi wegore uye yakasarudzika UUID yeseva (chaiyo muchina muOpenStack) yechinhu; - mubatsiri
nodeInfo
muchinhuNode
ruzivo nezve virtual muchina. Semuenzaniso, isu tinotsanangura muenzaniso mhando muAWS; - Isu tinotarisa kuvepo kweiyo chaiyo muchina mugore. Somuenzaniso, kana chinhu
Node
akapinda mune imwe nyikaNotReady
, unogona kutarisa kana iwo chaiwo muchina uripo zvachose mune wegore mupi neproviderID
. Kana chisipo, bvisa chinhu chachoNode
, iyo yaizoramba iri musumbu nokusingaperi;
- zadza mumunda
- dzinodengenyeka - inoisa iyo yekukundikana domain yechinhu
Node
, kuitira kuti mugadziri agone kusarudza node yePod maererano nematunhu uye nzvimbo mune cloud provider; - LoadBalancer - pakugadzira chinhu
Service
with typeLoadBalancer
inogadzira rudzi rwekuenzanisa iyo inotungamira traffic kubva kunze kuenda kumasumbu masumbu. Somuenzaniso, muYandex.Cloud unogona kushandisaNetworkLoadBalancer
ΠΈTargetGroup
nokuda kwezvinangwa izvi; - Nzira - inovaka network pakati pe node, nekuti Zvinoenderana nezvinodiwa naKubernetes, podhi yega yega inofanirwa kuve neyayo IP kero uye inokwanisa kusvika chero imwe pod. Nezvinangwa izvi, unogona kushandisa yakavharika network (VXLAN, GENEVE) kana kuseta tafura yenzira yakananga mune chaiyo network yemupi wegore:
- vhorumu - Inobvumira kurongeka kwePV uchishandisa PVC uye SC. Pakutanga, kushanda uku kwaive chikamu cheCCM, asi nekuda kwekuoma kwayo kukuru kwakaendeswa kune imwe chirongwa, Container Storage Interface (CSI). Takataura nezveCSI kanopfuura kamwe
akanyora uye, sezvatotaurwa, kunyangeyakaburitswa CSI mutyairi.
Pakutanga, kodhi yese inodyidzana negore yaive munzvimbo huru yeGit repository yeKubernetes chirongwa pa. k8s.io/kubernetes/pkg/cloudprovider/providers
, asi vakasarudza kusiya izvi nekuda kwekusagadzikana kwekushanda nehombe yekodhi base. Zvese zviitwa zvekare zvakaendeswa
Sezvakaita neCSI, vazhinji vanopa makore makuru vakatogadzira maCCM avo kuti awedzere makore paKubernetes. Kana mutengesi asina CCM, asi mabasa ese anodiwa anowanikwa kuburikidza neAPI, saka iwe unogona kuita CCM iwe pachako.
Kunyora yako pachako kuita kweCCM, zvakakwana kuita
Kutevedzera
Masvika sei pakadai
Takatanga kusimudzira (kana kuti, kunyange kushandisa) ne
Nekudaro, mukuita uku takanga tisipo:
- kuvimbiswa kuburikidza neJWT IAM chiratidzo;
- Sevhisi controller rutsigiro.
Mukubvumirana nemunyori (dlisin) muTeregiramu, isu takaforoma yandex-cloud-controller-maneja uye tikawedzera mabasa asipo.
Zvinhu zvakakosha
Parizvino, CCM inotsigira zvinotevera:
- Mienzaniso;
- dzinodengenyeka;
- LoadBalancer.
Mune ramangwana, apo Yandex.Cloud inotanga kushanda nepamusoro VPC maitiro, tichawedzera interface Routes.
LoadBalanacer sedambudziko guru
Pakutanga, takaedza, semamwe mashandisirwo eCCM, kugadzira vaviri LoadBalancer
ΠΈ TargetGroup
kune imwe neimwe Service
with type LoadBalancer
. Nekudaro, Yandex.Cloud yakawana imwe inonakidza muganho: haugone kushandisa TargetGroups
nekuyambuka Targets
(vaviri SubnetID
- IpAddress
).
Nokudaro, mukati meCCM yakagadzirwa, mutongi anotangwa, iyo, kana zvinhu zvachinja Node
inounganidza ruzivo nezve ese mainterface pamushini wega wega chaiwo, anoaunganidza zvinoenderana nekwavo kune vamwe NetworkID
, inogadzira ne TargetGroup
pamusoro NetworkID
, uye zvakare monitors kukosha. Zvadaro, pakugadzira chinhu Service
with type LoadBalanacer
isu tinongobatanidza pre-yakagadzirwa TargetGroup
kune itsva NetworkLoadBalanacer
'am.
Ungatanga sei kushandisa?
CCM inotsigira Kubernetes vhezheni 1.15 uye yepamusoro. Muchikwata, kuti ishande, inoda kuti mureza --cloud-provider=external
yakagadzirirwa true
ye kube-apiserver, kube-controller-maneja, kube-scheduler uye zvese kubelets.
Matanho ese anodiwa ekuisa pachayo anotsanangurwa mukati
Kuti ushandise CCM iwe uchada zvakare:
-
ratidza mune manifest the directory identifier (folder-id
) Yandex.Cloud; - service account yekudyidzana neYandex.Cloud API. Mumanifesto
Secret
zvinodiwakutamisa makiyi ane mvumo kubva kuakaundi yebasa. Muzvinyorwaakatsanangura , maitiro ekugadzira account yebasa uye kuwana makiyi.
Tichafara kugamuchira mhinduro yako uye
Migumisiro
Isu tanga tichishandisa iyo yakaitwa CCM mumasumbu mashanu eKubernetes mumavhiki maviri apfuura uye kuronga kuwedzera nhamba yavo kusvika makumi maviri mumwedzi unouya. Isu parizvino hatikurudzire kushandisa CCM kune yakakura uye yakaoma K20s kuisirwa.
Sezviri muCSI, isu tichafara kana vagadziri veYandex vakatora kusimudzira uye kutsigirwa kweprojekiti iyi - takagadzirira kuendesa repository pakukumbira kwavo kuitira kuti tiite mabasa anonyanya kukosha kwatiri.
PS
Verenga zvakare pablog yedu:
- Β«
Chiitiko chedu mukugadzira mutyairi weCSI muKubernetes yeYandex.Cloud "; - Β«
Zviri nyore uye zviri nyore kugadzirira Kubernetes cluster? Kuzivisa addon-operator "; - Β«
Kuwedzera uye kuzadzisa Kubernetes (wongororo uye vhidhiyo mushumo) ".
Source: www.habr.com