Me pehea te hono i nga kohinga Kubernetes ki nga pokapū raraunga rereke

Me pehea te hono i nga kohinga Kubernetes ki nga pokapū raraunga rereke
Nau mai ki ta maatau raupapa Timata Tere Kubernetes. He pou rite tonu tenei me nga patai tino pai ka whakawhiwhia ki a maatau ipurangi me a maatau whakangungu. Ko nga whakautu a te tohunga Kubernetes.

Ko te tohunga o tenei ra ko Daniel Polenchik (Daniele Polencic). Ka mahi a Raniera hei kaiwhakaako me te kaiwhakawhanake rorohiko i Ako8s.

Mena kei te pirangi koe kia whakautua to patai i te panui e whai ake nei, whakapā mai mā te īmēra ranei Twitter: @ako8s.

I ngaro nga whakairinga o mua? Kimihia ratou i konei.

Me pehea te hono i nga kohinga Kubernetes ki nga pokapū raraunga rereke?

Poto: Kua tata mai a Kubefed v2, a ka tūtohu ano ahau ki te panui mo He-kaipuke и kaupapa maha-cluster-scheduler.

I te nuinga o nga wa, ka whakahouhia nga hanganga me te tohatoha ki nga rohe rereke, ina koa ki nga taiao whakahaere.

Mena karekau tetahi rohe i te waatea, ka tukuna atu nga waka ki tetahi atu kia kore ai e pakaru.

Ma nga Kubernetes, ka taea e koe te whakamahi i tetahi rautaki rite me te tohatoha i nga kawenga mahi puta noa i nga rohe rereke.

Ka taea e koe kia kotahi, neke atu ranei nga tautau mo ia kapa, rohe, taiao, he huinga ranei o enei huānga.

Ka taea te manaaki i o tautau ki nga kapua rereke me te waahi-whare.

Engari me pehea e whakamahere ai koe i nga hanganga mo taua horapa matawhenua?
Me hanga e koe tetahi kahui nui mo etahi taiao kapua i runga i te whatunga kotahi?
He maha ranei nga tautau iti ka kitea he huarahi hei whakahaere me te tukutahi?

Kotahi te roopu kaiarahi

Ko te hanga i tetahi tautau i runga i te whatunga kotahi ehara i te mea ngawari.

Whakaarohia he aitua koe, kua ngaro te hononga i waenga i nga wahanga kahui.

Mēnā kotahi tō tūmau matua, karekau te haurua o ngā rauemi e whiwhi tono hōu nā te mea karekau e taea te whakapā atu ki te rangatira.

A i te wa ano kei a koe nga ripanga ararere tawhito (kube-proxy kaore e taea te tango i nga mea hou) karekau he putunga taapiri (kaore e taea e kubelet te tono whakahou).

Ko te mea kino ake, ki te kore a Kubernetes e kite i tetahi node, ka tohuhia he pani, ka tohatoha i nga pona kua ngaro ki nga pona o naianei.

Ko te mutunga, ka rua ake te maha o nga pene.

Mena ka mahi koe i tetahi kaitoro matua mo ia rohe, ka raru te algorithm o te whakaaetanga i roto i te paataka raraunga etcd. (āhua. ed. — Inaa, karekau e tika kia noho te papaunga raraunga etcd ki runga i nga kaitoro matua. Ka taea te whakahaere i runga i te roopu motuhake o nga kaitoro i te rohe kotahi. Pono, i te wa ano ka whiwhi i te waahi o te kore o te tautau. Engari tere.)

whakamahia etcd raft algorithmki te whiriwhiri i te uara i mua i te tuhi ki te kōpae.
Arā, ko te nuinga o nga wa me tae ki te whakaaetanga i mua i te tuhi i te kawanatanga ki etcd.

Mena ka tino piki ake te roa i waenga i nga tauira etcd, pera me te toru o nga tauira etcd i nga rohe rereke, ka roa te wa ki te whiriwhiringa i tetahi uara me te tuhi ki te kōpae.
Ka kitea tenei i roto i nga kaiwhakahaere Kubernetes.

Me nui ake te wa o te kaiwhakahaere kaiwhakahaere ki te ako mo te huringa me te tuhi i te whakautu ki te papaarangi.

Na i te mea kaore he kaiwhakahaere kotahi, engari he maha, ka puta mai he tauhohenga mekameka, ka tino puhoi te mahi a te kahui katoa.

