Fanatsarana ny kluster Kubernetes tsy misy fiatoana

Fanatsarana ny kluster Kubernetes tsy misy fiatoana

Ny dingana fanavaozana ho an'ny cluster Kubernetes anao

Amin'ny fotoana iray, rehefa mampiasa kluster Kubernetes, dia ilaina ny manavao ny nodes mihazakazaka. Mety ho tafiditra ao anatin'izany ny fanavaozana fonosana, fanavaozana kernel, na fametrahana sary milina virtoaly vaovao. Ao amin'ny teny Kubernetes dia antsoina hoe izany "Fikorontanana an-tsitrapo".

Ity lahatsoratra ity dia ampahany amin'ny andian-dahatsoratra 4:

  1. Ity lahatsoratra ity.
  2. Fanakatonana tsara ny pods ao anaty cluster Kubernetes
  3. Nahemotra ny fampitsaharana pod rehefa voafafa
  4. Ahoana no hialana amin'ny Kubernetes Cluster Downtime amin'ny fampiasana PodDisruptionBudgets

(eo ho eo. Andrasana tsy ho ela ny fandikana ny lahatsoratra sisa amin'ilay andian-dahatsoratra)

Ato amin'ity lahatsoratra ity dia hamariparitra ny fitaovana rehetra omen'i Kubernetes mba hahatratrarana ny ora fitsaharana aotra ho an'ireo node mandeha ao amin'ny cluster-nao.

Famaritana ny olana

Handray fomba fijery tsy misy dikany isika amin'ny voalohany, hamantatra ny olana ary hanombantombana ny mety ho loza mety hitranga amin'ity fomba ity, ary hanorina fahalalana hamahana ny olana tsirairay atrehintsika mandritra ny tsingerina. Ny vokatr'izany dia fanefena izay mampiasa fihintsana amin'ny androm-piainana, fitsikilovana fahavononana ary teti-bola fanakorontanana Pod mba hanatrarana ny tanjonay amin'ny fotoana tsy misy fiatoana.

Mba hanombohana ny diantsika dia andeha haka ohatra mivaingana isika. Andeha atao hoe manana cluster Kubernetes misy node roa isika, izay misy fampiharana iray mandeha miaraka amin'ny pods roa hita ao ambadika. Service:

Fanatsarana ny kluster Kubernetes tsy misy fiatoana

Andao hanomboka amin'ny pods roa miaraka amin'ny Nginx sy Service mandeha amin'ny node cluster Kubernetes roa.

Te-hanavao ny dikan-kernel an'ny node mpiasa roa ao amin'ny cluster izahay. Ahoana no hanaovana izany? Vahaolana tsotra dia ny fametrahana nodes vaovao miaraka amin'ny fanovana nohavaozina ary avy eo manakatona ny nodes taloha rehefa manomboka ireo vaovao. Na dia hahomby aza izany, dia hisy olana vitsivitsy amin'ity fomba fiasa ity:

  • Rehefa vonoinao ny node taloha dia hovonoina koa ny pods mandeha eo aminy. Ahoana raha mila esorina ny pods mba hanakatonana tsara? Ny rafitra virtoaly ampiasainao dia mety tsy miandry ny fizotran'ny fanadiovana ho vita.
  • Ahoana raha vonoinao miaraka amin'ny fotoana iray ny node rehetra? Hahazo fotoana fiatoana mendrika ianao raha mifindra any amin'ny node vaovao ny pods.

Mila fomba hamindra tsara ny pods avy amin'ny node taloha izahay ary manome antoka fa tsy misy na dia iray aza amin'ny fizotran'ny mpiasa miasa mandritra ny fanovana ny node. Na rehefa manao fanoloana tanteraka ny cluster isika, toy ny amin'ny ohatra (izany hoe manolo ny sary VM), dia te hamindra fampiharana mihazakazaka avy amin'ny node taloha mankany amin'ny vaovao. Amin'ireo tranga roa ireo, tiantsika ny hisoroka ny pods vaovao tsy handamina amin'ny node taloha, ary avy eo dia handroaka ny pods rehetra mandeha amin'izy ireo. Mba hahatratrarana ireo tanjona ireo dia afaka mampiasa ny baiko isika kubectl drain.

Mizara indray ny pods rehetra avy amin'ny node

Ny fandidiana drain dia ahafahanao mizara indray ny pods rehetra avy amin'ny node. Mandritra ny famonoana ny tatatra, ny node dia voamarika ho tsy azo alamina (flag NoSchedule). Izany dia manakana ireo pod vaovao tsy hiseho eo aminy. Avy eo dia manomboka mandroaka ny pods avy amin'ny node ny tatatra, manidy ireo kaontenera izay mandeha amin'ny node amin'izao fotoana izao, mandefa famantarana. TERM kaontenera ao anaty pod.

na dia kubectl drain dia hanao asa lehibe amin'ny fandroahana pods, misy antony roa hafa mety hahatonga ny fampandehanana ny tatatra tsy hahomby:

  • Ny fangatahanao dia tokony ho afaka tapitra amim-pahamendrehana rehefa atolotra TERM famantarana. Rehefa voaroaka ny pods dia mandefa famantarana i Kubernetes TERM kaontenera ary miandry azy ireo hijanona mandritra ny fe-potoana voafaritra, ary avy eo, raha tsy mijanona izy ireo, dia manapaka azy an-keriny. Na izany na tsy izany, raha tsy mahatsikaritra tsara ny famantarana ny fitoeranao, dia mbola azonao atao ny mamono ny pods raha toa ka mandeha izy ireo amin'izao fotoana izao (ohatra, misy fifampiraharahana amin'ny database).
  • Very ny pods rehetra misy ny fampiharanao. Mety tsy ho hita izany rehefa apetraka amin'ny node vaovao ny kaontenera vaovao, na raha apetraka tsy misy mpanara-maso ny pod-nao, dia mety tsy hiverina intsony izy ireo.

Misoroka ny fotoana fitsaharana

Mba hanamaivanana ny fotoana fitsaharana amin'ny fanelingelenana an-tsitrapo, toy ny amin'ny fampandehanana tatatra amin'ny node, dia manome ireto safidy fitantanana tsy fahombiazana manaraka ireto ny Kubernetes:

Amin'ny andiany ambiny dia hampiasa ireo endri-javatra Kubernetes ireo izahay mba hanalefahana ny fiantraikan'ny fifindra-monina pod. Mba hanamora ny fanarahana ny hevi-dehibe, dia hampiasa ny ohatra asehontsika etsy ambony miaraka amin'ity fanamafisam-peo manaraka ity isika:

---
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

Ity fanamafisam-peo ity dia ohatra kely indrindra Deployment, izay mitantana pods nginx ao amin'ny cluster. Fanampin'izany, ny fanamafisam-peo dia mamaritra ny loharano Service, izay azo ampiasaina hidirana ny pods nginx ao anaty cluster.

Manerana ny tsingerina, dia hanitatra tsikelikely ity tefy ity izahay mba hampidirana ny fahaiza-manao rehetra omen'ny Kubernetes hampihenana ny fotoana fitsaharana.

Raha mila dikan-teny feno sy voasedra amin'ny fanavaozana kluster Kubernetes ho an'ny fotoana tsy misy fiatoana amin'ny AWS sy any aoriana, tsidiho Gruntwork.io.

Vakio ihany koa lahatsoratra hafa ao amin'ny bilaoginay:

Source: www.habr.com

Add a comment