Tataiso e bonoang ea ho rarolla mathata a Kubernetes

Hlokomela. fetolela.: Sengoliloeng sena ke karolo ea thepa ea morero e hatisitsoeng sebakeng sa sechaba ithuta8s, lik'hamphani tsa koetliso le batsamaisi ka bomong ho sebetsa le Kubernetes. Ho eona, Daniele Polencic, mookameli oa morero, o arolelana litaelo tsa pono mabapi le mehato eo u lokelang ho e nka haeba ho na le mathata a akaretsang ka likopo tse sebetsang sehlopheng sa K8s.

Tataiso e bonoang ea ho rarolla mathata a Kubernetes

TL; DR: mona ke setšoantšo se tla u thusa ho tlosa ts'ebetso ho Kubernetes:

Tataiso e bonoang ea ho rarolla mathata a Kubernetes

Flowchart bakeng sa ho fumana le ho lokisa liphoso ka har'a sehlopha. Ea mantlha (ka Senyesemane) e fumaneha ho PDF и joalo ka setšoantšo.

Ha o kenya kopo ho Kubernetes, hangata ho na le likarolo tse tharo tseo u hlokang ho li hlalosa:

  • dulang - ena ke mofuta oa risepe ea ho etsa likopi tsa kopo, tse bitsoang li-pods;
  • Service - ka hare mojaro balancer hore aba sephethephethe har'a pods;
  • Ingress - tlhaloso ea hore na sephethephethe se tla tsoa joang lefats'eng le ka ntle ho ea ho Tšebeletso.

Kakaretso ea setšoantšo ke ena:

1) Ho Kubernetes, likopo li fumana sephethephethe ho tsoa lefats'eng le kantle ka mekhahlelo e 'meli ea li-balancers tsa mojaro: kahare le kantle.

Tataiso e bonoang ea ho rarolla mathata a Kubernetes

2) Balancer ea ka hare e bitsoa Tšebeletso, ea ka ntle e bitsoa Ingress.

Tataiso e bonoang ea ho rarolla mathata a Kubernetes

3) Ho tsamaisoa ho etsa li-pods le ho li beha leihlo (ha li entsoe ka letsoho).

Tataiso e bonoang ea ho rarolla mathata a Kubernetes

Ha re re u batla ho kenya ts'ebeliso e bonolo ea la Lefatše la Lumela. Tlhophiso ea YAML bakeng sa eona e tla shebahala tjena:

apiVersion: apps/v1
kind: Deployment # <<<
metadata:
  name: my-deployment
  labels:
    track: canary
spec:
  selector:
    matchLabels:
      any-name: my-app
  template:
    metadata:
      labels:
        any-name: my-app
    spec:
      containers:
      - name: cont1
        image: learnk8s/app:1.0.0
        ports:
        - containerPort: 8080
---
apiVersion: v1
kind: Service # <<<
metadata:
  name: my-service
spec:
  ports:
  - port: 80
    targetPort: 8080
  selector:
    name: app
---
apiVersion: networking.k8s.io/v1beta1
kind: Ingress # <<<
metadata:
  name: my-ingress
spec:
  rules:
  - http:
    paths:
    - backend:
        serviceName: app
        servicePort: 80
      path: /

Tlhaloso e telele haholo mme ho bonolo ho ferekana mabapi le hore na likarolo li amana joang.

Ka mohlala:

  • U lokela ho sebelisa port 80 neng mme u lokela ho sebelisa 8080 neng?
  • Na ke lokela ho theha boema-kepe bo bocha bakeng sa ts'ebeletso ka 'ngoe hore li se ke tsa qabana?
  • Na mabitso a li-label a bohlokoa? Na li lokela ho tšoana hohle?

Pele re shebana le ho lokisa liphoso, a re hopoleng hore na likarolo tse tharo li amana joang. Ha re qaleng ka Deployment le Service.

Kamano pakeng tsa Ts'ebetso le Ts'ebeletso

