Cuaj Kubernetes Cov Lus Qhia Ua Haujlwm

Cuaj Kubernetes Cov Lus Qhia Ua Haujlwm

Nyob zoo sawv daws! Kuv lub npe yog Oleg Sidorenkov, Kuv ua haujlwm ntawm DomClick ua tus thawj coj hauv pab pawg. Peb tau siv lub voos xwmfab muag rau ntau tshaj peb xyoos, thiab lub sijhawm no peb tau ntsib ntau lub sijhawm nthuav dav nrog nws. Hnub no kuv yuav qhia koj yuav ua li cas, nrog txoj hauv kev zoo, koj tuaj yeem nyem qhov kev ua tau zoo dua ntawm vanilla Kubernetes rau koj pawg. Npaj txhij mus!

Koj txhua tus paub zoo tias Kubernetes yog qhov qhib qhov qhib qhov qhib rau lub thawv orchestration; zoo, los yog 5 binaries uas ua khawv koob los ntawm kev tswj lub neej voj voog ntawm koj microservices nyob rau hauv ib puag ncig neeg rau zaub mov. Tsis tas li ntawd, qhov no yog cov cuab yeej hloov tau yooj yim uas tuaj yeem sib sau ua ke zoo li Lego tus tsim qauv rau kev hloov kho siab tshaj plaws rau ntau txoj haujlwm.

Thiab txhua yam zoo li zoo: pov cov servers rau hauv pawg, zoo li cov taws rau hauv lub qhov cub, thiab tsis paub kev tu siab. Tab sis yog tias koj yog rau ib puag ncig, ces koj yuav xav tias: "Kuv yuav ua li cas thiaj li tua hluav taws hauv qhov cub thiab khuv xim lub hav zoov?" Hauv lwm lo lus, yuav ua li cas thiaj nrhiav tau txoj hauv kev los txhim kho infrastructure thiab txo cov nqi.

1. Cia li taug qab pab neeg thiab daim ntawv thov kev pab

Cuaj Kubernetes Cov Lus Qhia Ua Haujlwm

Ib qho ntawm feem ntau banal tab sis txoj kev siv tau zoo yog kev qhia txog kev thov / txwv. Cais cov ntawv thov los ntawm namespaces, thiab namespaces los ntawm pab pawg txhim kho. Teem daim ntawv thov ua ntej deploying qhov tseem ceeb rau kev noj processor lub sij hawm, nco, ephemeral cia.

resources:
   requests:
     memory: 2Gi
     cpu: 250m
   limits:
     memory: 4Gi
     cpu: 500m

Los ntawm kev paub dhau los, peb tuaj rau qhov xaus: nws tsis tsim nyog inflating thov los ntawm kev txwv los ntawm ntau tshaj ob zaug. Cov pawg loj yog xam raws li qhov kev thov, thiab yog tias koj teeb tsa daim ntawv thov rau qhov sib txawv ntawm cov peev txheej, piv txwv li, los ntawm 5-10 zaug, ces xav txog seb yuav ua li cas rau koj cov node thaum nws puv nrog pods thiab dheev tau txais ib qho load. Tsis muaj dab tsi zoo. Qhov tsawg kawg nkaus, throttling, thiab qhov siab tshaj plaws, hais lus zoo rau tus neeg ua haujlwm thiab tau txais ib lub voj voog ntawm cov pob txha tom qab cov pods pib tsiv.

Ntxiv rau, nrog kev pab limitranges koj tuaj yeem tsim cov peev txheej muaj txiaj ntsig rau lub thawv thaum pib - yam tsawg kawg nkaus, siab tshaj plaws thiab lub neej ntawd:

➜  ~ kubectl describe limitranges --namespace ops
Name:       limit-range
Namespace:  ops
Type        Resource           Min   Max   Default Request  Default Limit  Max Limit/Request Ratio
----        --------           ---   ---   ---------------  -------------  -----------------------
Container   cpu                50m   10    100m             100m           2
Container   ephemeral-storage  12Mi  8Gi   128Mi            4Gi            -
Container   memory             64Mi  40Gi  128Mi            128Mi          2

