Mar a cheanglas tu cruinneachaidhean Kubernetes ann an diofar ionadan dàta

Mar a cheanglas tu cruinneachaidhean Kubernetes ann an diofar ionadan dàta
Fàilte don t-sreath Kubernetes Quick Start againn. Is e colbh cunbhalach a tha seo leis na ceistean as inntinniche a gheibh sinn air-loidhne agus nar trèanadh. Freagairtean eòlaiche Kubernetes.

Is e eòlaiche an latha an-diugh Daniel Polenchik (Daniele Polencic). Tha Daniel ag obair mar oide agus leasaiche bathar-bog aig Ionnsaich 8s.

Ma tha thu airson do cheist a fhreagairt anns an ath phost, cuir fios thugainn air post-dealain no Twitter: @learnk8s.

Na chaill thu puist roimhe? Lorg iad an seo.

Mar a cheanglas tu cruinneachaidhean Kubernetes ann an diofar ionadan dàta?

Gu h-aithghearr: Kubefed v2 a’ tighinn a dh’ aithghearr, agus tha mi cuideachd a’ moladh leughadh mu dheidhinn Seoladair и pròiseact clàr-ama ioma-chlaisneachd.

Gu math tric, bidh bun-structar air ath-aithris agus air a chuairteachadh thar diofar roinnean, gu sònraichte ann an àrainneachdan fo smachd.

Mura h-eil aon sgìre ri fhaighinn, thèid trafaic ath-stiùireadh gu sgìre eile gus briseadh a sheachnadh.

Le Kubernetes, faodaidh tu ro-innleachd den aon seòrsa a chleachdadh agus eallach obrach a sgaoileadh thairis air diofar roinnean.

Faodaidh aon bhuidheann no barrachd a bhith agad airson gach sgioba, sgìre, àrainneachd, no measgachadh de na h-eileamaidean sin.

Faodar na cruinneachaidhean agad a chumail ann an diofar sgòthan agus san togalach.

Ach ciamar a phlanas tu bun-structar airson a leithid de sgaoileadh cruinn-eòlasach?
Am feum thu aon bhuidheann mòr a chruthachadh airson grunn àrainneachdan sgòthan thairis air aon lìonra?
No a bheil mòran chlàran beaga ann agus dòigh a lorg gus smachd a chumail orra agus an sioncronachadh?

Aon bhuidheann stiùiridh

Chan eil e cho furasta aon bhuidheann a chruthachadh thairis air aon lìonra.

Smaoinich gu bheil tubaist agad, tha ceangal eadar roinnean brabhsair air chall.

Ma tha aon phrìomh fhrithealaiche agad, chan fhaigh leth de na goireasan òrdughan ùra oir cha bhith e comasach dhaibh fios a chuir chun mhaighstir.

Agus aig an aon àm tha seann bhùird slighe agad (kube-proxy chan urrainn dhut feadhainn ùra a luchdachadh sìos) agus gun pods a bharrachd (chan urrainn kubelet ùrachaidhean iarraidh).

Gus cùisean a dhèanamh nas miosa, mura faic Kubernetes nód, bidh e ga chomharrachadh mar dhìlleachdachd agus a’ cuairteachadh na pods a tha a dhìth gu nodan a th’ ann mar-thà.

Mar thoradh air an sin, tha a dhà uimhir de pods agad.

Ma nì thu aon phrìomh fhrithealaiche airson gach sgìre, bidh duilgheadasan ann leis an algairim co-aontachd san stòr-dàta msaa. (mu thuairmeas. deas. - Gu dearbh, chan fheum an stòr-dàta msaa a bhith suidhichte air na prìomh luchd-frithealaidh. Faodar a ruith air buidheann de luchd-frithealaidh air leth san aon roinn. Fìor, aig an aon àm a 'faighinn puing fàilligeadh a' bhraisle. Ach gu sgiobalta.)

cleachdadh msaa algairim raftgus an luach a cho-rèiteachadh mus sgrìobh thu air diosc e.
Is e sin, feumaidh mòr-chuid de chùisean co-aontachd a ruighinn mus urrainnear an stàit a sgrìobhadh gu msaa.

Ma dh’ èiricheas an latency eadar cùisean msaa gu mòr, mar a tha fìor le trì cùisean msaa ann an diofar roinnean, bheir e ùine mhòr luach a cho-rèiteachadh agus a sgrìobhadh gu diosc.
Tha seo ri fhaicinn ann an luchd-riaghlaidh Kubernetes.

Feumaidh am manaidsear smachd barrachd ùine airson ionnsachadh mun atharrachadh agus am freagairt a sgrìobhadh don stòr-dàta.

Agus leis nach eil aon rianadair ann, ach grunn, bidh freagairt slabhraidh a’ tighinn gu buil agus bidh am buidheann gu lèir a’ tòiseachadh ag obair gu math slaodach.

etcd cho mothachail air latency sin Tha na sgrìobhainnean oifigeil a’ moladh SSDs a chleachdadh an àite draibhean cruaidh àbhaisteach.

