Mahimong dili nimo kinahanglan ang Kubernetes

Mahimong dili nimo kinahanglan ang Kubernetes
Batang babaye sa usa ka scooter. Ilustrasyon freepik, Nomad logo gikan sa Ang HashiCorp

Ang Kubernetes mao ang 300-pound nga gorilya sa container orchestration. Naglihok kini sa pipila sa pinakadako nga sistema sa sudlanan sa kalibutan, apan mahal.

Ilabi na nga mahal alang sa gagmay nga mga koponan, nga nanginahanglan daghang oras sa suporta ug usa ka taas nga kurba sa pagkat-on. Sobra kaayo kini nga overhead alang sa among upat nga grupo. Mao nga nagsugod kami pagpangita alang sa mga alternatibo - ug nahigugma Nomad.

Unsa imong gusto

Gisuportahan sa among team ang daghang sagad nga serbisyo sa pag-monitor ug pag-analisa sa performance: Mga endpoint sa API para sa mga sukatan nga gisulat sa Go, Prometheus exports, log parser sama sa Logstash ug Gollum, ingon man mga database sama sa InfluxDB o Elasticsearch. Ang matag usa niini nga mga serbisyo nagdagan sa kaugalingon nga sudlanan. Kinahanglan namon ang usa ka yano nga sistema aron mapadayon ang tanan.

Nagsugod kami sa usa ka lista sa mga kinahanglanon alang sa orkestra sa sudlanan:

  • Pagpadagan sa usa ka hugpong sa mga serbisyo sa daghang mga makina.
  • Overview sa nagdagan nga mga serbisyo.
  • Mga link tali sa mga serbisyo.
  • Awtomatikong i-restart kung ang serbisyo mawala.
  • Pagmentinar sa imprastraktura sa gamay nga grupo.

Dugang pa, ang mosunod nga mga butang mahimong nindot, apan dili kinahanglan nga mga pagdugang:

  • Pag-tag sa mga makina base sa ilang mga kapabilidad (pananglitan, pag-tag sa mga makina nga adunay paspas nga mga disk alang sa bug-at nga serbisyo sa I/O).
  • Abilidad sa pagpadagan sa mga serbisyo nga independente sa orkestra (pananglitan, sa panahon sa pag-uswag).
  • Usa ka komon nga dapit sa pagpaambit sa mga kumpigurasyon ug mga sekreto.
  • Endpoint para sa metrics ug logs.

Ngano nga ang Kubernetes dili angay alang kanamo

Sa among pagprototype sa Kubernetes, among namatikdan nga among gidugang ang mas komplikado nga mga layer sa lohika nga among gisaligan pag-ayo.

Isip usa ka pananglitan, ang Kubernetes nagsuporta sa built-in nga mga configuration sa serbisyo pinaagi sa ConfigMaps. Mahimo ka dali nga maglibog, labi na kung gihiusa ang daghang mga file sa pag-configure o pagdugang dugang nga mga serbisyo sa usa ka pod. Kubernetes (o helmet sa kini nga kaso) nagtugot kanimo sa dinamikong pagpatuman sa mga eksternal nga pag-configure aron mabulag ang mga kabalaka. Apan kini moresulta sa usa ka hugot, natago nga pagdugtong tali sa imong proyekto ug Kubernetes. Bisan pa, ang Helm ug ConfigMaps dugang nga mga kapilian, mao nga dili nimo kinahanglan gamiton kini. Mahimo nimong kopyahon ang pagsumpo sa imahe sa Docker. Bisan pa, makatintal ang pag-adto sa kini nga dalan ug paghimo og wala kinahanglana nga mga abstraction nga mahimo nimong magbasol sa ulahi.

Dugang pa, ang Kubernetes ecosystem paspas nga nag-uswag. Nagkinahanglan kini og daghang oras ug kusog aron makapadayon sa labing kabag-ohan sa labing kaayo nga mga gawi ug labing bag-ong mga himan. Kubectl, minikube, kubeadm, timon, tiller, kops, oc - ang listahan nagpadayon ug nagpadayon. Dili tanan niini nga mga himan gikinahanglan kung nagsugod ka, apan wala ka mahibal-an kung unsa ang imong kinahanglan, busa kinahanglan nimo nga mahibal-an ang tanan. Tungod niini, ang kurba sa pagkat-on medyo titip.

Kanus-a gamiton ang Kubernetes

Sa among kompanya, daghang mga tawo ang naggamit sa Kubernetes ug nalipay kaayo niini. Kini nga mga higayon gidumala sa Google o Amazon, nga adunay mga kapanguhaan aron suportahan sila.

Nag-uban ang Kubernetes talagsaon nga mga bahin, nga naghimo sa container orkestra sa sukod nga mas madumala:

  • Detalyado pagdumala sa katungod.
  • Pasadya nga mga tigkontrol idugang ang lohika sa cluster. Kini mga yano nga mga programa nga nakigsulti sa Kubernetes API.
  • Autoscaling! Mahimong sukdon sa mga Kubernetes ang mga serbisyo kung gikinahanglan gamit ang mga sukatan sa serbisyo ug wala magkinahanglan og manual nga interbensyon.

Ang pangutana mao kung kinahanglan ba gyud nimo kining tanan nga mga bahin. Dili ka lang makasalig sa mga abstraction; kinahanglan nimo nga mahibal-an kung unsa ang nahitabo sa ilawom sa tabon.

Ang among team naghatag sa kadaghanang serbisyo sa layo (tungod sa suod nga koneksyon sa nag-unang imprastraktura), mao nga dili namo gusto nga ipataas ang among kaugalingong Kubernetes cluster. Gusto lang namon nga maghatag serbisyo.

Wala gilakip ang mga baterya

