Upangiri Wowoneka Wakuthetsa Kubernetes

Zindikirani. transl.: Nkhaniyi ndi gawo lazinthu za polojekiti zomwe zimasindikizidwa pagulu maphunziro8s, makampani ophunzitsa ndi olamulira payekha kuti azigwira ntchito ndi Kubernetes. M'menemo, Daniele Polencic, woyang'anira polojekiti, amagawana malangizo owonera pazomwe mungachite ngati pangakhale mavuto ambiri ndi mapulogalamu omwe akuyendetsa gulu la K8s.

Upangiri Wowoneka Wakuthetsa Kubernetes

TL; DR: nachi chithunzi chomwe chingakuthandizeni kuchotsa zolakwika ku Kubernetes:

Upangiri Wowoneka Wakuthetsa Kubernetes

Flowchart kupeza ndi kukonza zolakwika mumagulu. Choyambirira (mu Chingerezi) chikupezeka pa PDF ΠΈ monga chithunzi.

Mukatumiza pulogalamu ku Kubernetes, pali zinthu zitatu zomwe muyenera kufotokozera:

  • Kutumizidwa - uwu ndi mtundu wa maphikidwe opangira makope ogwiritsira ntchito, otchedwa ma pod;
  • Service - cholemetsa chamkati chomwe chimagawa magalimoto pakati pa ma pod;
  • Ingress - Kufotokozera momwe magalimoto adzachokera kudziko lakunja kupita ku Service.

Nachi chidule chachidule chazithunzi:

1) Ku Kubernetes, mapulogalamu amalandira magalimoto kuchokera kudziko lakunja kudzera mumagulu awiri a zolemetsa: mkati ndi kunja.

Upangiri Wowoneka Wakuthetsa Kubernetes

2) Balancer yamkati imatchedwa Service, yakunja imatchedwa Ingress.

Upangiri Wowoneka Wakuthetsa Kubernetes

3) Kutumiza kumapanga ma pod ndikuwayang'anira (sanapangidwe pamanja).

Upangiri Wowoneka Wakuthetsa Kubernetes

Tiyerekeze kuti mukufuna kutumiza ntchito yosavuta a la Moni Dziko Lapansi. Kusintha kwa YAML kwake kudzawoneka motere:

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

Tanthauzo lake ndi lalitali kwambiri ndipo n'zosavuta kusokoneza momwe zigawozo zikugwirizanirana.

Mwachitsanzo:

  • Kodi muyenera kugwiritsa ntchito liti doko 80 ndipo muyenera kugwiritsa ntchito 8080 liti?
  • Kodi ndipange doko latsopano la ntchito iliyonse kuti zisasemphane?
  • Kodi mayina a zilembo ndi ofunika? Kodi ziyenera kukhala zofanana kulikonse?

Tisanayang'ane pa kukonza zolakwika, tiyeni tikumbukire momwe zigawo zitatuzi zikugwirizanirana. Tiyeni tiyambe ndi Deployment and Service.

Mgwirizano pakati pa Kutumiza ndi Ntchito

Mudzadabwitsidwa, koma Kutumiza ndi Ntchito sikulumikizidwa konse. M'malo mwake, Service imalozera ku Pods, kudutsa Deployment.

Chifukwa chake, tili ndi chidwi ndi momwe ma Pods ndi Ntchito zimagwirizanirana wina ndi mnzake. Zinthu zitatu zofunika kukumbukira:

  1. Chosankha (selector) ya Service iyenera kufanana ndi Pod imodzi.
  2. targetPort ziyenera kufanana containerPort chidebe mkati mwa Pod.
  3. port Utumiki ukhoza kukhala chirichonse. Ntchito zosiyanasiyana zimatha kugwiritsa ntchito doko lomwelo chifukwa ali ndi ma adilesi osiyanasiyana a IP.

Chithunzi chotsatirachi chikuyimira zonse zomwe zili pamwambazi m'mawonekedwe:

1) Ingoganizirani kuti ntchitoyo imawongolera magalimoto kumalo ena:

Upangiri Wowoneka Wakuthetsa Kubernetes

2) Mukamapanga pod, muyenera kufotokoza containerPort pa chidebe chilichonse m'mapoto:

Upangiri Wowoneka Wakuthetsa Kubernetes

3) Mukamapanga ntchito, muyenera kufotokoza port ΠΈ targetPort. Koma ndi iti yomwe imagwiritsidwa ntchito kulumikiza ku chidebecho?

Upangiri Wowoneka Wakuthetsa Kubernetes

4) Kudzera targetPort. Iyenera kufanana containerPort.

Upangiri Wowoneka Wakuthetsa Kubernetes

5) Tinene kuti port 3000 yatsegulidwa mu chidebe, ndiye mtengo wake targetPort zikhale chomwecho.

Upangiri Wowoneka Wakuthetsa Kubernetes

Mu fayilo ya YAML, zolemba ndi ports / targetPort ziyenera kufanana:

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

Nanga bwanji chizindikiro track: canary pamwamba pa gawo la Deployment? Ziyenera kufanana?

Zolembazi ndizokhazikika ndipo sizigwiritsidwa ntchito ndi mayendedwe apamsewu. Mwanjira ina, imatha kuchotsedwa kapena kupatsidwa mtengo wosiyana.

Nanga bwanji wosankha? matchLabels?

Iyenera kufanana ndi zolemba za Pod nthawi zonse, chifukwa imagwiritsidwa ntchito ndi Deployment kutsata ma pod.

Tiyerekeze kuti mwakonza zolondola. Kodi fufuzani iwo?

Mukhoza kuyang'ana pod label ndi lamulo ili:

kubectl get pods --show-labels

Kapena, ngati ma pod ali a mapulogalamu angapo:

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

Kumeneko any-name=my-app ndi chizindikiro any-name: my-app.

Kodi pali zovuta zilizonse?

Mutha kulumikizana ndi pulogalamuyi! Kuti muchite izi muyenera kugwiritsa ntchito lamulo port-forward mu kubectl. Zimakulolani kuti mugwirizane ndi utumiki ndikuyang'ana kugwirizana.

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

Zomwe:

  • service/<service name> - dzina lautumiki; kwa ife zili choncho my-service;
  • 3000 ndiye doko lomwe liyenera kutsegulidwa pakompyuta;
  • 80 - doko lofotokozedwa m'munda port utumiki.

Ngati kugwirizana kunakhazikitsidwa, ndiye zoikamo ndi zolondola.

Ngati kugwirizana kwalephera, pali vuto ndi zolemba kapena madoko sagwirizana.

Mgwirizano pakati pa Service ndi Ingress

Gawo lotsatira popereka mwayi wogwiritsa ntchito pulogalamuyi ndikukhazikitsa Ingress. Ingress ikufunika kudziwa momwe mungapezere ntchito, kenako pezani ma pod ndikuwongolera magalimoto kwa iwo. Ingress imapeza ntchito yofunikira ndi dzina ndi doko lotseguka.

Pofotokoza za Ingress ndi Service magawo awiri ayenera kufanana:

  1. servicePort mu Ingress iyenera kufanana ndi parameter port mu Service;
  2. serviceName mu Ingress iyenera kufanana ndi munda name mu Service.

Chithunzi chotsatirachi chikufotokozera mwachidule kulumikizana kwa madoko:

1) Monga mukudziwira kale, Service imamvera zina port:

Upangiri Wowoneka Wakuthetsa Kubernetes

2) Ingress ili ndi parameter yotchedwa servicePort:

Upangiri Wowoneka Wakuthetsa Kubernetes

3) Parameter iyi (servicePort) ziyenera kufanana nthawi zonse port mu tanthauzo la Service:

Upangiri Wowoneka Wakuthetsa Kubernetes