Chan eil eisimpleirean math ann an-dràsta de lìonra mòr airson aon bhuidheann.

Gu bunaiteach, tha a’ choimhearsnachd leasaiche agus a’ bhuidheann SIG-cluster a’ feuchainn ri faighinn a-mach ciamar a chuireas iad cruinneachaidhean air dòigh san aon dòigh a bhios Kubernetes a’ stiùireadh shoithichean.

Roghainn 1: caidreachas braisle le kubefed

Freagairt oifigeil bho bhuidheann SIG - kubefed2, dreach ùr den neach-dèiligidh agus gnìomhaiche caidreachas kube tùsail.

Airson a’ chiad uair, dh’ fheuch sinn ri cruinneachadh de chruinneachaidhean a riaghladh mar aon nì a’ cleachdadh inneal caidreachais kube.

Bha an tòiseachadh math, ach aig a 'cheann thall cha robh fèill mhòr air co-bhanntachd kube oir cha robh e a' toirt taic dha na goireasan gu lèir.

Thug e taic do lìbhrigeadh is seirbheisean aonaichte, ach cha robh StatefulSets, mar eisimpleir.
Cuideachd, chaidh rèiteachadh a’ chaidreachais a ghluasad ann an cruth notaichean agus cha robh e sùbailte.

Smaoinich mar a dh’ fhaodadh tu cunntas a thoirt air mac-samhail de sgaradh airson gach buidheann ann an caidreachas a’ cleachdadh dìreach notaichean.

Bha e na bhreugan iomlan.

Rinn SIG-cluster tòrr obair às deidh kubefed v1 agus chuir iad romhpa dèiligeadh ris an duilgheadas bho cheàrn eadar-dhealaichte.

An àite notaichean, chuir iad romhpa rianadair a leigeil ma sgaoil a tha air a chuir a-steach air cruinneachaidhean. Faodar a ghnàthachadh le bhith a’ cleachdadh Mìneachadh Ghoireasan Custom (CRDs).

Airson gach goireas a bhios mar phàirt den chaidreachas, tha mìneachadh àbhaisteach CRD agad le trì earrannan:

  • mìneachadh coitcheann air goireas, mar eisimpleir cleachdadh;
  • earrann placement, far a bheil thu a’ mìneachadh mar a thèid an goireas a sgaoileadh sa chaidreachas;
  • earrann override, far an urrainn dhut, airson goireas sònraichte, faighinn thairis air cuideam agus crìochan bho shuidheachadh.

Seo eisimpleir de lìbhrigeadh còmhla le earrannan suidheachaidh agus a’ dol thairis air.

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

Mar a chì thu, tha an solar air a sgaoileadh thairis air dà bhuidheann: cluster1 и cluster2.

Bidh a’ chiad bhuidheann a’ toirt seachad trì mac-samhail, agus tha an dàrna fear air a shuidheachadh gu 5.

Ma tha barrachd smachd a dhìth ort air an àireamh de mhac-samhail, tha kubefed2 a’ toirt seachad rud ùr ReplicaSchedulingPreference far am faodar cuideam a chuir air mac-samhail:

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

Chan eil structar CRD agus API deiseil fhathast, agus tha obair ghnìomhach a’ dol air adhart ann an stòr oifigeil a’ phròiseict.

Cumaibh sùil air kubefed2, ach cuimhnich nach eil e fhathast freagarrach airson riochdachadh.

Ionnsaich tuilleadh mu kubefed2 bho artaigil oifigeil mu kubefed2 sa bhlog mu Kubernetes agus ann an stòr oifigeil den phròiseact kubefed.

Roghainn 2: a’ cothlamadh chlàran ann an stoidhle Booking.com

Cha do dh'obraich luchd-leasachaidh Booking.com air kubefed v2, ach thàinig iad suas le Shipper - gnìomhaiche airson a lìbhrigeadh air grunn chlàran, ann an grunn roinnean agus ann an grunn sgòthan.

Seoladair rudeigin coltach ri kubefed2.

Leigidh an dà inneal leat an ro-innleachd cleachdadh ioma-chnuasach agad a ghnàthachadh (dè na cruinneachaidhean a thathas a’ cleachdadh agus cia mheud mac-samhail a th’ aca).

ach Is e amas an neach-reic an cunnart bho mhearachdan a lughdachadh aig àm lìbhrigidh.

Ann an Shipper, faodaidh tu sreath de cheumannan a mhìneachadh a bheir cunntas air roinneadh mac-samhail eadar an cleachdadh roimhe agus an-dràsta agus na tha de thrafaig a’ tighinn a-steach.

Nuair a phutas tu goireas gu brabhsair, bidh an rianadair Shipper a’ sgaoileadh a-mach mean air mhean air feadh nan cruinneachaidhean ceangailte.

Cuideachd, tha Shipper glè chuingealaichte.

Mar eisimpleir, tha e a’ gabhail ri clàran stiùiridh mar chur-a-steach agus chan eil e a’ toirt taic do ghoireasan vanilla.
San fharsaingeachd, bidh Shipper ag obair mar seo.