U tla makala, empa Deployment le Service ha li hokahane ho hang. Sebakeng seo, Ts'ebeletso e supa ka kotloloho ho li-Pods, e feta Deployment.

Kahoo, re thahasella hore na li-Pods le Litšebeletso li amana joang. Lintho tse tharo tseo u lokelang ho li hopola:

  1. Mokhethi (selector) bakeng sa Ts'ebeletso e tlameha ho ts'oara bonyane label e le 'ngoe ea Pod.
  2. targetPort e tlameha ho nyalana containerPort setshelo ka hare ho Pod.
  3. port Tšebeletso e ka ba eng kapa eng. Litšebeletso tse fapaneng li ka sebelisa kou e le 'ngoe hobane li na le liaterese tse fapaneng tsa IP.

Setšoantšo se latelang se emela tsohle tse ka holimo ka mokhoa oa setšoantšo:

1) Ak'u nahane hore tšebeletso e lebisa sephethephethe sebakeng se itseng:

Tataiso e bonoang ea ho rarolla mathata a Kubernetes

2) Ha u theha pod, u tlameha ho hlakisa containerPort bakeng sa setshelo se seng le se seng ka li-pods:

Tataiso e bonoang ea ho rarolla mathata a Kubernetes

3) Ha u theha tšebeletso, u tlameha ho bolela port и targetPort. Empa ke efe e sebelisoang ho hokela setshelo?

Tataiso e bonoang ea ho rarolla mathata a Kubernetes

4) Ka targetPort. E tlameha ho lumellana containerPort.

Tataiso e bonoang ea ho rarolla mathata a Kubernetes

5) Ha re re port 3000 e butsoe ka har'a setshelo. Joale boleng targetPort e lokela ho tšoana.

Tataiso e bonoang ea ho rarolla mathata a Kubernetes

Ho faele ea YAML, lileibole le ports / targetPort e tlameha ho lumellana:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: my-deployment
  labels:
    track: canary
spec:
  selector:
    matchLabels:
      any-name: my-app
  template:
    metadata:
     labels:  # <<<
        any-name: my-app  # <<<
   spec:
      containers:
      - name: cont1
        image: learnk8s/app:1.0.0
        ports:
       - containerPort: 8080  # <<<
---
apiVersion: v1
kind: Service
metadata:
  name: my-service
spec:
  ports:
  - port: 80
   targetPort: 8080  # <<<
 selector:  # <<<
    any-name: my-app  # <<<

Ho thoe'ng ka label track: canary ka holimo ho karolo ea Deployment? E lokela ho lumellana?

Leibole ena e tobane le thepa e itseng, 'me ha e sebelisoe ke litšebeletso ho tsamaisa sephethephethe. Ka mantsoe a mang, e ka tlosoa kapa ea fuoa boleng bo fapaneng.

Ho thoe'ng ka mokhethi matchLabels?

E tlameha ho ts'oana le lileibole tsa Pod kamehla, kaha e sebelisoa ke Deployment ho latela li-pods.

A re nke hore u entse liphetoho tse nepahetseng. Joang ho li hlahloba?

U ka sheba lebokose la pod ka taelo e latelang:

kubectl get pods --show-labels

Kapa, ​​​​haeba li-pods li sebelisoa ke lisebelisoa tse 'maloa:

kubectl get pods --selector any-name=my-app --show-labels

Moo any-name=my-app ke letšoao any-name: my-app.

Na ho na le mathata a setseng?

O ka ikopanya le pod! Ho etsa sena o hloka ho sebelisa taelo port-forward ka kubectl. E u lumella ho hokahanya le ts'ebeletso le ho hlahloba khokahano.

kubectl port-forward service/<service name> 3000:80

Mona:

  • service/<service name> - lebitso la tšebeletso; tabeng ea rōna ho joalo my-service;
  • 3000 ke kou e hlokang ho buloa komporong;
  • 80 - koung e boletsoeng tšimong port ts'ebeletso.

Haeba khokahano e thehiloe, joale litlhophiso li nepahetse.