4) Ngati doko 80 lafotokozedwa mu Service, ndiye kuti ndikofunikira servicePort inalinso yofanana ndi 80:

Upangiri Wowoneka Wakuthetsa Kubernetes

Pochita, muyenera kulabadira mizere iyi:

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

Kodi mungawone bwanji ngati Ingress ikuyenda?

Mutha kugwiritsa ntchito njira kubectl port-forward, koma m'malo mwautumiki muyenera kulumikiza kwa Ingress controller.

Choyamba muyenera kudziwa dzina la pod ndi Ingress controller:

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

Pezani Ingress pod (ikhoza kukhala m'malo osiyanasiyana) ndikuyendetsa lamulo describekuti mudziwe manambala adoko:

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

Pomaliza, gwirizanitsani ku pod:

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

Tsopano nthawi iliyonse mukatumiza pempho la port 3000 pa kompyuta yanu, lidzatumizidwa ku port 80 ya pod ndi Ingress controller. Pakupita ku http://localhost:3000, muyenera kuwona tsamba lopangidwa ndi pulogalamuyi.

Chidule cha madoko

Tikumbukirenso kuti ndi madoko ndi zilembo ziti zomwe ziyenera kufanana:

  1. Wosankha mu tanthauzo la Utumiki ayenera kufanana ndi chizindikiro cha pod;
  2. targetPort mu tanthauzo Service ayenera kufanana containerPort chidebe mu poto;
  3. port mu tanthauzo Service akhoza kukhala chirichonse. Ntchito zosiyanasiyana zimatha kugwiritsa ntchito doko lomwelo chifukwa ali ndi ma adilesi osiyanasiyana a IP;
  4. servicePort Ingress iyenera kufanana port mu tanthauzo la Service;
  5. Dzina lautumiki liyenera kufanana ndi gawoli serviceName mu Ingress.

Tsoka ilo, sikokwanira kudziwa momwe mungapangire kasinthidwe ka YAML.

Kodi chimachitika ndi chiyani zinthu zikavuta?

Chomeracho sichingayambe kapena chikhoza kuwonongeka.

Njira 3 Zodziwira Mavuto Ogwiritsa Ntchito Kubernetes

Musanayambe kukonza kutumizidwa kwanu, muyenera kumvetsetsa bwino momwe Kubernetes amagwirira ntchito.

Popeza pulogalamu iliyonse yotsitsidwa mu K8s ili ndi zigawo zitatu, ziyenera kusinthidwa mwanjira inayake, kuyambira pansi.

  1. Choyamba muyenera kuwonetsetsa kuti ma pod akugwira ntchito, ndiye ...
  2. Yang'anani ngati ntchitoyo ikupereka magalimoto ku ma pod, ndiyeno...
  3. Onani ngati Ingress idakonzedwa bwino.

Chiwonetsero:

1) Muyenera kuyamba kuyang'ana zovuta kuchokera pansi. Choyamba fufuzani ngati ma pod ali ndi ma status Ready ΠΈ Running:

Upangiri Wowoneka Wakuthetsa Kubernetes

2) Ngati makoko ali okonzeka (Ready), muyenera kudziwa ngati ntchitoyo imagawa magalimoto pakati pa ma pod:

Upangiri Wowoneka Wakuthetsa Kubernetes

3) Pomaliza, muyenera kusanthula kulumikizana pakati pa ntchitoyo ndi Ingress:

Upangiri Wowoneka Wakuthetsa Kubernetes

1. Diagnostics a makoko

Nthawi zambiri vutoli limakhudzana ndi pod. Onetsetsani kuti ma pod alembedwa ngati Ready ΠΈ Running. Mutha kuwona izi pogwiritsa ntchito lamulo:

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

Mu lamulo lomwe lili pamwambapa, pod yomaliza yalembedwa ngati Running ΠΈ Ready, komabe, izi sizili choncho kwa ena awiriwo.

Momwe mungamvetsetse zomwe zidalakwika?

