Ahoana ny fampifandraisana ireo kluster Kubernetes amin'ny foibe data samihafa

Ahoana ny fampifandraisana ireo kluster Kubernetes amin'ny foibe data samihafa
Tongasoa eto amin'ny andiany Kubernetes Quick Start. Ity dia tsanganana mahazatra misy fanontaniana mahaliana indrindra azonay amin'ny Internet sy amin'ny fiofananay. Valin'ny manampahaizana Kubernetes.

Ny manam-pahaizana ankehitriny dia Daniel Polenchik (Daniele Polencic). Daniel dia miasa amin'ny maha-mpampianatra sy mpamorona rindrambaiko ao amin'ny Learnk8s.

Raha tianao ny hamaly ny fanontanianao amin'ny lahatsoratra manaraka, mifandraisa aminay amin'ny mailaka na Twitter: @learnk8s.

Tsy hita ny lahatsoratra teo aloha? Tadiavo eto izy ireo.

Ahoana ny fampifandraisana ireo kluster Kubernetes amin'ny foibe angona samihafa?

fohifohy: Kubefed v2 ho avy tsy ho ela, ary manoro hevitra ihany koa aho hamaky momba Mpandefa ΠΈ tetikasa multi-cluster-scheduler.

Matetika, ny fotodrafitrasa dia averina sy zaraina amin'ny faritra samihafa, indrindra amin'ny tontolo voafehy.

Raha tsy misy ny faritra iray dia averina mankany amin'ny iray hafa ny fifamoivoizana mba hisorohana ny fahatapahana.

Miaraka amin'ny Kubernetes, afaka mampiasa tetika mitovy amin'izany ianao ary mizara enta-mavesatra amin'ny faritra samihafa.

Azonao atao ny manana cluster iray na maromaro isaky ny ekipa, faritra, tontolo iainana, na fitambaran'ireo singa ireo.

Azo apetraka amin'ny rahona sy eny an-toerana ny clusters anao.

Ahoana anefa no hanomananao fotodrafitrasa ho an'ny fiparitahana ara-jeografika toy izany?
Mila mamorona cluster lehibe iray ho an'ny tontolo rahona maromaro amin'ny tambajotra tokana ve ianao?
Sa manana cluster kely maro ary mitady fomba hifehezana sy hampifanaraka azy ireo?

Vondrona mpitarika iray

Ny famoronana cluster iray amin'ny tambajotra tokana dia tsy mora.

Alaivo sary an-tsaina hoe misy lozam-pifamoivoizana ianao, very ny fifandraisana eo amin'ny fizarana cluster.

Raha manana mpizara master iray ianao dia tsy ho afaka handray baiko vaovao ny antsasaky ny loharano satria tsy afaka mifandray amin'ny tompony izy ireo.

Ary miaraka amin'izay koa dia manana latabatra routing taloha ianao (kube-proxy tsy afaka misintona vaovao) ary tsy misy pod fanampiny (tsy afaka mangataka fanavaozana ny kubelet).

Ny tena ratsy kokoa, raha tsy mahita node i Kubernetes, dia manamarika azy ho kamboty ary mizara ireo pods tsy hita amin'ny node efa misy.

Vokatr'izany dia manana pods avo roa heny ianao.

Raha manao mpizara master iray isaky ny faritra ianao, dia hisy olana amin'ny algorithm consensus ao amin'ny database etcd. (eo ho eo ed. - Raha ny marina, ny angona etcd dia tsy voatery ho hita ao amin'ny lohamilina lehibe. Azo atao amin'ny vondrona mpizara misaraka amin'ny faritra iray ihany izy io. Marina, miaraka amin'izay koa mahazo teboka tsy fahombiazana ny cluster. Fa haingana.)

etcd mampiasa raft algorithmhifampiraharaha ny sandany alohan'ny hanoratana azy amin'ny kapila.
Izany hoe, ny ankamaroan'ny tranga dia tsy maintsy tonga amin'ny marimaritra iraisana alohan'ny hanoratana ny fanjakana amin'ny etcd.

Raha toa ka mitombo be ny fahatarana eo amin'ny tranga etcd, toy ny tranga telo snsd any amin'ny faritra samihafa, dia mila fotoana lava ny fifampiraharahana sanda iray ary manoratra izany amin'ny disk.
Hita taratra amin'ny mpifehy Kubernetes izany.

Mila fotoana bebe kokoa hianarana momba ny fanovana sy hanoratana ny valin'ny angon-drakitra ny mpitantana mpanara-maso.

Ary satria tsy misy mpanara-maso iray, fa maromaro, vokatry ny fihetsiketsehan'ny rojo ary manomboka miadana be ny cluster manontolo.

