Cov ciaj ciam no - teeb tsa qhov tsis ua haujlwm rau qhov khoom Node, kom tus neeg teem sijhawm tuaj yeem xaiv lub pob rau Pod raws li thaj chaw thiab thaj chaw hauv huab muab kev pabcuam;
LoadBalancer - thaum tsim ib yam khoom Service nrog hom LoadBalancer tsim ib hom kev sib npaug uas yuav coj cov tsheb khiav los ntawm sab nraud mus rau pawg nodes. Piv txwv li, hauv Yandex.Cloud koj tuaj yeem siv NetworkLoadBalancer ΠΈ TargetGroup rau cov hom phiaj no;
Lawv - tsim ib lub network ntawm nodes, vim Raws li Kubernetes cov cai, txhua lub pod yuav tsum muaj nws tus kheej IP chaw nyob thiab tuaj yeem ncav cuag lwm lub pod. Rau cov laj thawj no, koj tuaj yeem siv lub network sib tshooj (VXLAN, GENEVE) lossis teeb tsa lub rooj sib tham ncaj qha rau hauv lub network virtual ntawm tus muab kev pabcuam huab:
volume - Tso cai rau kev txiav txim siab ntawm PV siv PVC thiab SC. Thaum xub thawj, qhov kev ua haujlwm no yog ib feem ntawm CCM, tab sis vim nws qhov nyuaj heev nws tau tsiv mus rau ib qhov project, Container Storage Interface (CSI). Peb tau tham txog CSI ntau dua ib zaug sau tau thiab, raws li twb tau hais lawm, txawm tso tawm CSI driver.
Yav dhau los, tag nrho cov cai cuam tshuam nrog huab tau nyob rau hauv lub ntsiab Git repository ntawm Kubernetes qhov project ntawm k8s.io/kubernetes/pkg/cloudprovider/providers, tab sis lawv txiav txim siab tso tseg qhov no vim qhov tsis yooj yim ntawm kev ua haujlwm nrog lub hauv paus loj. Tag nrho cov kev siv qub tau hloov mus rau cais repository. Rau kev yooj yim ntawm kev txhawb nqa thiab kev loj hlob ntxiv, tag nrho cov khoom sib xyaw kuj tau txav mus rau cais repository.
Raws li nrog CSI, ntau tus neeg muab kev pabcuam huab loj twb tau tsim lawv CCMs los txhawb cov huab ntawm Kubernetes. Yog tias tus neeg muag khoom tsis muaj CCM, tab sis tag nrho cov haujlwm tsim nyog muaj nyob ntawm API, ces koj tuaj yeem siv CCM koj tus kheej.
Txawm li cas los xij, hauv qhov kev siv no peb tau ploj lawm:
authentication ntawm JWT IAM token;
Kev pab tswj kev txhawb nqa.
Raws li kev pom zoo nrog tus sau (dlisin) hauv Telegram, peb forked yandex-cloud-controller-manager thiab ntxiv cov haujlwm uas ploj lawm.
Cov Ntaos Ntaus
Tam sim no, CCM txhawb nqa cov interfaces hauv qab no:
zaus;
Cov ciaj ciam no;
LoadBalancer.
Nyob rau hauv lub neej yav tom ntej, thaum Yandex.Cloud pib ua hauj lwm nrog advanced VPC peev xwm, peb yuav ntxiv ib tug interface Routes.
LoadBalancer yog qhov kev sib tw tseem ceeb
Thaum pib, peb sim, zoo li lwm yam kev siv CCM, los tsim ib khub ntawm LoadBalancer ΠΈ TargetGroup rau sawv daws Service nrog hom LoadBalancer. Txawm li cas los xij, Yandex.Cloud nrhiav tau ib qho kev txwv nthuav dav: koj siv tsis tau TargetGroups nrog kev sib tshuam Targets (pair SubnetID - IpAddress).
Yog li ntawd, nyob rau hauv lub tsim CCM, ib tug maub los yog launched, uas, thaum khoom hloov Node sau cov ntaub ntawv hais txog tag nrho cov interfaces ntawm txhua lub tshuab virtual, pab pawg lawv raws li lawv cov khoom ntiag tug NetworkID, tsim los ntawm TargetGroup rau NetworkID, thiab tseem saib xyuas qhov cuam tshuam. Tom qab ntawd, thaum tsim ib yam khoom Service nrog hom LoadBalanacer peb tsuas txuas ib qho ua ntej tsim TargetGroup rau nov NetworkLoadBalanacer'kuv.
Yuav pib siv li cas?
CCM txhawb Kubernetes version 1.15 thiab siab dua. Hauv ib pawg, rau nws ua haujlwm, nws xav tau tus chij --cloud-provider=external tau teem rau true rau kube-apiserver, kube-controller-manager, kube-scheduler thiab tag nrho kubelets.
Txhua kauj ruam tsim nyog rau lub installation nws tus kheej tau piav qhia hauv NYEEM. Installation boils mus rau tsim cov khoom hauv Kubernetes los ntawm manifests.
Txhawm rau siv CCM koj kuj yuav xav tau:
qhia nyob rau hauv lub manifest lub directory identifier (folder-id) Yandex.Cloud;
kev pabcuam nyiaj rau kev cuam tshuam nrog Yandex.Cloud API. Nyob rau hauv lub manifesto Secret yog tsim nyog hloov cov yuam sij tso cai los ntawm tus account kev pabcuam. Hauv cov ntaub ntawv piav, yuav ua li cas los tsim ib qho kev pabcuam account thiab tau txais cov yuam sij.
Peb yuav zoo siab tau txais koj cov lus qhia thiab cov teeb meem tshiabyog koj ntsib teeb meem!
Cov txiaj ntsim tau los
Peb tau siv CCM ua tiav hauv tsib pawg Kubernetes ob lub lis piam dhau los thiab npaj yuav nthuav lawv tus lej mus rau 20 lub hlis tom ntej. Tam sim no peb tsis pom zoo siv CCM rau qhov loj thiab tseem ceeb K8s kev teeb tsa.