Nco ntsoov txwv cov peev txheej namespace kom ib qho lus txib tsis tuaj yeem nqa tag nrho cov peev txheej ntawm pawg:

➜  ~ kubectl describe resourcequotas --namespace ops
Name:                   resource-quota
Namespace:              ops
Resource                Used          Hard
--------                ----          ----
limits.cpu              77250m        80
limits.memory           124814367488  150Gi
pods                    31            45
requests.cpu            53850m        80
requests.memory         75613234944   150Gi
services                26            50
services.loadbalancers  0             0
services.nodeports      0             0

Raws li koj tuaj yeem pom los ntawm cov lus piav qhia resourcequotas, yog tias cov lus txib ops xav xa cov pods uas yuav haus lwm 10 cpu, ces tus teem sijhawm yuav tsis tso cai rau nws ua tiav thiab yuav muab qhov yuam kev:

Error creating: pods "nginx-proxy-9967d8d78-nh4fs" is forbidden: exceeded quota: resource-quota, requested: limits.cpu=5,requests.cpu=5, used: limits.cpu=77250m,requests.cpu=53850m, limited: limits.cpu=10,requests.cpu=10

Txhawm rau daws qhov teeb meem zoo sib xws, koj tuaj yeem sau ib lub cuab yeej, piv txwv li qhov no, uas tuaj yeem khaws thiab ua raws li lub xeev cov ntaub ntawv hais kom ua.

2. Xaiv qhov zoo tshaj plaws cov ntaub ntawv cia

Cuaj Kubernetes Cov Lus Qhia Ua Haujlwm

Ntawm no kuv xav kov rau lub ntsiab lus ntawm cov ntim tsis tu ncua thiab disk subsystem ntawm Kubernetes tus neeg ua haujlwm nodes. Kuv vam tias tsis muaj leej twg siv "Cube" ntawm HDD hauv kev tsim khoom, tab sis qee zaum txawm tias ib txwm SSD twb tsis txaus. Peb tau ntsib cov teeb meem zoo li no uas cov cav tau tua cov disk los ntawm kev ua haujlwm I / O, thiab tsis muaj ntau qhov kev daws teeb meem ntawm no:

  • Siv cov kev ua tau zoo SSDs lossis hloov mus rau NVMe (yog tias koj tswj koj tus kheej kho vajtse).

  • Txo cov theem ntawm kev nkag.

  • Ua "ntse" ntsuas ntawm cov pods uas rape lub disk (podAntiAffinity).

Lub screenshot saum toj no qhia tau tias muaj dab tsi tshwm sim hauv nginx-ingress-controller nrog lub disk thaum nkag mus_logs tau qhib (~ 12k logs / sec). Xws li lub xeev, ntawm chav kawm, tuaj yeem ua rau degradation ntawm txhua daim ntawv thov ntawm node.

Raws li rau PV, alas, kuv tsis tau sim txhua yam. kev saib Cov ntim tsis tu ncua. Siv qhov kev xaiv zoo tshaj plaws uas haum rau koj. Nws muaj keeb kwm tshwm sim hauv peb lub teb chaws tias ib feem me me ntawm cov kev pabcuam xav tau RWX ntim, thiab ntev dhau los lawv tau pib siv NFS cia rau txoj haujlwm no. pheej yig thiab ... txaus. Tau kawg, peb noj shit nrog nws - noj qab nyob zoo, tab sis peb kawm yuav ua li cas qhib nws, thiab nws lub taub hau tsis mob lawm. Thiab yog tias ua tau, hloov mus rau S3 khoom cia.

3. Tsim cov duab zoo

Cuaj Kubernetes Cov Lus Qhia Ua Haujlwm

Nws yog qhov zoo tshaj plaws los siv cov duab ua kom zoo tshaj plaws kom Kubernetes tuaj yeem nqa lawv sai dua thiab ua rau lawv ua tau zoo dua. 