etcd dia tena sensitive ny latency ka Ny antontan-taratasy ofisialy dia manoro hevitra ny fampiasana SSD fa tsy ny kapila mafy mahazatra.

Amin'izao fotoana izao dia tsy misy ohatra tsara momba ny tambajotra lehibe ho an'ny cluster tokana.

Amin'ny ankapobeny, ny vondrom-piarahamonina mpamorona sy ny vondrona SIG-cluster dia miezaka ny hamantatra ny fomba fandrafetana cluster mitovy amin'ny fomba nandraisan'i Kubernetes ireo kaontenera.

Safidy 1: federasiona cluster miaraka amin'ny kubefed

Valiny ofisialy avy amin'ny SIG-cluster - kubefed2, kinova vaovao an'ny mpanjifa sy mpandraharaha federasiona kube tany am-boalohany.

Sambany izahay no nanandrana nitantana fitambarana cluster ho zavatra tokana amin'ny fampiasana ny fitaovana federasiona kube.

Tsara ny fanombohana, saingy tamin'ny farany dia tsy nalaza mihitsy ny federasiona kube satria tsy nanohana ny loharano rehetra.

Izy io dia nanohana ny fanaterana sy serivisy federasiona, fa tsy StatefulSets, ohatra.
Ary koa, nampitaina tamin'ny endrika fanamarihan'ny federasiona ary tsy azo leferina.

Alaivo sary an-tsaina ny fomba ahafahanao mamaritra ny fisarahana kopia ho an'ny cluster tsirairay ao amin'ny federasiona amin'ny fampiasana fanamarihana fotsiny.

Nikorontana tanteraka ilay izy.

Nanao asa be ny SIG-cluster taorian'ny kubefed v1 ary nanapa-kevitra ny hanatona ny olana amin'ny lafiny hafa.

Raha tokony ho fanamarihana izy ireo dia nanapa-kevitra ny hamoaka controller izay napetraka amin'ny cluster. Azo amboarina amin'ny fampiasana Custom Resource Definitions (CRDs).

Ho an'ny loharano tsirairay izay ho anisan'ny federasiona dia manana famaritana CRD mahazatra misy fizarana telo ianao:

  • famaritana manara-penitra momba ny loharano iray, ohatra ny fametrahana;
  • faritra placement, izay mamaritra ny fomba fitsinjarana ny loharanon-karena ao amin'ny federasiona;
  • faritra override, izay ahafahanao manodina ny lanja sy ny mari-pamantarana avy amin'ny fametrahana.

Ity misy ohatra iray amin'ny fanaterana mitambatra miaraka amin'ny fizarana fametrahana sy manafoana.

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

Araka ny hitanao dia zaraina amin'ny cluster roa ny famatsiana: cluster1 ΠΈ cluster2.

Ny cluster voalohany dia manome kopia telo, ary ny faharoa dia napetraka ho 5.

Raha mila fanaraha-maso bebe kokoa amin'ny isan'ny kopia ianao, dia manome zavatra ReplicaSchedulingPreference vaovao ny kubefed2 izay azo lanjaina ny kopia:

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

Ny rafitra CRD sy ny API dia mbola tsy tena vonona, ary ny asa mavitrika dia mandeha ao amin'ny tahiry ofisialin'ny tetikasa.

Araho maso ny kubefed2 fa tsarovy fa mbola tsy mety amin'ny famokarana.

Mianara bebe kokoa momba ny kubefed2 avy amin'ny lahatsoratra ofisialy momba ny kubefed2 ao amin'ny bilaogy momba an'i Kubernetes sy in tahiry ofisialin'ny tetikasa kubefed.

Safidy 2: manambatra cluster amin'ny fomba Booking.com

Ny mpamorona ny Booking.com dia tsy niasa tamin'ny kubefed v2, fa tonga miaraka amin'ny Shipper - mpandraharaha amin'ny fandefasana amin'ny cluster maromaro, any amin'ny faritra maromaro ary amin'ny rahona maromaro.

Mpandefa somary mitovitovy amin'ny kubefed2.

Ireo fitaovana roa ireo dia ahafahanao mampifanaraka ny paikadin'ny fametrahana cluster marobe (izay cluster ampiasaina ary firy ny kopia ananany).

fa Ny tanjon'ny Shipper dia ny hampihenana ny mety hisian'ny fahadisoana mandritra ny fanaterana.

Ao amin'ny Shipper, azonao atao ny mamaritra dingana maromaro izay mamaritra ny fizaran'ny dika mitovy eo amin'ny fametrahana teo aloha sy ankehitriny ary ny habetsahan'ny fifamoivoizana miditra.