etcd he tino tairongo tairongo tera E taunaki ana nga tuhinga whaimana kia whakamahia nga SSD hei utu mo nga puku pakeke.

I tenei wa kaore he tauira pai mo te whatunga nui mo te roopu kotahi.

Ko te tikanga, kei te ngana te hapori kaiwhakawhanake me te roopu SIG-cluster ki te whakaaro me pehea te whakarite i nga tautau kia rite ki ta Kubernetes te whakarite ipu.

Kōwhiringa 1: Huihuinga kāhui me te kubefed

Whakautu mana mai i te roopu-SIG - kubefed2, he putanga hou o te kube federation kiritaki me te kaiwhakahaere.

Mo te wa tuatahi, i whakamatau matou ki te whakahaere i te kohinga tautau hei ahanoa kotahi ma te whakamahi i te taputapu kube federation.

He pai te tiimatanga, engari i te mutunga kare rawa te kube federation i rongonui na te mea kaore i tautokohia nga rawa katoa.

I tautokohia e ia nga tuku me nga ratonga whakakotahi, engari ehara i te StatefulSets, hei tauira.
I tua atu, i tukuna te whirihoranga o te federation i roto i te ahua o nga tuhipoka me te kore e ngawari.

Whakaarohia me pehea e taea ai e koe te whakaahua i te wehewehenga tauira mo ia kahui i roto i te roopu ma te whakamahi i nga korero noa.

I puta mai he tino raruraru.

He maha nga mahi a SIG-cluster i muri i te kubefed v1 ka whakatau ki te whakatata atu ki te raru mai i tetahi koki rereke.

Engari i nga korero, i whakatau ratou ki te tuku i tetahi kaiwhakahaere kua whakauruhia ki runga i nga tautau. Ka taea te whakarite ma te whakamahi i nga Whakaritenga Rauemi Ritenga (CRDs).

Mo ia rauemi ka uru ki roto i te whakakotahitanga, he whakamaramatanga CRD taau e toru nga waahanga:

  • whakamāramatanga paerewa o te rauemi, hei tauira te horahanga;
  • wāhanga placement, kei hea koe e tautuhi ai me pehea te tohatoha o te rauemi i roto i te whakakotahitanga;
  • wāhanga override, kei hea mo tetahi rauemi motuhake ka taea e koe te whakakore i te taumaha me nga tawhā mai i te tuunga.

Anei tetahi tauira o te tukunga whakakotahi me te whakaurunga me te whakakore i nga waahanga.

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

Ka taea e koe te kite, ka tohatohahia te toha ki nga roopu e rua: cluster1 и cluster2.

Ko te huinga tuatahi e tuku ana i nga tauira e toru, ka tohua te tuarua ki te 5.

Mena ka hiahia koe ki te whakahaere i te maha o nga tauira, ka tukuna e kubefed2 he ahanoa ReplicaSchedulingPreference hou ka taea te taumahatanga o nga tauira:

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

Ko te hanganga CRD me te API kaore ano kia tino rite, kei te haere tonu nga mahi i roto i te putunga kaupapa mana.

Kia mau ki te kubefed2, engari kia mahara kaore ano kia pai mo te hanga.

Ako atu mo kubefed2 mai tuhinga whaimana mo kubefed2 i roto i te blog mo Kubernetes me roto putunga mana o te kaupapa kubefed.

Kōwhiringa 2: te whakakotahi i nga tautau ki te ahua Booking.com

Ko nga kaiwhakawhanake o Booking.com kaore i mahi i runga i te kubefed v2, engari i puta mai ko Shipper - he kaiwhakahaere mo te tuku i runga i nga tautau maha, i nga rohe maha me nga kapua maha.

He-kaipuke he ahua rite ki te kubefed2.

Ko nga taputapu e rua ka taea e koe te whakarite i to rautaki tohatoha maha-ahua (he aha nga tautau e whakamahia ana me te maha o nga tauira).

Otiia Ko te whainga a Kaituku ko te whakaiti i te tupono o nga hapa i te wa e tukuna ana.

I roto i te Kaituku, ka taea e koe te tautuhi i te raupapa o nga hikoinga e whakaahua ana i te wehewehenga o nga tauira i waenga i te tukunga o mua me o naianei me te nui o nga waka taumai.