Optimization txhais tau tias cov duab:

  • tsuas muaj ib daim ntawv thov lossis ua ib qho haujlwm nkaus xwb;

  • me me, vim tias cov duab loj yog kis tau zoo dua hauv lub network;

  • muaj kev noj qab haus huv thiab kev npaj txhij txog qhov kawg uas Kubernetes tuaj yeem siv los nqis tes ua thaum lub sijhawm poob;

  • siv lub thawv-phooj ywg ua haujlwm (xws li Alpine lossis CoreOS) uas tiv taus ntau dua rau kev teeb tsa tsis raug;

  • siv ntau theem tsim kom koj tsuas tuaj yeem xa cov ntawv sau ua ke thiab tsis yog cov khoom siv nrog.

Muaj ntau yam cuab yeej thiab cov kev pab cuam uas tso cai rau koj mus xyuas thiab optimize cov duab ntawm ya. Nws yog ib qho tseem ceeb kom nco ntsoov khaws lawv mus txog hnub tim thiab nyab xeeb. Raws li qhov tshwm sim, koj tau txais:

  1. Txo lub network thauj khoom ntawm tag nrho pawg.

  2. Txo lub sij hawm pib lub thawv.

  3. Qhov loj me ntawm koj tag nrho Docker npe.

4. Siv DNS cache

Cuaj Kubernetes Cov Lus Qhia Ua Haujlwm

Yog hais tias peb tham txog cov loads siab, ces tsis muaj tuning DNS system ntawm pawg, lub neej yog zoo nkauj phem. Ib zaug dhau los, Kubernetes cov neeg tsim khoom txhawb nqa lawv cov kev daws teeb meem kube-dns. Nws kuj tau siv nyob rau hauv peb lub teb chaws, tab sis cov software no tsis tau tshwj xeeb mloog thiab tsis muab qhov yuav tsum tau ua, txawm hais tias, nws zoo li, txoj hauj lwm yog yooj yim. Tom qab ntawd coredns tshwm sim, uas peb tau hloov pauv thiab tsis paub txog kev tu siab, tom qab ntawd nws tau los ua qhov kev pabcuam DNS hauv K8s. Qee lub sij hawm, peb loj hlob mus txog 40 txhiab rps rau DNS system, thiab qhov kev daws teeb meem no kuj tsis txaus. Tab sis, los ntawm lub caij nyoog muaj hmoo, Nodelocaldns tuaj tawm, aka node hauv zos cache, aka NodeLocal DNSCache.

Vim li cas peb thiaj siv nws? Muaj kab laum nyob rau hauv Linux ntsiav uas, thaum muaj ntau yam nkag los ntawm conntrack NAT dhau UDP, ua rau muaj kev sib tw rau kev sau ntawv rau cov rooj conntrack, thiab ib feem ntawm kev khiav tsheb los ntawm NAT ploj (txhua qhov kev mus los ntawm Kev Pabcuam yog NAT). Nodelocaldns daws qhov teeb meem no los ntawm kev tshem tawm NAT thiab hloov kho mus rau TCP kev sib txuas mus rau sab saud DNS, nrog rau caching upstream DNS queries hauv zos (suav nrog luv luv 5 thib ob tsis zoo cache).

5. Scale pods horizontally thiab vertically txiav

Cuaj Kubernetes Cov Lus Qhia Ua Haujlwm

Koj puas tuaj yeem hais nrog kev ntseeg siab tias tag nrho koj cov microservices tau npaj rau kev nce ob mus rau peb zaug? Yuav ua li cas faib cov peev txheej zoo rau koj daim ntawv thov? Ua kom ob peb lub plhaub taum ua haujlwm ntau dhau ntawm kev ua haujlwm tuaj yeem rov ua dua, thiab ua kom lawv rov qab los ntawm kev pheej hmoo poob qis los ntawm kev nce tsheb mus rau qhov kev pabcuam. Lub ntsiab lus golden pab kom ua tiav qhov kev sau ntawm kev sib npaug xws li kev pabcuam Kab rov tav Pod Autoscaler ΠΈ Vertical Pod Autoscaler.

