Anjeun panginten henteu peryogi Kubernetes

Anjeun panginten henteu peryogi Kubernetes
Budak awéwé dina skuter. Ilustrasi freepik, logo Nomad ti HashiCorp

Kubernetes nyaéta gorila 300 pon tina orkestrasi wadahna. Gawéna dina sababaraha sistem wadahna pangbadagna di dunya, tapi mahal.

Utamana mahal pikeun tim anu langkung alit, anu peryogi seueur waktos dukungan sareng kurva diajar anu lungkawing. Ieu teuing overhead pikeun tim urang opat. Janten urang ngamimitian milarian alternatif - sareng dipikacinta Nomad.

Naon anu anjeun pikahoyong

Tim kami ngadukung sababaraha jasa ngawaskeun sareng analisa kinerja umum: Titik akhir API pikeun métrik anu ditulis dina Go, ékspor Prometheus, parser log sapertos Logstash sareng Gollum, kitu ogé basis data sapertos InfluxDB atanapi Elasticsearch. Unggal jasa ieu dijalankeun dina wadahna sorangan. Urang peryogi sistem anu saderhana pikeun tetep sadayana jalan.

Urang mimitian ku daptar sarat pikeun orkestrasi wadahna:

  • Ngajalankeun sakumpulan jasa dina seueur mesin.
  • Tinjauan jasa ngajalankeun.
  • Tumbu antara jasa.
  • Balikan deui otomatis upami jasa turun.
  • Pangropéa infrastruktur ku tim leutik.

Salaku tambahan, hal-hal di handap ieu bakal saé, tapi henteu diperyogikeun tambihan:

  • Mesin méré tag dumasar kana kamampuanana (contona, mesin méré tag kalayan disk gancang pikeun jasa I / O anu beurat).
  • Kamampuhan pikeun ngajalankeun jasa sacara mandiri tina orkestra (contona, nalika pangwangunan).
  • Tempat umum pikeun ngabagi konfigurasi sareng rusiah.
  • Titik tungtung pikeun métrik sareng log.

Naha Kubernetes henteu cocog pikeun urang

Nalika kami prototipe sareng Kubernetes, kami perhatikeun yén kami nambihan lapisan logika anu beuki kompleks anu kami andalkeun pisan.

Salaku conto, Kubernetes ngadukung konfigurasi jasa anu diwangun via ConfigMaps. Anjeun tiasa gancang bingung, khususna nalika ngahijikeun sababaraha file konfigurasi atanapi nambihan jasa tambahan kana pod. Kubernetes (atawa helm dina hal ieu) ngidinan Anjeun pikeun dinamis nerapkeun konfigurasi éksternal pikeun misahkeun masalah. Tapi ieu nyababkeun gandeng anu caket sareng disumputkeun antara proyék anjeun sareng Kubernetes. Nanging, Helm sareng ConfigMaps mangrupikeun pilihan tambahan, janten anjeun henteu kedah nganggoana. Anjeun ngan saukur tiasa nyalin konfigurasi kana gambar Docker. Nanging, pikabitaeun pikeun turun jalan ieu sareng ngawangun abstraksi anu teu perlu anu tiasa kuciwa engké.

Salaku tambahan, ékosistem Kubernetes ngembang pesat. Butuh loba waktu jeung tanaga pikeun tetep up to date jeung prakték pangalusna sarta parabot panganyarna. Kubectl, minikube, kubeadm, helm, tiller, kops, oc - daptar terus jeung saterusna. Henteu sadayana alat ieu diperyogikeun nalika anjeun ngamimitian, tapi anjeun henteu terang naon anu anjeun peryogikeun, janten anjeun kedah terang sadayana. Kusabab ieu, kurva learning rada lungkawing.

Iraha nganggo Kubernetes

Di perusahaan kami, seueur jalma anu nganggo Kubernetes sareng cukup senang sareng éta. Instansi ieu dikelola ku Google atanapi Amazon, anu gaduh sumber daya pikeun ngadukung aranjeunna.

Kubernetes hadir kalawan fitur endah pisan, anu ngajantenkeun orkestrasi wadah dina skala langkung tiasa diurus:

  • Diwincik manajemén hak.
  • Controllers custom nambahkeun logika kana klaster. Ieu ngan saukur program anu ngobrol sareng API Kubernetes.
  • Autoscaling! Kubernetes tiasa skala jasa dumasar kana paménta nganggo métrik jasa sareng henteu ngabutuhkeun campur tangan manual.

Patarosanna naha anjeun leres-leres peryogi sadaya fitur ieu. Anjeun teu bisa ngan ngandelkeun abstraksi; anjeun kedah terang naon anu aya di handapeun tiung.

Tim kami nyayogikeun sabagéan ageung jasa jarak jauh (kusabab sambungan caket kana infrastruktur utama), janten kami henteu hoyong ngangkat klaster Kubernetes kami sorangan. Kami ngan ukur hoyong nyayogikeun jasa.