Pali malamulo anayi othandiza pozindikira ma pod:

  1. kubectl logs <имя pod'а> amakulolani kuchotsa zipika muzitsulo mu pod;
  2. kubectl describe pod <имя pod'а> amakulolani kuti muwone mndandanda wa zochitika zogwirizana ndi pod;
  3. kubectl get pod <имя pod'а> amakulolani kuti mutenge kasinthidwe ka YAML ka pod yosungidwa ku Kubernetes;
  4. kubectl exec -ti <имя pod'а> bash imakulolani kuti mutsegule chipolopolo cholumikizirana mu imodzi mwazotengera za pod

Kodi muyenera kusankha iti?

Zoona zake n’zakuti palibe lamulo loti anthu onse azilamulira. Kuphatikiza kwa izi kuyenera kugwiritsidwa ntchito.

Mavuto a pod

Pali mitundu iwiri ikuluikulu ya zolakwika za pod: zolakwika zoyambira ndi zolakwika za nthawi yothamanga.

Zolakwika poyambira:

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

Zolakwika pa nthawi yoyendetsa:

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

Zolakwa zina ndizofala kuposa zina. Nazi zina mwa zolakwika zomwe zimachitika kwambiri komanso momwe mungakonzere.

ImagePullBackOff

Vutoli limachitika pomwe Kubernetes akulephera kupeza chithunzi cha imodzi mwazotengera za pod. Nazi zifukwa zitatu zofala kwambiri za izi:

  1. Dzina la chithunzicho ndi lolakwika - mwachitsanzo, mudalakwitsa mmenemo, kapena fano palibe;
  2. Chizindikiro chomwe sichinakhalepo chinafotokozedwa pa chithunzicho;
  3. Chithunzicho chimasungidwa mu registry yachinsinsi ndipo Kubernetes alibe chilolezo chochipeza.

Zifukwa ziwiri zoyamba ndizosavuta kuchotsa - ingowongolerani dzina lachifaniziro ndi tag. Pankhani yomalizayi, muyenera kuyika zidziwitso za registry yotsekedwa mu Chinsinsi ndikuwonjezera maulalo kwa izo mu pods. Mu zolemba za Kubernetes pali chitsanzo momwe izi zingachitikire.

Crash Loop Back Off

Kubenetes amaponya cholakwika CrashLoopBackOff, ngati chidebe sichingayambe. Izi zimachitika kawirikawiri:

  1. Pali cholakwika mu pulogalamu yomwe imalepheretsa kuyambitsa;
  2. Chotsitsa kusinthidwa molakwika;
  3. Mayeso a Liveness alephera nthawi zambiri.

Muyenera kuyesa kupita ku zipika kuchokera mu chidebecho kuti mudziwe chifukwa chake chalephereka. Ngati kuli kovuta kupeza zipikazo chifukwa chotengeracho chimayambiranso mwachangu, mutha kugwiritsa ntchito lamulo ili:

kubectl logs <pod-name> --previous

Imawonetsa mauthenga olakwika kuchokera ku thupi lakale la chidebecho.

RunContainerError

Vutoli limachitika pomwe chidebe chimalephera kuyambitsa. Zimafanana ndi nthawi yomwe pulogalamuyo isanayambe. Nthawi zambiri zimachitika chifukwa cha zokonda zolakwika, mwachitsanzo:

  • kuyesa kukweza voliyumu yomwe palibepo monga ConfigMap kapena Chinsinsi;
  • kuyesa kukweza voliyumu yowerengera-yokha monga kuwerenga-lemba.

Gululo ndiloyenera kusanthula zolakwika zotere kubectl describe pod <pod-name>.

Ma pod ali mu Pending state

Akapangidwa, pod imakhalabe m'boma Pending.

Chifukwa chiyani izi zimachitika?