VPA tso cai rau koj tuaj yeem nce qhov kev thov / txwv ntawm koj lub ntim rau hauv lub pod raws li kev siv tiag tiag. Nws yuav pab tau li cas? Yog tias koj muaj Pods uas yog vim li cas tsis tuaj yeem ntsuas tawm kab rov tav (uas tsis yog kev ntseeg siab), ces koj tuaj yeem sim ntseeg VPA los hloov nws cov peev txheej. Nws qhov tshwj xeeb yog qhov kev pom zoo raws li keeb kwm thiab cov ntaub ntawv tam sim no los ntawm metric-server, yog li yog tias koj tsis xav hloov kev thov / txwv tsis pub siv, koj tuaj yeem saib xyuas cov kev pom zoo rau koj cov ntim thiab ua kom zoo dua cov chaw kom txuag CPU thiab nco. hauv pawg.

Cuaj Kubernetes Cov Lus Qhia Ua HaujlwmDuab los ntawm https://levelup.gitconnected.com/kubernetes-autoscaling-101-cluster-autoscaler-horizontal-pod-autoscaler-and-vertical-pod-2a441d9ad231

Tus teem sijhawm hauv Kubernetes yog ib txwm ua raws li kev thov. Txawm tus nqi koj muab tso rau qhov twg, tus teem sijhawm yuav saib rau qhov tsim nyog raws li nws. Tus nqi txwv yog xav tau los ntawm kublet thiaj li paub tias thaum twg yuav throttle los yog tua ib lub pod. Thiab txij li qhov tseem ceeb tsuas yog qhov kev thov tus nqi, VPA yuav ua haujlwm nrog nws. Thaum twg koj ntsuas koj daim ntawv thov ntsug, koj txhais tau tias qhov kev thov yuav tsum yog dab tsi. Thiab yuav ua li cas rau cov kev txwv thaum ntawd? Qhov no parameter kuj yuav proportionally scaled.

Piv txwv li, ntawm no yog cov kev teeb tsa pods:

resources:
   requests:
     memory: 250Mi
     cpu: 200m
   limits:
     memory: 500Mi
     cpu: 350m

Lub cav pom zoo txiav txim siab tias koj daim ntawv thov xav tau 300m CPU thiab 500Mi kom khiav tau zoo. Koj yuav tau txais cov kev teeb tsa no:

resources:
   requests:
     memory: 500Mi
     cpu: 300m
   limits:
     memory: 1000Mi
     cpu: 525m

Raws li hais saum toj no, qhov no yog proportional scaling raws li qhov kev thov / txwv ratio nyob rau hauv lub manifest:

  • CPU: 200m β†’ 300m: piv 1: 1.75;

  • Nco: 250Mi β†’ 500Mi: 1:2 piv.

Nrog rau HPA, ces lub mechanism ntawm kev ua hauj lwm yog pob tshab. Cov theem pib yog teem rau kev ntsuas xws li processor thiab nco, thiab yog tias qhov nruab nrab ntawm tag nrho cov replicas tshaj qhov pib, ces daim ntawv thov ntsuas los ntawm +1 pod kom txog thaum tus nqi poob qis dua qhov pib, los yog kom txog rau thaum lub siab tshaj plaws ntawm replicas.

Cuaj Kubernetes Cov Lus Qhia Ua HaujlwmDuab los ntawm https://levelup.gitconnected.com/kubernetes-autoscaling-101-cluster-autoscaler-horizontal-pod-autoscaler-and-vertical-pod-2a441d9ad231

Ntxiv rau qhov kev ntsuas ib txwm muaj xws li CPU thiab Memory, koj tuaj yeem teeb tsa qhov pib ntawm koj qhov kev cai Prometheus metrics thiab ua haujlwm nrog lawv yog tias koj xav tias qhov no yog qhov tseeb tshaj plaws los txiav txim siab thaum twg los ntsuas koj daim ntawv thov. Thaum daim ntawv thov ua kom ruaj khov hauv qab qhov kev ntsuas qhov ntsuas, HPA yuav pib ntsuas cov pods mus rau qhov tsawg kawg nkaus ntawm cov khoom siv rov ua dua lossis kom txog thaum lub load ua tau raws li qhov chaw pib.

6. Tsis txhob hnov ​​qab txog Node Affinity thiab Pod Affinity

Cuaj Kubernetes Cov Lus Qhia Ua Haujlwm