Haeba khokahano e hloleha, ho na le bothata ka li-label kapa likou ha li lumellane.

Kamano pakeng tsa Tšebeletso le Ingress

Mohato o latelang oa ho fana ka phihlello ea kopo o kenyelletsa ho theha Ingress. Ingress e hloka ho tseba ho fumana ts'ebeletso, ebe o fumana li-pods le ho lebisa sephethephethe ho tsona. Ingress e fumana tšebeletso e hlokahalang ka mabitso le koung e bulehileng.

Tlhalosong ea Ingress le Service liparamente tse peli li tlameha ho ts'oana:

  1. servicePort ho Ingress e tlameha ho lumellana le parameter port ka Tšebeletso;
  2. serviceName ho Ingress e tlameha ho ts'oana le lebala name Tšebeletsong.

Setšoantšo se latelang se akaretsa likhokahano tsa boema-kepe:

1) Joalokaha u se u ntse u tseba, Tšebeletso e mamela e itseng port:

Tataiso e bonoang ea ho rarolla mathata a Kubernetes

2) Ingress e na le parameter e bitsoang servicePort:

Tataiso e bonoang ea ho rarolla mathata a Kubernetes

3) Paramethara ena (servicePort) e tlameha ho tsamaisana kamehla port tlhalosong ea Tšebeletso:

Tataiso e bonoang ea ho rarolla mathata a Kubernetes

4) Haeba port 80 e hlalositsoe Tšebeletsong, joale hoa hlokahala hore servicePort e ne e boetse e lekana le 80:

Tataiso e bonoang ea ho rarolla mathata a Kubernetes

Ka ts'ebetso, o hloka ho ela hloko mela e latelang:

apiVersion: v1
kind: Service
metadata:
 name: my-service  # <<<
spec:
  ports:
 - port: 80  # <<<
   targetPort: 8080
  selector:
    any-name: my-app
---
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
  name: my-ingress
spec:
  rules:
  - http:
    paths:
    - backend:
       serviceName: my-service  # <<<
       servicePort: 80  # <<<
     path: /

U ka hlahloba joang hore na Ingress e sebetsa?

U ka sebelisa mokhoa le kubectl port-forward, empa sebakeng sa ts'ebeletso o hloka ho hokela ho molaoli oa Ingress.

Pele o hloka ho tseba lebitso la pod le molaoli oa Ingress:

kubectl get pods --all-namespaces
NAMESPACE   NAME                              READY STATUS
kube-system coredns-5644d7b6d9-jn7cq          1/1   Running
kube-system etcd-minikube                     1/1   Running
kube-system kube-apiserver-minikube           1/1   Running
kube-system kube-controller-manager-minikube  1/1   Running
kube-system kube-proxy-zvf2h                  1/1   Running
kube-system kube-scheduler-minikube           1/1   Running
kube-system nginx-ingress-controller-6fc5bcc  1/1   Running

Fumana "Ingress pod" (e ka ba sebakeng se fapaneng sa mabitso) 'me u tsamaise taelo describeho fumana linomoro tsa port:

kubectl describe pod nginx-ingress-controller-6fc5bcc 
--namespace kube-system 
 | grep Ports
Ports:         80/TCP, 443/TCP, 18080/TCP

Qetellong, hokela ho pod:

kubectl port-forward nginx-ingress-controller-6fc5bcc 3000:80 --namespace kube-system

Hona joale nako le nako ha u romella kopo ea ho port 3000 khomphuteng ea hau, e tla fetisetsoa ho port 80 ea pod le Ingress controller. Ka ho ea http://localhost:3000, o lokela ho bona leqephe le hlahisitsoeng ke sesebelisoa.

Kakaretso ea likou