An àite lìbhrigeadh àbhaisteach, feumaidh tu goireas tagraidh a chruthachadh anns a bheil clàr 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

Tha an neach-lìbhrigidh na dheagh roghainn airson grunn bhuidhnean a riaghladh, ach chan eil an dàimh dlùth aige ri Helm a’ faighinn air adhart.

Dè ma thionndaidheas sinn uile bho Helm gu gnàthaich no caiptein?

Faigh a-mach tuilleadh mu Shipper agus an fheallsanachd aige aig am fios naidheachd oifigeil seo.

Ma tha thu airson cladhach a-steach don chòd, rachaibh gu stòr oifigeil a’ phròiseict.

Roghainn 3: cruinneachadh brabhsair “draoidheachd”.

Bidh Kubefed v2 agus Shipper ag obair le caidreachas brabhsair, a’ toirt seachad goireasan ùra gu cruinneachaidhean tro mhìneachadh ghoireasan àbhaisteach.

Ach dè mura h-eil thu airson a h-uile lìbhrigeadh, StatefulSets, DaemonSets, msaa ath-sgrìobhadh airson a dhol còmhla?

Mar a bheir thu a-steach cruinneachadh gnàthaichte ann an caidreachas gun a bhith ag atharrachadh YAML?

Is e pròiseact Admirality a th’ ann an multi-cluster-ccheduler, a bhios a’ dèiligeadh ri bhith a’ clàradh eallach obrach air cruinneachaidhean.

Ach an àite a bhith a ’tighinn suas le dòigh ùr air eadar-obrachadh leis a’ bhuidheann agus goireasan a chòmhdach ann am mìneachaidhean àbhaisteach, tha clàr-ama ioma-chnuasach freumhaichte ann an cearcall-beatha àbhaisteach Kubernetes agus a ’toirt a-steach a h-uile gairm a chruthaicheas pods.

Thèid dummy a chuir an àite gach pod cruthaichte sa bhad.

cleachdadh ioma-cluster-clàraiche webooks airson atharrachadh ruigsinneachdgus stad a chuir air a’ ghairm agus cruthaich pod dummy seòlta.

Bidh am pod tùsail a’ dol tro chearcall dealbhaidh eile far am bi, às deidh a’ chaidreachas gu lèir a bhith a’ bhòtadh, co-dhùnadh suidheachaidh.

Mu dheireadh, thèid am pod a lìbhrigeadh don bhuidheann targaid.

Mar thoradh air an sin, tha pod a bharrachd agad nach dèan dad, dìreach a’ gabhail àite.

Is e a’ bhuannachd a th’ ann nach robh agad ri goireasan ùra a sgrìobhadh gus stuthan a chur còmhla.

Tha gach goireas a chruthaicheas pod deiseil gu fèin-obrachail airson a chur còmhla.

Tha seo inntinneach, oir gu h-obann tha stuthan agad air an sgaoileadh thairis air grunn roinnean, agus cha do mhothaich thu eadhon. Ach, tha seo gu math cunnartach, oir tha a h-uile dad an seo an urra ri draoidheachd.

Ach ged a tha Shipper a’ feuchainn ri buaidh lìbhrigidh a lughdachadh sa mhòr-chuid, bidh clàr-ama ioma-chnuasach a’ làimhseachadh gnìomhan nas fharsainge agus is dòcha gu bheil e nas freagarraiche airson obraichean baidse.

Chan eil uidheamachd lìbhrigidh mean air mhean adhartach aige.

Gheibhear tuilleadh mu chlàr-ama ioma-chnuasach aig duilleag stòr-dàta oifigeil.

Ma tha thu airson leughadh mu chlàr-amais ioma-chnuasach ann an gnìomh, tha Admiralty air cùis cleachdaidh inntinneach le Argo - sruthan obrach, tachartasan, CI agus CD Kubernetes.

Innealan agus fuasglaidhean eile

Is e obair iom-fhillte a th’ ann a bhith a’ ceangal agus a’ riaghladh grunn bhuidhnean, agus chan eil fuasgladh uile-choitcheann ann.

Ma tha thu airson tuilleadh rannsachaidh a dhèanamh air a’ chuspair seo, seo cuid de ghoireasan:

Tha sin uile airson an-diugh

Tapadh leibh airson an leughadh gu deireadh!

Ma tha fios agad mar a cheanglas tu grunn chlàran ann an dòigh nas èifeachdaiche, innis dhuinn.

Cuiridh sinn do dhòigh-obrach ris na ceanglaichean.

Taing shònraichte do Chris Nesbitt-Smith (Chris Nesbitt-Smith) agus Vincent de Sme (Vincent De Smet) (innleadair earbsachd ann an swatmobile.io) airson an artaigil a leughadh agus fiosrachadh feumail a cho-roinn mu mar a tha an caidreachas ag obair.

Source: www.habr.com

Cuir beachd ann