Nazi zifukwa zomwe zingatheke (ndikuganiza kuti wokonza mapulani akugwira ntchito bwino):

  1. Tsango ilibe zinthu zokwanira, monga mphamvu yopangira ndi kukumbukira, kuyendetsa pod.
  2. Chinthucho chimayikidwa mumalo oyenerera ResourceQuota ndipo kupanga poto kumapangitsa kuti dzinalo lipitirire kuchuluka kwa chiwerengerocho.
  3. Pod imamangidwa ku Pending PersistentVolumeClaim.

Pankhaniyi, tikulimbikitsidwa kugwiritsa ntchito lamulo kubectl describe ndi kuwona gawo Events:

kubectl describe pod <pod name>

Pakakhala zolakwika zokhudzana ndi ResourceQuotas, tikulimbikitsidwa kuti muwone zipika zamagulu pogwiritsa ntchito lamulo

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

Ma pod sali Okonzeka

Ngati pod yalembedwa ngati Running, koma sali mu chikhalidwe Ready, kumatanthauza kuyang'ana kukonzekera kwake (kukonzekera kafukufuku) amalephera.

Izi zikachitika, pod sichilumikizana ndi ntchitoyo ndipo palibe magalimoto omwe amapitako. Kulephera kwa mayeso okonzeka kumayamba chifukwa cha zovuta mukugwiritsa ntchito. Pankhaniyi, kuti mupeze cholakwikacho, muyenera kusanthula gawolo Events mu lamulo linanena bungwe kubectl describe.

2. Diagnostics Service

Ngati ma pod alembedwa ngati Running ΠΈ Ready, koma palibe yankho kuchokera ku pulogalamuyi, muyenera kuyang'ana zokonda zautumiki.

Ma Services ali ndi udindo wowongolera magalimoto kupita ku ma pod kutengera zolemba zawo. Chifukwa chake, chinthu choyamba muyenera kuchita ndikuwona kuchuluka kwa ma pods omwe amagwira ntchito ndi ntchitoyi. Kuti muchite izi, mukhoza kuyang'ana mapeto mu utumiki:

kubectl describe service <service-name> | grep Endpoints

Endpoint ndi zikhalidwe ziwiri za fomu <IP-адрСс:ΠΏΠΎΡ€Ρ‚>, ndipo osachepera awiri otere ayenera kukhalapo pazotulutsa (ndiye kuti, osachepera pod imodzi imagwira ntchito ndi ntchitoyi).

Ngati gawo Endpoins opanda, njira ziwiri ndi zotheka:

  1. palibe ma pod okhala ndi chizindikiro cholondola (chidziwitso: fufuzani ngati dzina lasankhidwa bwino);
  2. Pali cholakwika pamalebulo a ntchito mu chosankha.

Ngati muwona mndandanda wazomaliza koma osatha kugwiritsa ntchito pulogalamuyi, ndiye kuti woyambitsa ndiye cholakwika. targetPort m'mafotokozedwe a utumiki.

Kodi mungayang'ane bwanji magwiridwe antchito?

Mosasamala mtundu wautumiki, mutha kugwiritsa ntchito lamulo kubectl port-forward kugwirizana kwa izo:

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

Zomwe:

  • <service-name> - dzina lautumiki;
  • 3000 ndi doko limene mumatsegula pa kompyuta;
  • 80 - doko kumbali ya utumiki.

3. Ingress diagnostics

Ngati mwawerenga mpaka pano, ndiye:

  • ma pod amalembedwa ngati Running ΠΈ Ready;
  • ntchitoyo imagawa bwino magalimoto pakati pa ma pod.

Komabe, simungathe kufikira pulogalamuyi.

Izi zikutanthauza kuti chowongolera cha Ingress mwina sichidakonzedwe bwino. Popeza wolamulira wa Ingress ndi gawo la chipani chachitatu mgululi, pali njira zosiyanasiyana zochotsera zolakwika kutengera mtundu wake.