Ha re hopoleng hape hore na ke likou life le lileibole tse lokelang ho tšoana:

  1. Mokhethi tlhalosong ea Ts'ebeletso o tlameha ho ts'oana le leibole ea pod;
  2. targetPort tlhalosong ea Tšebeletso e tlameha ho lumellana containerPort setshelo ka hare ho pod;
  3. port ka tlhaloso Tšebeletso e ka ba eng kapa eng. Litšebeletso tse fapaneng li ka sebelisa kou e le 'ngoe hobane li na le liaterese tse fapaneng tsa IP;
  4. servicePort Ingress e tlameha ho lumellana port tlhalosong ea Tšebeletso;
  5. Lebitso la ts'ebeletso le tlameha ho ts'oana le lebala serviceName ka Ingress.

Ka bomalimabe, ha hoa lekana ho tseba ho hlophisa sebopeho sa YAML hantle.

Ho etsahala'ng ha lintho li sa tsamaee hantle?

Pod e ka 'na ea se ke ea qala kapa ea senyeha.

Mehato e 3 ea ho Lekola Mathata a Kopo ho Kubernetes

Pele o qala ho lokisa thepa ea hau, o hloka ho utloisisa hantle hore na Kubernetes e sebetsa joang.

Kaha sesebelisoa se seng le se seng se jarollotsoeng ho K8s se na le likarolo tse tharo, li lokela ho lokisoa ka tatellano e itseng, ho qala ho tloha tlase.

  1. Pele u lokela ho etsa bonnete ba hore li-pods lia sebetsa, ebe ...
  2. Sheba hore na tšebeletso e fana ka sephethephethe ho li-pods, ebe ...
  3. Sheba hore na Ingress e hlophisitsoe hantle.

Boemeli ba pono:

1) U lokela ho qala ho batla mathata ho tloha tlase haholo. Ntlha ea pele, hlahloba hore na li-pods li na le li-status Ready и Running:

Tataiso e bonoang ea ho rarolla mathata a Kubernetes

2) Haeba li-pods li se li lokile (Ready), o lokela ho fumana hore na ts'ebeletso e aba sephethephethe lipakeng tsa li-pods:

Tataiso e bonoang ea ho rarolla mathata a Kubernetes

3) Qetellong, o hloka ho sekaseka kamano lipakeng tsa ts'ebeletso le Ingress:

Tataiso e bonoang ea ho rarolla mathata a Kubernetes

1. Tlhahlobo ea li-pods

Maemong a mangata bothata bo amana le pod. Etsa bonnete ba hore li-pods li thathamisitsoe e le Ready и Running. U ka sheba sena ka ho sebelisa taelo:

kubectl get pods
NAME                    READY STATUS            RESTARTS  AGE
app1                    0/1   ImagePullBackOff  0         47h
app2                    0/1   Error             0         47h
app3-76f9fcd46b-xbv4k   1/1   Running           1         47h

Ka taelo e ka holimo, pod ea ho qetela e thathamisitsoe e le Running и Ready, leha ho le joalo, sena ha se joalo ho tse ling tse peli.

Joang ho utloisisa se ileng sa senyeha?

Ho na le litaelo tse 'nè tsa bohlokoa bakeng sa ho hlahloba li-pods:

  1. kubectl logs <имя pod'а> e u lumella ho ntša lifate ho tloha lijaneng ka pod;
  2. kubectl describe pod <имя pod'а> e u lumella ho sheba lethathamo la liketsahalo tse amanang le pod;
  3. kubectl get pod <имя pod'а> e o lumella ho fumana tlhophiso ea YAML ea pod e bolokiloeng ho Kubernetes;
  4. kubectl exec -ti <имя pod'а> bash e o lumella ho qala khetla ea taelo e sebetsang ho e 'ngoe ea lijana tsa pod

U lokela ho khetha efe?

'Nete ke hore ha ho na taelo e akaretsang. Motsoako oa tsena o lokela ho sebelisoa.

Mathata a tloaelehileng a pod

Ho na le mefuta e 'meli e meholo ea liphoso tsa pod: liphoso tsa ho qala le liphoso tsa nako ea ho sebetsa.

Liphoso tsa ho qala:

  • ImagePullBackoff
  • ImageInspectError
  • ErrImagePull
  • ErrImageNeverPull
  • RegistryUnavailable
  • InvalidImageName

