Na-ebulite ụyọkọ Kubernetes na-enweghị oge nkwụsị

Na-ebulite ụyọkọ Kubernetes na-enweghị oge nkwụsị

Usoro nkwalite maka ụyọkọ Kubernetes gị

N'oge ụfọdụ, mgbe ị na-eji ụyọkọ Kubernetes, ọ dị mkpa imelite ọnụ ọnụ na-agba ọsọ. Nke a nwere ike ịgụnye mmelite ngwungwu, mmelite kernel, ma ọ bụ ibunye onyonyo igwe ọhụrụ. Na okwu Kubernetes ka a na-akpọ nke a "Mmebi nke afọ ofufo".

Nbipute a bụ akụkụ nke usoro nbipute 4:

  1. Nke a post.
  2. Mechie nke ọma n'ụyọkọ Kubernetes
  3. Nkwụsị nkwụsị nke pọd mgbe ehichapụrụ ya
  4. Otu esi ezere ụyọkọ Kubernetes Downtime Iji PodDisruptionBudgets

(ihe dị ka. na-atụ anya nsụgharị nke isiokwu ndị fọdụrụ n'usoro isiokwu a n'ọdịnihu dị nso)

N'isiokwu a, anyị ga-akọwa ngwaọrụ niile Kubernetes na-enye iji nweta oge efu efu maka ọnụ na-agba ọsọ na ụyọkọ gị.

Nkọwa nsogbu

Anyị ga-ewere ụzọ efu na mbụ, chọpụta nsogbu ma chọpụta ihe ize ndụ dị na ụzọ a, ma wuo ihe ọmụma iji dozie nsogbu ọ bụla anyị na-ezute n'oge usoro. Nsonaazụ bụ nhazi nke na-eji nko ogologo ndụ, nyocha ịdị njikere, na mmefu ego nbighasịkwa Pod iji nweta ebumnobi mbelata oge efu anyị.

Iji malite njem anyị, ka anyị were ihe atụ doro anya. Ka anyị kwuo na anyị nwere ụyọkọ Kubernetes nke ọnụ abụọ, nke ngwa na-eji pọd abụọ dị n'azụ. Service:

Na-ebulite ụyọkọ Kubernetes na-enweghị oge nkwụsị

Ka anyị malite na pọd abụọ na Nginx na Service na-agba ọsọ na ụyọkọ Kubernetes abụọ anyị.

Anyị chọrọ imelite ụdị kernel nke ọnụ ọnụ ndị ọrụ abụọ na ụyọkọ anyị. Olee otú anyị ga-esi eme nke a? Ngwọta dị mfe ga-abụ ịmepụta oghere ọhụrụ na nhazi emelitere wee mechie ọnụ ụzọ ochie mgbe ị na-amalite ndị ọhụrụ. Ọ bụ ezie na nke a ga-arụ ọrụ, a ga-enwe nsogbu ole na ole na usoro a:

  • Mgbe ị gbanyụrụ ọnụ ọnụ ochie, pọd ndị na-agba na ha ga-agbanyụkwa. Gịnị ma ọ bụrụ na ọ dị mkpa ka ihichapụ pọd ahụ maka mmechi mara mma? Sistemu ime ihe nke ọma ị na-eji nwere ike ọ gaghị echere ka usoro nchacha ahụ ga-agwụ.
  • Gịnị ma ọ bụrụ na ị gbanyụọ niile ọnụ n'otu oge? Ị ga-enweta oge ezumike dị mma ka pọd na-aga n'ọnụ ọhụrụ.

Anyị chọrọ ụzọ iji jiri amara si na ọnụ ụzọ ochie kwaga ebe anyị na-ahụ na ọ nweghị usoro ndị ọrụ anyị na-agba ọsọ ka anyị na-eme mgbanwe na ọnụ ọnụ. Ma ọ bụ mgbe anyị na-eme mgbanwe zuru oke nke ụyọkọ ahụ, dị ka ihe atụ (ya bụ, anyị na-edochi ihe oyiyi VM), anyị chọrọ ịnyefe ngwa na-agba ọsọ site na oghere ochie gaa na nke ọhụrụ. N'okwu abụọ a, anyị chọrọ igbochi pọd ọhụrụ ka ha ghara ịhazi oge na oghere ochie, wee chụpụ pods niile na-agba ọsọ na ha. Iji nweta ebumnuche ndị a anyị nwere ike iji iwu ahụ kubectl drain.