Ang Nomad maoy 20% sa orkestra nga naghatag ug 80% sa gikinahanglan. Ang tanan nga gihimo niini mao ang pagdumala sa mga pag-deploy. Ang Nomad nag-atiman sa mga pag-deploy, gi-restart ang mga sudlanan kung adunay mga sayup ... ug kana.

Ang tibuuk nga punto sa Nomad mao ang gibuhat niini minimum: walay granular rights management o gipalapdan nga mga palisiya sa network, kini espesyal nga gidisenyo. Kini nga mga sangkap gihatag sa gawas o wala gyud.

Sa akong hunahuna nakit-an ni Nomad ang hingpit nga pagkompromiso tali sa kadali sa paggamit ug gamit. Maayo kini alang sa gagmay, independente nga mga serbisyo. Kung kinahanglan nimo ang dugang nga kontrol, kinahanglan nimo nga ipataas ang imong kaugalingon o mogamit usa ka lahi nga pamaagi. Nomad diay makatarunganon orkestra.

Ang labing kaayo nga butang bahin sa Nomad mao nga kini dali aron mapulihan. Wala’y halos koneksyon sa vendor, tungod kay ang mga gimbuhaton niini dali nga gisagol sa bisan unsang ubang sistema nga nagdumala sa mga serbisyo. Nagdagan kini sama sa usa ka regular nga binary sa matag makina sa cluster, kana ra!

Nomad nga ekosistema sa mga loosely combed components

Ang tinuod nga kusog sa Nomad mao ang ekosistema niini. Nahiusa kini pag-ayo sa uban - hingpit nga opsyonal - mga produkto sama sa Konsul (key-value store) o Vault (pagproseso sa mga sekreto). Sa sulod sa Nomad file adunay mga seksyon alang sa pagkuha sa datos gikan niini nga mga serbisyo:

template {
  data = <<EOH
LOG_LEVEL="{{key "service/geo-api/log-verbosity"}}"
API_KEY="{{with secret "secret/geo-api-key"}}{{.Data.value}}{{end}}"
EOH

  destination = "secrets/file.env"
  env         = true
}

Dinhi atong gibasa ang yawe service/geo-api/log-verbosity gikan sa Consul ug samtang nagtrabaho among gibutyag kini sa usa ka variable sa palibot LOG_LEVEL. Gipresentar usab namo ang yawe secret/geo-api-key gikan sa Vault ingon API_KEY. Simple pero gamhanan!

Tungod sa kayano niini, ang Nomad dali nga mapadako sa ubang mga serbisyo pinaagi sa API. Pananglitan, ang mga tag alang sa mga buluhaton gisuportahan. Gitag-an namon ang tanan nga mga serbisyo nga adunay mga sukatan trv-metrics. Niining paagiha dali nga makit-an ni Prometheus kini nga mga serbisyo pinaagi sa Consul ug matag karon ug unya susihon ang katapusan nga punto /metrics alang sa bag-ong datos. Ang sama nga mahimo, pananglitan, alang sa mga troso, gamit Loki.

Adunay daghang uban pang mga pananglitan sa pagpalapad:

  • Pagdalagan og trabaho sa Jenkins gamit ang usa ka kaw-it, ug gimonitor ni Consul ang pag-redeploy sa Nomad nga trabaho kon mausab ang configuration sa serbisyo.
  • Gidugang ni Ceph ang usa ka gipang-apod-apod nga sistema sa file sa Nomad.
  • Fabio para sa load balancing.

Kining tanan nagtugot organikong pagpalambo sa imprastraktura walay bisan unsa nga espesyal nga koneksyon sa vendor.

Patas nga pasidaan

Walay sistema nga perpekto. Dili ko girekomenda nga ipaila dayon ang labing bag-ong mga bahin sa produksiyon. Siyempre adunay mga bug ug nawala nga mga bahin, apan parehas nga magamit sa Kubernetes.

Kung itandi sa Kubernetes, ang Nomad nga komunidad dili kaayo dako. Ang Kubernetes aduna nay mga 75 commits ug 000 contributors, samtang ang Nomad adunay mga 2000 commits ug 14 ka contributor. Ang Nomad maglisud sa pagsubay sa katulin sa Kubernetes, apan tingali dili kinahanglan! Kini usa ka mas espesyal nga sistema, ug ang mas gamay nga komunidad nagpasabut usab nga ang imong hangyo sa pagbitad mas lagmit nga mamatikdan ug madawat, kung itandi sa Kubernetes.

Sumaryo

Ubos nga linya: Ayaw gamita ang Kubernetes tungod lang kay ang tanan nagbuhat niini. Timbang-timbanga pag-ayo ang imong mga kinahanglanon ug susiha kung unsang himan ang mas mapuslanon.

Kung nagplano ka nga magpadala usa ka tonelada nga homogenous nga serbisyo sa usa ka dako nga imprastraktura, nan ang Kubernetes usa ka maayong kapilian. Hunahunaa lang ang dugang nga pagkakomplikado ug gasto sa pag-operate. Ang ubang mga gasto mahimong malikayan pinaagi sa paggamit sa gidumala nga palibot sa Kubernetes sama sa Google Kubernetes Engine o Amazon EKS.

Kung nangita ka lang usa ka kasaligan nga orkestra nga dali nga mapadayon ug mapalawig, nganong dili nimo sulayan ang Nomad? Mahimong matingala ka kung unsa ka layo kini magdala kanimo.

Kung ang Kubernetes itandi sa usa ka awto, ang Nomad mahimong usa ka scooter. Usahay kinahanglan nimo ang usa ka butang ug usahay kinahanglan nimo ang lain. Ang duha adunay katungod sa paglungtad.

Source: www.habr.com

Idugang sa usa ka comment