Batré teu kaasup

Nomad nyaéta 20% tina orkestrasi anu nyayogikeun 80% tina anu diperyogikeun. Sadayana nyaéta ngatur panyebaran. Nomad ngurus panyebaran, ngamimitian deui wadah upami aya kasalahan ... sareng éta.

Sakabeh titik Nomad nyaéta naon anu dilakukeun minimum: euweuh manajemén hak granular atawa kawijakan jaringan nambahan, ieu dirancang husus. Komponén ieu disayogikeun sacara éksternal atanapi henteu pisan.

Jigana Nomad geus kapanggih kompromi sampurna antara betah pamakéan sarta utiliti. Ieu alus keur leutik, jasa mandiri. Upami anjeun peryogi langkung seueur kontrol, anjeun kedah ngangkat aranjeunna nyalira atanapi nganggo pendekatan anu béda. Nomad téh adil orkestra.

Anu pangsaéna ngeunaan Nomad nyaéta gampang ngagentos. Sacara praktis henteu aya sambungan ka anu ngajual, sabab fungsina gampang diintegrasikeun kana sistem anu sanés anu ngatur jasa. Éta jalan sapertos binér biasa dina unggal mesin dina kluster, éta waé!

Ekosistem nomad tina komponén gandeng leupas

Kakuatan nyata Nomad nyaéta ékosistemna. Ieu integrates kacida alusna jeung lianna - lengkep pilihan - produk kayaning Konsul (toko konci-nilai) atawa lomari wesi (rusiah ngolah). Di jero file Nomad aya bagian pikeun nimba data tina jasa ieu:

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
}

Di dieu urang baca konci service/geo-api/log-verbosity ti Konsul jeung ngalaan eta ka variabel lingkungan salila operasi LOG_LEVEL. Urang ogé nampilkeun konci secret/geo-api-key ti Kolong salaku API_KEY. Basajan tapi kuat!

Alatan kesederhanaan na, Nomad gampang extensible kalawan jasa lianna via API. Contona, tag pikeun tugas dirojong. Urang tag sagala jasa kalawan metrics trv-metrics. Ku cara ieu, Prometheus tiasa mendakan jasa ieu kalayan gampang ngalangkungan Konsul sareng pariksa titik tungtung /metrics pikeun data anyar. Hal anu sami tiasa dilakukeun, contona, pikeun log, nganggo Loki.

Aya seueur conto extensibility sanésna:

  • Ngajalankeun pakasaban Jenkins maké hook a, sarta Konsul ngawas redeployment tina pakasaban Nomad nalika parobahan konfigurasi jasa.
  • Ceph nambihan sistem file anu disebarkeun ka Nomad.
  • fabio pikeun beban balancing.

Sadaya ieu ngamungkinkeun ngembangkeun infrastruktur organik tanpa sambungan husus ka ngajual.

Warning adil

Taya sistem sampurna. Abdi henteu nyarankeun langsung ngenalkeun fitur énggal kana produksi. Tangtosna aya bug sareng fitur anu leungit, tapi sami sareng Kubernetes.

Dibandingkeun sareng Kubernetes, komunitas Nomad henteu ageung. Kubernetes parantos ngagaduhan sakitar 75 komitmen sareng 000 kontributor, sedengkeun Nomad gaduh 2000 komitmen sareng 14 kontributor. Nomad bakal sesah ngiringan laju Kubernetes, tapi panginten henteu kedah! Éta sistem anu langkung khusus, sareng komunitas anu langkung alit hartosna ogé yén pamundut tarikan anjeun langkung dipikaresep pikeun diperhatoskeun sareng ditampi, dibandingkeun sareng Kubernetes.

singgetan

Garis handap: Entong nganggo Kubernetes ngan kusabab batur ngalakukeunana. Evaluasi syarat anjeun sacara saksama sareng pariksa alat mana anu langkung mangpaat.

Upami anjeun ngarencanakeun nyebarkeun ton jasa homogen dina infrastruktur skala ageung, maka Kubernetes mangrupikeun pilihan anu saé. Ngan jadi sadar tina pajeulitna ditambahkeun jeung biaya operasi. Sababaraha biaya tiasa dihindari ku ngagunakeun lingkungan Kubernetes anu diurus sapertos Mesin Google Kubernetes atawa Amazon EKS.

Upami anjeun ngan ukur milarian orkestra anu tiasa dipercaya anu gampang dijaga sareng tiasa diperpanjang, naha henteu nyobian Nomad? Anjeun bisa jadi kaget sabaraha jauh ieu bakal mawa anjeun.

Upami Kubernetes dibandingkeun sareng mobil, Nomad bakal janten skuter. Kadang anjeun peryogi hiji hal sareng kadang anjeun peryogi anu sanés. Duanana boga hak pikeun aya.

sumber: www.habr.com

Tambahkeun komentar