Sida loogu xidho kooxaha Kubernetes ee xarumaha xogta ee kala duwan

Sida loogu xidho kooxaha Kubernetes ee xarumaha xogta ee kala duwan
Ku Soo Dhawoow Taxanahayada Kubernetes Quick Start. Tani waa tiir joogta ah oo ay ku jiraan su'aalaha ugu xiisaha badan ee aan ka helno internetka iyo tababaradayada. Kubernetes khabiir ku jawaabay.

Khabiirka maanta waa Daniel Polenchik (Daniele Polencic). Daniel waxa uu ka shaqeeyaa macalin ahaan iyo horumariye software ka ah Barashada8s.

Haddii aad rabto in su'aashaada looga jawaabo qoraalka soo socda, nagala soo xidhiidh email ahaan ama Twitter: @learnk8s.

Ma seegay qoraaladii hore? Halkan ka hel.

Sida loogu xidho kooxaha Kubernetes ee xarumaha xogta ee kala duwan?

Si kooban: Kubefed v2 soo socda dhawaan, sidoo kale waxaan ku talinayaa in wax laga akhriyo Maraakiibta и mashruuc jadwal-kooxeedyo badan.

Inta badan, kaabayaasha ayaa lagu soo koobaa oo loo qaybiyaa gobollo kala duwan, gaar ahaan meelaha la xakameeyey.

Haddii hal gobol la waayo, taraafikada waxaa loo wareejiyaa mid kale si looga fogaado kala go'a.

Kubernetes, waxaad isticmaali kartaa istaraatiijiyad la mid ah oo waxaad u qaybin kartaa culeyska shaqada gobollada kala duwan.

Waxaad yeelan kartaa hal ama in ka badan koox kasta, gobol, deegaan, ama isku darka walxahan.

Kooxdaada waxaa lagu martigelin karaa daruuro kala duwan iyo dhismo.

Laakin sidee u qorshaysaa kaabayaasha fidinta juqraafigan?
Ma u baahan tahay inaad hal koox oo weyn u abuurto dhowr deegaan oo daruuro ah hal shabakad keliya?
Mise waxaad haysataa rucubyo yaryar oo badan oo hela hab lagu xakameeyo oo la isku xidho?

Hal koox oo hogaamineed

Abuuritaanka hal koox oo hal shabakad ah ma fududa.

Bal qiyaas inaad shil gashay, isku xidhidhaanshaha qaybaha kooxdu waa lumay.

Haddii aad leedahay hal server oo sayid ah, kala badh agabyadu ma awoodi doonaan inay helaan amarro cusub sababtoo ah ma awoodi doonaan inay la xiriiraan sayidkiisa.

Isla mar ahaantaana waxaad haysataa miisas hore oo dariiqa ah (kube-proxy ma soo dejisan karo kuwa cusub) iyo majiro dheeri ah (kubelet ma codsan karo cusbooneysiin).

Taas waxaa ka sii daran, haddii Kubernetes uusan arkin qanjirada, waxay u calaamadeysaa inay tahay agoon waxayna u qaybineysaa boodhka maqan ee noodhka jira.

Natiijo ahaan, waxaad haysataa labanlaab kabo badan.

Haddii aad hal server u samayso gobol kasta, waxaa jiri doona dhibaatooyin xagga algorithm-ka la isku raacsan yahay ee ku jira xogta iwm. (qiyaastii ed. - Dhab ahaantii, xogta etcd qasab maaha inay ku yaalliin server-yada sayidyada. Waxaa lagu maamuli karaa koox gaar ah oo server ah oo isku gobol ah. Run, isla markaana helaya dhibic guuldarro ah oo kutlada ah. Laakiin si degdeg ah.)

iwm isticmaal algorithm raftin laga xaajoonayo qiimaha ka hor inta aan loo qorin diskka.
Taasi waa, inta badan kiisaska waa in ay gaaraan is afgarad ka hor inta aan gobolka loo qorin iwm.