Ina pana ana koe i tetahi rauemi ki tetahi tautau, ka huri haere tonu te Kaituku Kaituku i taua huringa puta noa i nga tautau hono katoa.

Ano, he iti rawa te Kaituku.

Hei tauira, ka whakaae ia ki nga tūtohi urungi hei whakaurunga me te kore e tautoko i nga rauemi vanilla.
I roto i nga tikanga whanui, he penei te mahi a Shipper.

Engari i te tuku paerewa, me hanga e koe he rauemi tono kei roto he tūtohi 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

Ko te Kaituku he whiringa pai mo te whakahaere i nga tautau maha, engari ko tana hononga tata ki a Helm ka raru noa.

He aha mena ka huri tatou katoa mai i Helm ki whakarite ranei kāpene?

Rapua etahi atu korero mo Shipper me ona whakaaro i tenei tuku korero whaimana.

Ki te hiahia koe ki te keri ki te waehere, haere ki te putunga kaupapa mana.

Kōwhiringa 3: "makutu" te hanumi kahui

Ka mahi tahi a Kubefed v2 me Shipper me te roopu roopu, e whakarato ana i nga rauemi hou ki nga tautau na roto i te whakamaramatanga rauemi ritenga.

Engari me pehea ki te kore koe e hiahia ki te tuhi ano i nga tukunga katoa, StatefulSets, DaemonSets, aha atu kia hanumi?

Me pehea te whakauru i tetahi kahui kei roto i te roopu me te kore e whakarereke i te YAML?

he kaupapa Admirality te maha-cluster-scheduler, e pa ana ki te whakarite i nga kawenga mahi i runga i nga tautau.

Engari hei utu mo te hanga huarahi hou ki te taunekeneke me te roopu me te takai i nga rauemi i roto i nga whakamaramatanga ritenga, ka whakaurua te maha-cluster-scheduler ki roto i te huringa ora o Kubernetes paerewa me te haukoti i nga waea katoa e hanga ana i nga pene.

Ka whakakapia ia peera i hangaia ki te peera.

whakamahi maha-cluster-hōtaka webhooks mo te whakarereketanga uruki te haukoti i te piiraa me te hanga i te putunga pukoro mangere.

Ka haere te peera taketake ki tetahi atu huringa whakamahere, i muri i te pooti mo te katoa o te huihuinga, ka whakatauhia te tuunga.

Ka mutu, ka tukuna atu te pona ki te kahui kua tohua.

Ko te hua o tenei, he putea taapiri kaore he mahi, ka nui noa te waahi.

Ko te painga ko te kore koe e tuhi rauemi hou hei whakakotahi i nga taonga.

Kei te reri aunoa ia rauemi ka waihanga i te pākākano hei hanumi.

He mea whakamiharo tenei, na te mea kua tohatohahia e koe nga taonga ki nga rohe maha, a kaore koe i kite. Heoi, he tino morearea tenei, na te mea ko nga mea katoa kei konei kei runga i te makutu.

Engari i te wa e ngana ana a Shipper ki te whakaiti i te paanga o nga tukunga, he maha ake nga mahi a te kapopuu-kaiwhakarite, he pai ake pea mo nga mahi roopu.

Karekau he tikanga tuku tere.

Ka kitea etahi atu korero mo te maha-cluster-scheduler i wharangi putunga mana.

Mena kei te pirangi koe ki te panui mo te maha-cluster-scheduler e mahi ana, kei a Admiralty take whakamahi pai ki a Argo — rerengamahi, takahanga, CI me CD Kubernetes.

Ko etahi atu taputapu me nga otinga

Ko te hono me te whakahaere i nga tautau maha he mahi uaua, kaore he otinga mo te ao.

Mena kei te pirangi koe ki te tirotiro i tenei kaupapa, koinei etahi rauemi:

Heoi ano mo tenei ra

Mauruuru koe mo te panui ki te mutunga!

Mena ka mohio koe ki te hono pai ake i nga tautau maha, korerotia mai.

Ka taapirihia e matou to tikanga ki nga hononga.

Nga mihi nui ki a Chris Nesbitt-Smith (Chris Nesbitt-Smith) me Vincent de Sme (Vincent De Smet) (kaiwhakamahi pono i swatmobile.io) mo te panui i te tuhinga me te tiritiri i nga korero whai hua mo te mahi a te roopu.

Source: will.com

Tāpiri i te kōrero