Rehefa manosika loharano iray mankany amin'ny cluster ianao, ny mpifehy Shipper dia mamoaka tsikelikely izany fiovana izany amin'ny cluster rehetra.

Ary koa, ny Shipper dia tena voafetra.

Ohatra, manaiky ny sarin'ny familiana ho fampidirana ary tsy manohana ny harena lavanila.
Amin'ny ankapobeny, ny Shipper dia miasa toy izany.

Raha tokony ho fanaterana manara-penitra ianao dia mila mamorona loharanon-kevitra izay ahitana tabilao 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 dia safidy tsara amin'ny fitantanana cluster maro, fa ny fifandraisany akaiky amin'i Helm ihany no manakana.

Ahoana raha mifindra avy amin'ny Helm ho any Ataovy miavaka na Kapiteny?

Fantaro bebe kokoa momba ny Shipper sy ny filozofiany ao ity fanambarana an-gazety ofisialy ity.

Raha te handalina ny code ianao, mankanesa any amin'ny tahiry ofisialin'ny tetikasa.

Safidy 3: fampifangaroana cluster "majika".

Kubefed v2 sy Shipper dia miara-miasa amin'ny federasiona cluster, manome loharano vaovao ho an'ny cluster amin'ny alΓ lan'ny famaritana loharano manokana.

Ahoana anefa raha tsy te-hanoratra ny fanaterana rehetra, StatefulSets, DaemonSets, sns ianao mba hitambatra?

Ahoana ny fampidirana cluster efa misy ao amin'ny federasiona nefa tsy manova ny YAML?

multi-cluster-scheduler dia tetikasa Admirality, izay miresaka momba ny fandaharam-potoana enta-mavesatra amin'ny cluster.

Saingy raha tokony hamorona fomba vaovao hifaneraserana amin'ny cluster sy hamehezana ny loharano amin'ny famaritana mahazatra, ny multi-cluster-scheduler dia tafiditra ao amin'ny tsingerin'ny fiainana Kubernetes mahazatra ary manakana ny antso rehetra mamorona pods.

Ny pod noforonina tsirairay dia soloina dummy avy hatrany.

fampiasana multi-cluster-scheduler webhooks ho an'ny fanovana fidiranahanakana ny antso ary hamorona pod dummy tsy miasa.

Ny pod tany am-boalohany dia mandeha amin'ny tsingerin-drafitra hafa izay, aorian'ny fandatsaham-bato ny federasiona manontolo, dia misy ny fanapahan-kevitra momba ny fametrahana.

Amin'ny farany, ny pod dia aterina amin'ny kluster kendrena.

Vokatr'izany dia manana pod fanampiny ianao izay tsy manao na inona na inona, maka toerana fotsiny.

Ny tombony dia tsy voatery nanoratra loharano vaovao ianao mba hanambatra ny entana.

Ny loharano tsirairay izay mamorona pod dia vonona ho azy ny hatambatra.

Mahaliana izany, satria tampoka dia nisy famatsiana nozaraina tany amin'ny faritra maromaro, ary tsy voamarikao akory. Na izany aza, tena mampidi-doza izany, satria ny zava-drehetra eto dia miankina amin'ny majika.

Saingy raha manandrana manalefaka ny fiantraikan'ny fanaterana ny Shipper, ny multi-cluster-scheduler dia mitantana asa ankapobeny kokoa ary mety tsara kokoa amin'ny asa andiany.

Tsy manana rafitra fanaterana miandalana mandroso.

More momba ny multi-cluster-scheduler dia hita ao amin'ny pejy fitehirizana ofisialy.

Raha te hamaky momba ny multi-cluster-scheduler amin'ny hetsika ianao dia manana ny Admiralty tranga fampiasana mahaliana miaraka amin'i Argo - rindranasa, hetsika, CI ary CD Kubernetes.

Fitaovana sy vahaolana hafa

Asa sarotra ny mampifandray sy mitantana cluster maro, ary tsy misy vahaolana manerantany.

Raha te hijery bebe kokoa ity lohahevitra ity ianao dia ireto misy loharano vitsivitsy:

Izay ihany ny anio

Misaotra anao namaky hatramin'ny farany!

Raha fantatrao ny fomba fampifandraisana cluster maromaro amin'ny fomba mahomby kokoa, lazao aminay.

Hanampy ny fombanao amin'ny rohy izahay.

Misaotra manokana an'i Chris Nesbitt-Smith (Chris Nesbitt-Smithary Vincent de Sme (Vincent De Smet) (injeniera azo itokisana in swatmobile.io) noho ny famakiana ny lahatsoratra sy ny fizarana vaovao mahasoa momba ny fomba fiasan'ny federasiona.

Source: www.habr.com

Add a comment