Haddii daahitaanka u dhexeeya dhacdooyinka etcd ay si aad ah u korodho, sida kiiska saddex dhacdo etcd ee gobolo kala duwan, waxay qaadataa wakhti dheer in laga xaajoodo qiimaha oo lagu qoro disk.
Tani waxay ka muuqataa maamulayaasha Kubernetes.

Maareeyaha kontarooluhu wuxuu u baahan yahay wakhti dheeraad ah si uu u barto isbeddelka oo uu u qoro jawaabta kaydka.

Oo maadaama aysan jirin hal maamule, laakiin dhowr, falcelinta silsiladda ayaa natiijadeeda oo dhan kooxdu waxay bilaabataa inay si tartiib tartiib ah u shaqeyso.

etcd aad bay xasaasi u tahay Dukumentiga rasmiga ah wuxuu ku talinayaa in la isticmaalo SSD-yada halkii laga isticmaali lahaa darawallada adag ee caadiga ah.

Hadda ma jiraan tusaaleyaal wanaagsan oo shabakad ballaaran oo hal koox ah.

Asal ahaan, bulshada horumarisa iyo kooxda SIG-kutlada waxay isku dayayaan inay ogaadaan sida loo abaabulo kooxaha si la mid ah habka Kubernetes u abaabulo weelasha.

Xulashada 1: Xiriirka kutlada oo leh kubefed

Jawaabta rasmiga ah ee SIG-cluster - kubefed2, nooc cusub oo ah macmiilkii xidhiidhka Kube ee asalka ahaa iyo hawlwadeenkii.

Markii ugu horeysay, waxaan isku daynay inaan maareyno ururinta rucubyada sida shay kaliya anagoo adeegsanayna qalabka federaalka ee kube.

Bilawgii wanagsanaay,laakin aakhirkii xidhiidhka Kube waligiis ma noqon mid caan ah sababtoo ah ma aysan taageerin dhammaan kheyraadka.

Waxay taageertay gaarsiinta iyo adeegyada federaalku, laakiin ma aha StatefulSets, tusaale ahaan.
Sidoo kale, qaabeynta xiriirka ayaa loo gudbiyay qaab qoraal ah mana ahayn mid dabacsan.

Bal qiyaas sida aad u qeexi karto qaybinta nuqul ka mid ah koox kasta oo ka tirsan federaalka adigoo isticmaalaya tafsiir keliya.

Waxay ahayd qas buuxa.

SIG-cluster waxay qabatay shaqo badan ka dib kubefed v1 waxayna go'aansatay inay dhibaatada u wajahdo dhinac kale.

Halkii wax laga sheegi lahaa, waxay go'aansadeen inay siidaayaan kontaroolaha ku rakiban kooxaha. Waxaa lagu habeyn karaa iyadoo la adeegsanayo Qeexitaannada Kheyraadka Gaarka ah (CRDs).

Kheyraad kasta oo ka mid noqon doona federaalka, waxaad haysataa qeexitaan CRD caadadii ah oo leh saddex qaybood:

  • qeexida caadiga ah ee kheyraadka, tusaale ahaan geynta;
  • qaybta placement, halkaas oo aad ku qeexday sida khayraadka loogu qaybin doono federaalka;
  • qaybta override, halkaas oo kheyraad gaar ah aad ka saari karto miisaanka iyo cabbirrada meelaynta.

Halkan waxaa ah tusaale gudbinta la isku daray oo leh meelayn iyo qaybo ka-hortagga.

apiVersion: types.federation.k8s.io/v1alpha1
kind: FederatedDeployment
metadata:
  name: test-deployment
  namespace: test-namespace
spec:
  template:
    metadata:
      labels:
        app: nginx
    spec:
      replicas: 3
      selector:
        matchLabels:
          app: nginx
      template:
        metadata:
          labels:
            app: nginx
        spec:
          containers:
            - image: nginx
              name: nginx
  placement:
    clusterNames:
      - cluster2
      - cluster1
  overrides:
    - clusterName: cluster2
      clusterOverrides:
        - path: spec.replicas
          value: 5