Tsis yog tag nrho cov nodes khiav ntawm tib lub hardware, thiab tsis yog txhua lub pods yuav tsum tau khiav cov kev siv suav-intensive. Kubernetes tso cai rau koj los qhia qhov tshwj xeeb ntawm nodes thiab pods siv Node Affinity ΠΈ Pod Affinity.

Yog tias koj muaj cov nodes uas tsim nyog rau kev ua haujlwm suav nrog, tom qab ntawd rau kev ua haujlwm siab tshaj plaws, nws yog qhov zoo dua los khi cov ntawv thov rau cov nodes tsim nyog. Txhawm rau ua qhov no, siv nodeSelector nrog node label.

Wb hais tias koj muaj ob lub nodes: ib tug nrog CPUType=HIGHFREQ thiab ib tug loj tus naj npawb ntawm ceev cores, lwm nrog MemoryType=HIGHMEMORY nco ntau dua thiab ua haujlwm sai dua. Txoj kev yooj yim tshaj plaws yog muab lub pod xa mus rau ib lub pob HIGHFREQlos ntawm kev ntxiv rau ntu spec ib tug selector zoo li no:

…
nodeSelector:
	CPUType: HIGHFREQ

Ib txoj hauv kev kim dua thiab tshwj xeeb los ua qhov no yog siv nodeAffinity hauv teb affinity Ρ€Π°Π·Π΄Π΅l ua spec. Muaj ob txoj kev xaiv:

  • requiredDuringSchedulingIgnoredDuringExecution: kev teeb tsa nyuaj (tshwj xeeb tsuas yog xa cov pods ntawm cov nodes tshwj xeeb (thiab tsis nyob qhov twg));

  • preferredDuringSchedulingIgnoredDuringExecution: soft setting (tus teem caij yuav sim xa mus rau cov nodes tshwj xeeb, thiab yog tias nws ua tsis tiav, nws yuav sim xa mus rau qhov muaj nyob tom ntej).

Koj tuaj yeem teev cov syntax tshwj xeeb rau kev tswj cov ntawv sau npe, piv txwv li, In, NotIn, Exists, DoesNotExist, Gt los yog Lt. Txawm li cas los xij, nco ntsoov tias txoj hauv kev nyuaj hauv cov npe ntev ntawm cov ntawv yuav ua rau kev txiav txim siab qeeb hauv qhov xwm txheej tseem ceeb. Hauv lwm lo lus, tsis txhob nyuaj.

Raws li tau hais los saum toj no, Kubernetes tso cai rau koj los teeb tsa kev khi ntawm cov pods tam sim no. Ntawd yog, koj tuaj yeem ua rau qee cov pods ua haujlwm ua ke nrog lwm cov pods hauv tib thaj chaw muaj (tseem ceeb rau huab) lossis cov nodes.

Π’ podAffinity liaj teb affinity Ρ€Π°Π·Π΄Π΅l ua spec tib daim teb muaj nyob rau hauv cov ntaub ntawv ntawm nodeAffinity: requiredDuringSchedulingIgnoredDuringExecution ΠΈ preferredDuringSchedulingIgnoredDuringExecution. Qhov txawv tsuas yog qhov ntawd matchExpressions yuav khi cov pods rau ib lub pob uas twb tau khiav ib lub plhaub nrog daim ntawv lo.

Ntau Kubernetes muaj ib daim teb podAntiAffinity, uas, nyob rau hauv sib piv, tsis khi ib tug pod rau ib tug node nrog tshwj xeeb pods.

Hais txog cov lus qhia nodeAffinity Cov lus qhia tib yam tuaj yeem muab tau: sim ua kom cov kev cai yooj yim thiab muaj txiaj ntsig, tsis txhob sim overload lub pod specification nrog cov txheej txheem nyuaj. Nws yog ib qho yooj yim heev los tsim ib txoj cai uas tsis haum rau cov xwm txheej ntawm pawg, muab cov khoom thauj ntxiv rau lub sijhawm teem sijhawm thiab ua rau kev ua haujlwm tag nrho.

7. Kev zam txim & zam txim

Muaj lwm txoj hauv kev los tswj tus teem sijhawm. Yog tias koj muaj pawg loj nrog ntau pua ntawm cov nodes thiab ntau txhiab microservices, nws nyuaj heev los tiv thaiv qee cov pods los ntawm kev tuav ntawm qee cov nodes.