Liphoso tsa nako:

  • CrashLoopBackOff
  • RunContainerError
  • KillContainerError
  • VerifyNonRootError
  • RunInitContainerError
  • CreatePodSandboxError
  • ConfigPodSandboxError
  • KillPodSandboxError
  • SetupNetworkError
  • TeardownNetworkError

Liphoso tse ling li atile ho feta tse ling. Mona ke tse ling tsa liphoso tse atileng haholo le mokhoa oa ho li lokisa.

ImagePullBackOff

Phoso ena e etsahala ha Kubernetes e sa khone ho fumana setšoantšo sa e 'ngoe ea lijana tsa pod. Mona ke mabaka a mararo a tloaelehileng haholo a sena:

  1. Lebitso la setšoantšo ha lea nepahala - ka mohlala, u entse phoso ho eona, kapa setšoantšo ha se eo;
  2. Theke e neng e le sieo e hlalositsoe bakeng sa setšoantšo;
  3. Setšoantšo se bolokiloe ngolisong ea poraefete mme Kubernetes ha a na tumello ea ho se fumana.

Mabaka a mabeli a pele a bonolo ho felisa - feela lokisa lebitso la setšoantšo le tag. Tabeng ea ho qetela, o hloka ho kenya lintlha tsa boitsebiso bakeng sa ngoliso e koetsoeng ka Lekunutu 'me u kenye lihokelo ho eona ka li-pods. Litokomaneng tsa Kubernetes ho na le mohlala kamoo sena se ka etsoang kateng.

Crash Loop Back Off

Kubenetes o etsa phoso CrashLoopBackOff, haeba setshelo se sa khone ho qala. Hangata sena se etsahala ha:

  1. Ho na le kokoanyana ts'ebelisong e e thibelang ho qala;
  2. Setshelo e hlophisitsoeng hampe;
  3. Teko ea Liveness e hlolehile hangata.

U tlameha ho leka ho fihla likutung ho tloha ka setshelo ho fumana lebaka la ho hloleha ha eona. Haeba ho le thata ho fihlella lits'oants'o hobane setshelo se qala hape kapele, o ka sebelisa taelo e latelang:

kubectl logs <pod-name> --previous

E bonts'a melaetsa ea phoso e tsoang ho incarnation e fetileng ea setshelo.

RunContainerError

Phoso ena e etsahala ha setshelo se hloleha ho qala. E lumellana le motsotso pele kopo e qala. Hangata e bakoa ke litlhophiso tse fosahetseng, mohlala:

  • ho leka ho phahamisa molumo o seng teng joalo ka ConfigMap kapa Secrets;
  • leka ho phahamisa molumo oa ho bala feela joalo ka ha ho ngoloa.

Sehlopha se loketse hantle ho hlahloba liphoso tse joalo kubectl describe pod <pod-name>.

Li-pods li maemong a Pending

Hang ha e bōpiloe, pod e sala e le mmuso Pending.

Ke hobane'ng ha see se etsahala?

Mabaka a ka bang teng ke ana (ke nahana hore mohlophisi o sebetsa hantle):

  1. Sehlopha ha se na lisebelisoa tse lekaneng, tse kang matla a ho sebetsa le mohopolo, ho tsamaisa pod.
  2. Ntho e kentsoe sebakeng se loketseng sa mabitso ResourceQuota mme ho theha pod ho tla etsa hore sebaka sa mabitso se fetele ka nqane ho palo.
  3. Pod e tlameletsoe ho Pending PersistentVolumeClaim.

Tabeng ena, ho kgothaletswa ho sebelisa taelo kubectl describe 'me u hlahlobe karolo Events:

kubectl describe pod <pod name>

Tabeng ea liphoso tse amanang le ResourceQuotas, ho kgothaletswa ho sheba li-log tsa lihlopha ho sebelisa taelo

kubectl get events --sort-by=.metadata.creationTimestamp