Sida aad arki karto, sahayda waxaa loo qaybiyaa laba qaybood: cluster1 и cluster2.

Kooxda koowaad waxay bixisaa saddex nuqul, kan labaadna waxa loo dejiyay 5.

Haddii aad u baahan tahay xakameyn dheeraad ah oo ku saabsan tirada nuqullada, kubefed2 waxay ku siinaysaa shay cusub oo ReplicaSchedulingPreference halkaas oo nuqullada lagu miisaami karo:

apiVersion: scheduling.federation.k8s.io/v1alpha1
kind: ReplicaSchedulingPreference
metadata:
  name: test-deployment
  namespace: test-ns
spec:
  targetKind: FederatedDeployment
  totalReplicas: 9
  clusters:
    A:
      weight: 1
    B:
      weight: 2

Qaab dhismeedka CRD iyo API wali diyaar uma aha, waxaana shaqo firfircooni ka socotaa kaydka mashruuca ee rasmiga ah.

Isha ku hay kubefed2, laakiin xusuusnow inaysan weli ku habboonayn wax soo saarka.

Wax badan ka baro kubefed2 maqaal rasmi ah oo ku saabsan kubefed2 in blog ku saabsan Kubernetes iyo gudaha kaydka rasmiga ah ee mashruuca kubefeed.

Xulashada 2: isku darka kooxaha ee qaabka Booking.com

Soo-saareyaasha Booking.com kama aysan shaqeynin kubefed v2, laakiin waxay la yimaadeen Shipper - howlwadeenka gaarsiinta kooxo badan, dhowr gobol iyo dhowr daruur.

Maraakiibta xoogaa la mid ah kubefed2.

Labada qalabba waxay kuu oggolaanayaan inaad habayso istaraatiijiyadaada geynta koox-kooxaha badan (kutlooyinka la isticmaalo iyo inta nuqul ee ay haystaan).

Weliba Hadafka Shipper waa in la yareeyo khatarta khaladaadka xilliga dhalmada.

Shipper, waxaad ku qeexi kartaa tillaabooyin taxane ah oo qeexaya kala qaybinta nuqullada u dhexeeya hawlgelinta hore iyo tan hadda iyo mugga taraafikada soo socota.

Marka aad agabka u riixdo koox, kontaroolaha Shipper-ka ayaa si kordhis ah u rogaya isbeddelkaas dhammaan kooxaha ku biiray.

Sidoo kale, Shipper waa mid aad u xaddidan.

Tusaale ahaan, Waxay aqbashaa jaantusyada koofiyadda sida gelinta mana taageerto agabka vaniljka.
Guud ahaan, Shipper wuxuu u shaqeeyaa sidan oo kale.

Halkii laga heli lahaa gaarsiinta caadiga ah, waxaad u baahan tahay inaad abuurto agab codsi oo ay ku jiraan shaxda Helm:

apiVersion: shipper.booking.com/v1alpha1
kind: Application
metadata:
  name: super-server
spec:
  revisionHistoryLimit: 3
  template:
    chart:
      name: nginx
      repoUrl: https://storage.googleapis.com/shipper-demo
      version: 0.0.1
    clusterRequirements:
      regions:
        - name: local
    strategy:
      steps:
        - capacity:
            contender: 1
            incumbent: 100
          name: staging
          traffic:
            contender: 0
            incumbent: 100
        - capacity:
            contender: 100
            incumbent: 0
          name: full on
          traffic:
            contender: 100
            incumbent: 0
    values:
      replicaCount: 3

Shipper waa ikhtiyaar wanaagsan oo lagu maareeyo kooxo badan, laakiin xiriirkeeda dhow ee Helm kaliya ayaa soo gala.

Ka warran haddii aan dhammaanteen ka soo wareegno Helm habayn ama kabtan?

Wax badan ka baro Shipper iyo falsafadeeda war-saxaafadeedkan rasmiga ah.

Hadii aad rabto in aad cod ka galiso madaxa kaydka mashruuca rasmiga ah.