Lub tshuab ntawm taints - txwv tsis pub cov cai - pab nrog qhov no. Piv txwv li, koj tuaj yeem tiv thaiv qee cov nodes los ntawm kev khiav pods hauv qee qhov xwm txheej. Txhawm rau siv taint rau ib qho ntawm qhov tshwj xeeb, siv qhov kev xaiv taint u kub. Qhia qhov tseem ceeb thiab tus nqi thiab ces taint nyiam NoSchedule los yog NoExecute:

$ kubectl taint nodes node10 node-role.kubernetes.io/ingress=true:NoSchedule

Nws tseem tsim nyog sau cia tias taint mechanism txhawb nqa peb qhov cuam tshuam loj: NoSchedule, NoExecute ΠΈ PreferNoSchedule.

  • NoSchedule txhais tau hais tias kom txog rau thaum muaj kev nkag mus rau hauv cov pod specification tolerations, nws tsis tuaj yeem xa mus rau ntawm node (hauv qhov piv txwv no node10).

  • PreferNoSchedule - simplified version NoSchedule. Hauv qhov no, tus teem sijhawm yuav sim tsis txhob faib cov pods uas tsis muaj qhov sib txuam. tolerations rau ntawm node, tab sis qhov no tsis yog ib qho nyuaj txwv. Yog tias tsis muaj cov peev txheej hauv pawg, ces cov pods yuav pib siv rau ntawm node.

  • NoExecute - Cov nyhuv no ua rau muaj kev khiav tawm tam sim ntawm cov pods uas tsis muaj qhov sib txuam nkag tolerations.

Curiously, tus cwj pwm no tuaj yeem thim rov qab los ntawm kev siv lub siab ntev. Qhov no yog qhov yooj yim thaum muaj qhov "txwv tsis pub" ntawm no thiab koj yuav tsum tso cov kev pabcuam hauv vaj tsev nkaus xwb rau nws. Yuav ua li cas? Tso cai rau cov pods uas muaj qhov haum rau kev zam.

Nov yog qhov pod spec yuav zoo li cas:

spec:
   tolerations:
     - key: "node-role.kubernetes.io/ingress"
        operator: "Equal"
        value: "true"
        effect: "NoSchedule"

Qhov no tsis tau txhais hais tias thaum lub sij hawm rov qab ua dua tshiab, lub pod yuav ntaus raws nraim qhov node, qhov no tsis yog Node Affinity mechanism thiab nodeSelector. Tab sis los ntawm kev sib txuas ntau yam nta, koj tuaj yeem ua tiav qhov kev teeb tsa yooj yim heev.

8. Teem Pod Deployment Priority

Tsuas yog vim tias koj tau teeb tsa kev sib txuas ntawm pod-rau-node tsis tau txhais hais tias txhua lub pods yuav tsum tau kho nrog tib qhov tseem ceeb. Piv txwv li, tej zaum koj yuav xav xa ib co Pods ua ntej lwm tus.

Kubernetes muaj ntau txoj hauv kev los teeb tsa Pod Priority thiab Preemption. Kev teeb tsa muaj ntau qhov chaw: khoom PriorityClass thiab cov lus piav qhia priorityClassName nyob rau hauv lub pod specification. Xav txog ib qho piv txwv:

apiVersion: scheduling.k8s.io/v1
kind: PriorityClass
metadata:
  name: high-priority
value: 99999
globalDefault: false
description: "This priority class should be used for very important pods only"

Peb tsim PriorityClass, muab nws lub npe, piav qhia, thiab tus nqi. Siab dua value, qhov tseem ceeb dua. Tus nqi tuaj yeem yog ib qho 32-ntsis tus lej tsawg dua lossis sib npaug rau 1. Cov nqi siab dua yog tshwj tseg rau lub hom phiaj tseem ceeb ntawm cov pods, uas feem ntau tsis tuaj yeem preempted. Kev ntiab tawm tsuas yog tshwm sim yog tias lub plhaub tseem ceeb tshaj plaws tsis muaj qhov chaw tig rov qab, ces qee qhov ntawm cov pods los ntawm ib qho ntawm qhov tshwj xeeb yuav raug tshem tawm. Yog tias qhov txheej txheem no nruj dhau rau koj, ces koj tuaj yeem ntxiv qhov kev xaiv preemptionPolicy: Never, thiab tom qab ntawd yuav tsis muaj preemption, lub plhaub taum pauv yuav yog thawj zaug hauv kab thiab tos tus neeg teem caij mus nrhiav kev pab dawb rau nws.