Koma musanagwiritse ntchito zida zapadera kuti mukhazikitse Ingress, mutha kuchita chinthu chosavuta kwambiri. Ingress amagwiritsa ntchito serviceName ΠΈ servicePort kuti mugwirizane ndi utumiki. Muyenera kuyang'ana ngati amakonzedwa bwino. Mutha kuchita izi pogwiritsa ntchito lamulo:

kubectl describe ingress <ingress-name>

Ngati ndime Backend opanda kanthu, pali kuthekera kwakukulu kwa cholakwika cha kasinthidwe. Ngati ma backends alipo, koma kugwiritsa ntchito sikukupezeka, ndiye kuti vuto lingakhale lokhudzana ndi:

  • Zokonda zopezeka pa intaneti;
  • makonda opezeka pagulu kuchokera pa intaneti ya anthu onse.

Mutha kuzindikira zovuta ndi zomangamanga polumikizana mwachindunji ndi Ingress pod. Kuti muchite izi, pezani choyamba Ingress Controller pod (ikhoza kukhala m'malo ena):

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

Gwiritsani ntchito lamulo describekukhazikitsa doko:

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

Pomaliza, gwirizanitsani ku pod:

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

Tsopano zopempha zonse za doko 3000 pa kompyuta zidzatumizidwa ku doko 80 la pod.

Kodi zikugwira ntchito pano?

  • Ngati inde, ndiye kuti vuto lili ndi zomangamanga. Ndikofunikira kudziwa ndendende momwe magalimoto amayendetsedwera ku masango.
  • Ngati sichoncho, ndiye kuti vuto lili ndi Ingress controller.

Ngati simungathe kupangitsa kuti Ingress controller igwire ntchito, muyenera kuyisintha.

Pali mitundu yambiri ya olamulira a Ingress. Odziwika kwambiri ndi Nginx, HAProxy, Traefik, etc. (kuti mumve zambiri zamayankho omwe alipo, onani ndemanga yathu - pafupifupi. transl.) Muyenera kulozera ku kalozera wamavuto omwe ali muzolemba zoyenera zowongolera. Chifukwa ndi Ingress Nginx ndiye woyang'anira wamkulu wa Ingress, taphatikiza maupangiri m'nkhaniyi kuti athetse mavuto okhudzana ndi izi.

Kuthetsa vuto la Ingress Nginx controller

Ntchito ya Ingress-nginx ili ndi boma plugin ya kubectl. Gulu kubectl ingress-nginx angagwiritsidwe ntchito:

  • kusanthula zipika, backends, satifiketi, etc.;
  • kugwirizana kwa Ingress;
  • kuphunzira kasinthidwe kamakono.

Malamulo atatu otsatirawa adzakuthandizani pa izi:

  • kubectl ingress-nginx lint - cheke nginx.conf;
  • kubectl ingress-nginx backend - amafufuza zakumbuyo (zofanana ndi kubectl describe ingress <ingress-name>);
  • kubectl ingress-nginx logs - amafufuza zipika.

Dziwani kuti nthawi zina mungafunike kufotokoza malo oyenera a Ingress controller pogwiritsa ntchito mbendera --namespace <name>.

Chidule

Kuthetsa Kubernetes kumatha kukhala kovuta ngati simukudziwa koyambira. Nthawi zonse muyenera kuyandikira vutolo kuyambira pansi mpaka pansi: yambani ndi ma pod, kenako pitilizani ku utumiki ndi Ingress. Njira zowongolera zomwe zafotokozedwa m'nkhaniyi zitha kugwiritsidwa ntchito pazinthu zina, monga:

  • Ntchito zopanda ntchito ndi CronJobs;
  • StatefulSets ndi DaemonSets.

Ndikuwonetsa kuyamikira kwanga Gergely Risko, Daniel Weibel ΠΈ Charles Christyraj kwa ndemanga zamtengo wapatali ndi zowonjezera.

PS kuchokera kwa womasulira

Werenganinso pa blog yathu:

Source: www.habr.com

Kuwonjezera ndemanga