Xulashada 3: isku darka kooxda "sixir"

Kubefed v2 iyo Shipper waxay la shaqeeyaan xiriirka kooxda, iyagoo siinaya ilo cusub kooxuhu iyada oo loo marayo qeexitaanka kheyraadka gaarka ah.

Laakiin maxaa dhacaya haddii aadan rabin inaad dib u qorto dhammaan gaarsiinta, StatefulSets, DaemonSets, iwm. si aad isugu darto?

Sidee loogu daraa kutlada jirta ee federaalka iyada oo aan la beddelin YAML?

Jadwalaha-kutlada badan waa mashruuc Admirality, kaas oo ka hadlaya jadwalaynta culayska shaqada ee kutlada.

Laakiin halkii aad la iman lahayd hab cusub oo lagula falgalo kutlada oo lagu duubo agabka qeexitaanno caado ah, jadwal-kooxeedyo badan ayaa ku dhex jira meertada nololeed ee Kubernetes oo dhexda dhammaan wicitaannada abuura boodhka

Mid kasta oo la abuuray isla markiiba waxaa lagu beddelaa khariidad.

isticmaalka jadwal-kooxeedka badan webhooks si wax looga beddelo gelitaankasi ay u dhexgalaan wacitaanka oo ay u abuuraan boodh aan shaqaynayn.

Boodhka asalka ahi waxa uu maraa meerto kale oo qorshayn ah,kadib marka la codeeyo dhamaan federeeshinka, go'aanka meelaynta ayaa la sameeyaa.

Ugu dambayntii, boodhka waxa la geeyaa kooxda la beegsanayo.

Natiijo ahaan, waxaad haysataa boodh dheeri ah oo aan waxba qaban, oo kaliya qaadata boos.

Faa'iidada ayaa ah inaadan u baahnayn inaad qorto ilo cusub si aad isugu geyso sahayda.

Ilaha kasta oo abuura boodh si toos ah ayuu diyaar ugu yahay in la isku daro.

Tani waa mid xiiso leh, sababtoo ah si lama filaan ah waxaad haysataa sahayda loo qaybiyay gobollo badan, oo xitaa ma aadan dareemin. Si kastaba ha ahaatee, tani waa arrin khatar ah, sababtoo ah wax kasta oo halkan ah waxay ku tiirsan yihiin sixir.

Laakin halka Shipper uu isku dayayo in uu badiyaa yareeyo saameynta dhalmada, jadwalleyaasha-kutlada badan waxay qabtaan hawlo guud oo badan waxaana laga yaabaa inay ku habboon yihiin shaqooyinka dufcada.

Ma laha hab-gaarsiin tartiib tartiib ah oo horumarsan.

Wax badan oo ku saabsan jadwalka-kutlada badan ayaa laga heli karaa bogga rasmiga ah ee kaydka.

Haddii aad rabto in aad wax ka akhrido jadwalaha-kutlada badan ee ficilka ah, Admiralty ayaa leh kiiska isticmaalka xiiso leh Argo - socodka shaqada, dhacdooyinka, CI iyo CD Kubernetes.

Qalabka kale iyo xalalka

Isku xirka iyo maaraynta kooxo badan waa hawl adag, mana jiro xal caalami ah.

Haddii aad jeclaan lahayd inaad mawduucan u sii sahamiso, halkan waxaa ah agabyo:

Maanta waa intaas

Waad ku mahadsan tahay akhrinta ilaa dhamaadka!

Haddi aad taqaano sida loogu xidho kooxo badan si hufan noo sheeg.

Habkaaga waxaan ku dari doonaa isku xirka

Mahad gaar ah ayaa leh Chris Nesbitt-Smith (Chris Nesbitt-Smithiyo Vincent de Sme (Vincent De Smet) (Injineer isku halaynta swatmobile.io) in la akhriyo maqaalka lana wadaago macluumaadka waxtarka leh ee ku saabsan sida uu xiriirku u shaqeeyo.

Source: www.habr.com

Add a comment