Tom ntej no, peb tsim ib lub pod, uas peb qhia lub npe priorityClassName:

apiVersion: v1
kind: Pod
metadata:
  name: static-web
  labels:
    role: myrole
 spec:
  containers:
    - name: web
      image: nginx
      ports:
        - name: web
          containerPort: 80
          protocol: TCP
  priorityClassName: high-priority
          

Koj tuaj yeem tsim ntau qhov tseem ceeb hauv chav kawm raws li koj nyiam, txawm hais tias nws raug pom zoo kom tsis txhob nqa nrog qhov no (hais, txwv koj tus kheej kom qis, nruab nrab thiab qhov tseem ceeb).

Yog li, yog tias tsim nyog, koj tuaj yeem ua kom muaj txiaj ntsig ntawm kev xa cov kev pabcuam tseem ceeb, xws li nginx-ingress-controller, coredns, thiab lwm yam.

9. Ua kom zoo dua koj pawg ETCD

Cuaj Kubernetes Cov Lus Qhia Ua Haujlwm

ETCD tuaj yeem hu ua lub hlwb ntawm tag nrho pawg. Nws yog ib qho tseem ceeb heev kom tswj tau qhov kev khiav hauj lwm ntawm cov ntaub ntawv no nyob rau theem siab, txij li qhov ceev ntawm kev khiav hauj lwm hauv "Cube" nyob ntawm nws. Tus qauv tsim nyog, thiab tib lub sijhawm, qhov kev daws teeb meem zoo yuav yog kom khaws ETCD pawg ntawm tus tswv ntawm lub hauv paus kom muaj qhov ncua sij hawm tsawg kawg rau kube-apiserver. Yog tias qhov no tsis tuaj yeem ua tau, ces tso ETCD kom ze li sai tau, nrog bandwidth zoo ntawm cov neeg koom. Kuj xyuam xim rau ntau npaum li cas ntawm ETCD tuaj yeem poob tawm yam tsis muaj kev puas tsuaj rau pawg.

Cuaj Kubernetes Cov Lus Qhia Ua Haujlwm

Nco ntsoov tias kev nce ntau dhau ntawm cov neeg koom hauv pawg tuaj yeem ua rau muaj kev zam txim rau qhov kev ua tau zoo, txhua yam yuav tsum nyob rau hauv kev sib haum xeeb.

Yog tias peb tham txog kev teeb tsa kev pabcuam, ces muaj ob peb cov lus pom zoo:

  1. Muaj cov khoom siv zoo, raws li qhov loj ntawm pawg (koj tuaj yeem nyeem S, SΡ“S,).

  2. Tweak ob peb yam yog tias koj tau kis ib pawg ntawm ob khub DCs lossis koj lub network thiab disks tawm ntau yam uas xav tau (koj tuaj yeem nyeem. S, SΡ“S,).

xaus

Kab lus no piav qhia txog cov ntsiab lus uas peb pab neeg sim ua raws. Qhov no tsis yog cov lus piav qhia ib kauj ruam ntawm kev nqis tes ua, tab sis cov kev xaiv uas tuaj yeem siv tau los ua kom zoo tshaj qhov nyiaj siv ua haujlwm ntawm pawg. Nws yog qhov tseeb tias txhua pawg yog qhov tshwj xeeb ntawm nws tus kheej, thiab cov kev daws teeb meem sib txawv tuaj yeem sib txawv, yog li nws yuav nthuav kom tau txais cov lus qhia los ntawm koj: koj saib xyuas koj pawg Kubernetes li cas, koj ua li cas txhim kho nws cov kev ua tau zoo. Qhia koj qhov kev paub hauv cov lus, nws yuav nthuav kom paub nws.

Tau qhov twg los: www.hab.com