Li-pods ha li Loketse

Haeba pod e thathamisitsoe e le Running, empa ha a boemong Ready, ho bolela ho hlahloba ho itokisa ha eona (boiteko ba lipatlisiso) hloleha.

Ha sena se etsahala, pod ha e hokahane le ts'ebeletso 'me ha ho na sephethephethe se phallelang ho eona. Ho hloleha ha tlhahlobo ea ho itokisetsa ho bakoa ke mathata a ts'ebeliso. Tabeng ena, ho fumana phoso, o hloka ho sekaseka karolo Events tlhahisong ea taelo kubectl describe.

2. Litlhahlobo tsa lits'ebeletso

Haeba li-pods li thathamisitsoe e le Running и Ready, empa ho ntse ho se na karabo ho tsoa ho kopo, o lokela ho hlahloba litlhophiso tsa tšebeletso.

Litšebeletso li na le boikarabello ba ho tsamaisa sephethephethe ho li-pods ho latela mangolo a tsona. Ka hona, ntho ea pele eo u lokelang ho e etsa ke ho hlahloba hore na ke li-pods tse kae tse sebetsang le tšebeletso. Ho etsa sena, o ka sheba li-endpoints tšebeletsong:

kubectl describe service <service-name> | grep Endpoints

Endpoint ke para ea boleng ba foromo <IP-адрес:порт>, 'me bonyane para e le 'ngoe e joalo e tlameha ho ba teng tlhahisong (ke hore, bonyane pod e le 'ngoe e sebetsa le ts'ebeletso).

Haeba karolo Endpoins e se nang letho, likhetho tse peli lia khoneha:

  1. ha ho na li-pods tse nang le letšoao le nepahetseng (tlhahiso: hlahloba hore na sebaka sa mabitso se khethiloe ka nepo);
  2. Ho na le phoso lileiboleng tsa litšebeletso ho khetho.

Haeba u bona lethathamo la lintlha tsa ho qetela empa u ntse u sa khone ho fihlella ts'ebeliso, mohlomong molato ke phoso targetPort tlhalosong ea tšebeletso.

Joang ho lekola ts'ebetso ea ts'ebeletso?

Ho sa tsotellehe mofuta oa tšebeletso, u ka sebelisa taelo kubectl port-forward ho hokela ho eona:

kubectl port-forward service/<service-name> 3000:80

Mona:

  • <service-name> - lebitso la tšebeletso;
  • 3000 ke kou eo u e bulang komporong;
  • 80 - koung ka lehlakoreng la tšebeletso.

3. Litlhahlobo tsa Ingress

Haeba u balile ho fihlela mona, joale:

  • li-pods li thathamisitsoe e le Running и Ready;
  • tšebeletso ka katleho aba sephethephethe har'a pods.

Leha ho le joalo, u ntse u sa khone ho fihlella app.

Sena se bolela hore molaoli oa Ingress mohlomong ha a lokisoe ka nepo. Kaha molaoli oa Ingress ke karolo ea mokha oa boraro sehlopheng, ho na le mekhoa e fapaneng ea ho lokisa liphoso ho latela mofuta oa eona.

Empa pele u sebelisa lisebelisoa tse khethehileng ho lokisa Ingress, u ka etsa ntho e bonolo haholo. Ingress e sebelisa serviceName и servicePort ho hokela tshebeletsong. U lokela ho hlahloba hore na li hlophisitsoe hantle. U ka etsa sena u sebelisa taelo:

kubectl describe ingress <ingress-name>

Haeba kholomo Backend ha ho letho, ho na le monyetla o moholo oa phoso ea tlhophiso. Haeba li-backend li le teng, empa ts'ebeliso e ntse e sa fumanehe, bothata bo kanna ba amana le:

  • Kena litlhophiso tsa phihlello ho tsoa Marang-rang a sechaba;
  • litlhophiso tsa phihlello ea sehlopha ho tsoa Marang-rang a sechaba.