Na-ekesa pọd niile site na ọnụ ọnụ

Ọrụ drain ahụ na-enye gị ohere ikesa pods niile site na ọnụ. N'oge a na-egbu mmiri, a na-akara ọnụ ọnụ ahụ dị ka ihe a na-apụghị ịhazi (ọkọlọtọ NoSchedule). Nke a na-egbochi pọd ọhụrụ ịpụta na ya. Mgbe ahụ, igbapu na-amalite ịchụpụ pods n'ọnụ ọnụ, mechie arịa ndị na-agba ọsọ ugbu a na ọnụ ọnụ, na-eziga mgbaàmà. TERM arịa dị na pọd.

Ọ bụ ezie na kubectl drain ga-arụ nnukwu ọrụ nke ịchụpụ pọd, e nwere ihe abụọ ọzọ nwere ike ime ka ọrụ drain ahụ daa:

  • Ngwa gị ga-enwerịrị ike ịkwụsị nke ọma mgbe ntinye akwụkwọ TERM mgbaàmà. Mgbe achụpụrụ pọd, Kubernetes na-eziga mgbaama TERM akpa ma chere ka ha kwụsị ruo oge a kapịrị ọnụ, mgbe nke ahụ gasịrị, ọ bụrụ na ha akwụsịbeghị, ọ na-akwụsị ha n'ike. N'ọnọdụ ọ bụla, ọ bụrụ na akpa gị aghọtaghị mgbama ahụ nke ọma, ị ka nwere ike gbanyụọ pọd na-ezighi ezi ma ọ bụrụ na ha na-agba ọsọ ugbu a (dịka ọmụmaatụ, azụmahịa nchekwa data na-aga n'ihu).
  • Ị ga-atụfu pọọsụ niile nwere ngwa gị. Ọ nwere ike ọ gaghị adị mgbe ewepụtara arịa ọhụrụ na ọnụ ọhụrụ, ma ọ bụ ọ bụrụ na etinyere pọd gị na-enweghị ndị njikwa, ha nwere ike ọ gaghị amalitekwa ọzọ.

Na-ezere nkwụsịtụ

Iji wedata oge nkwụsịtụ site na ọgba aghara afọ ofufo, dị ka site na arụ ọrụ drain na ọnụ ọnụ, Kubernetes na-enye nhọrọ njikwa ọdịda ndị a:

N'ime usoro ndị ọzọ, anyị ga-eji njirimara Kubernetes ndị a iji belata mmetụta nke ịkwaga pod. Iji mee ka ọ dịkwuo mfe ịgbaso echiche bụ isi, anyị ga-eji ihe atụ anyị dị n'elu na nhazi ihe onwunwe ndị a:

---
apiVersion: apps/v1
kind: Deployment
metadata:
 name: nginx-deployment
 labels:
   app: nginx
spec:
 replicas: 2
 selector:
   matchLabels:
     app: nginx
 template:
   metadata:
     labels:
       app: nginx
   spec:
     containers:
     - name: nginx
       image: nginx:1.15
       ports:
       - containerPort: 80
---
kind: Service
apiVersion: v1
metadata:
 name: nginx-service
spec:
 selector:
   app: nginx
 ports:
 - protocol: TCP
   targetPort: 80
   port: 80

Nhazi a bụ ntakịrị ihe atụ Deployment, nke na-ejikwa nginx pods na ụyọkọ. Na mgbakwunye, nhazi ahụ na-akọwa ihe onwunwe Service, nke enwere ike iji nweta nginx pods na ụyọkọ.

N'ime usoro ahụ dum, anyị ga-agbasawanye nhazi a ugboro ugboro ka o wee gụnye ike niile Kubernetes na-enye iji belata oge nkwụsị.

Maka ụdị mmelite ụyọkọ Kubernetes etinyere nke ọma na nwalere maka oge efu efu na AWS na gafere, gaa na Gruntwork.io.

Gụọkwa akụkọ ndị ọzọ na blọọgụ anyị:

isi: www.habr.com

Tinye a comment