O ka tseba mathata a meralo ea motheo ka ho hokela ka kotloloho ho Ingress pod. Ho etsa sena, fumana pele "Ingress Controller pod" (e ka ba sebakeng se fapaneng sa mabitso):

kubectl get pods --all-namespaces
NAMESPACE   NAME                              READY STATUS
kube-system coredns-5644d7b6d9-jn7cq          1/1   Running
kube-system etcd-minikube                     1/1   Running
kube-system kube-apiserver-minikube           1/1   Running
kube-system kube-controller-manager-minikube  1/1   Running
kube-system kube-proxy-zvf2h                  1/1   Running
kube-system kube-scheduler-minikube           1/1   Running
kube-system nginx-ingress-controller-6fc5bcc  1/1   Running

Sebelisa taelo describeho seta kou:

kubectl describe pod nginx-ingress-controller-6fc5bcc
--namespace kube-system 
 | grep Ports

Qetellong, hokela ho pod:

kubectl port-forward nginx-ingress-controller-6fc5bcc 3000:80 --namespace kube-system

Hona joale likopo tsohle tsa ho kenya 3000 khomphuteng li tla fetisetsoa ho port 80 ea pod.

E ea sebetsa hona joale?

  • Haeba ho joalo, joale bothata bo mabapi le lisebelisoa tsa motheo. Hoa hlokahala ho fumana hantle hore na sephethephethe se tsamaisoa joang ho sehlopha.
  • Haeba ho se joalo, joale bothata bo ho molaoli oa Ingress.

Haeba o sa khone ho etsa hore molaoli oa Ingress o sebetse, o tla tlameha ho e lokisa.

Ho na le mefuta e mengata ea li-controller tsa Ingress. Tse tsebahalang haholo ke Nginx, HAProxy, Traefik, joalo-joalo. (bakeng sa tlhaiso-leseling e batsi mabapi le litharollo tse teng, bona tlhahlobo ea rona - hoo e ka bang. fetolela.) U lokela ho sheba tataiso ea ho rarolla mathata litokomaneng tsa molaoli tse amehang. Hobane the Ingress Nginx ke molaoli ea tsebahalang haholo oa Ingress, re kenyelelitse malebela sengoloeng ho rarolla mathata a amanang le ona.

Ho lokisa taolo ea Ingress Nginx

Morero oa Ingress-nginx o na le ofisiri plugin bakeng sa kubectl. Sehlopha kubectl ingress-nginx e ka sebelisoa ho:

  • tlhahlobo ea li-logs, backends, certificates, joalo-joalo;
  • likhokahano ho Ingress;
  • ho ithuta tlhophiso ea hajoale.

Litaelo tse tharo tse latelang li tla u thusa ho sena:

  • kubectl ingress-nginx lint - licheke nginx.conf;
  • kubectl ingress-nginx backend - e hlahloba morao-rao (e ts'oanang le kubectl describe ingress <ingress-name>);
  • kubectl ingress-nginx logs - e hlahloba likutu.

Hlokomela hore maemong a mang u ka hloka ho hlakisa sebaka se nepahetseng sa mabitso bakeng sa molaoli oa Ingress a sebelisa folakha --namespace <name>.

Kakaretso

Ho rarolla mathata a Kubernetes ho ka ba thata haeba o sa tsebe hore na o qale hokae. U lokela ho lula u atamela bothata ho tloha tlaase ho ea holimo: qala ka li-pods, ebe u fetela pele ho tšebeletso le Ingress. Mekhoa ea ho lokisa liphoso e hlalositsoeng sehloohong sena e ka sebelisoa ho lintho tse ling, tse kang:

  • Mesebetsi e sa sebetseng le ea CronJobs;
  • StatefulSets le DaemonSets.

Ke fana ka teboho ea ka Gergely Risko, Daniel Weibel и Charles Christyraj bakeng sa litlhaloso tsa bohlokoa le litlatsetso.

PS ho tsoa ho mofetoleli

Bala hape ho blog ea rona:

Source: www.habr.com

Eketsa ka tlhaloso