Docker ja Kubernetes kehittäjille · Oppitunti

K8s:n yleisten ongelmien vianmääritys

Kehitä taitojasi Kubernetes-sovellusten käyttöönoton ja hallinnan aikana ilmenevien yleisten ongelmien diagnosointiin ja ratkaisemiseen.

Oppitunti 3/411 vaihetta

K8s:n yleisten ongelmien vianmääritys on ilmainen Docker ja Kubernetes kehittäjille-oppitunti CoddyKitissä. Tämä on oppitunti 3/4. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu Docker ja Kubernetes kehittäjille-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Docker ja Kubernetes kehittäjille-kurssilla on yhteensä 4 oppituntia.

K8s-vianmäärityksen yleiskatsaus

Kubernetes on tehokas, mutta asiat voivat mennä pieleen! Ongelmanmäärityksen ymmärtäminen on tärkeä taito jokaiselle kehittäjälle ja ylläpitäjälle.

Tässä oppitunnissa saatte käyttöönne keskeiset työkalut ja tekniikat Kubernetes-klusterien yleisten ongelmien tunnistamiseen ja ratkaisemiseen.

Ensisijainen työkalunne: `kubectl`

kubectl-komentorivityökalu on ensisijainen käyttöliittymänne Kubernetes-klusterin kanssa työskentelyyn. Se on korvaamaton apu vianmäärityksessä.

  • Tarkastelu: Tarkastelkaa resurssien tilaa ja tietoja.
  • Valvonta: Tarkistakaa lokit ja tapahtumat vihjeiden löytämiseksi.
  • Vuorovaikutus: Suorittakaa komentoja säilöissänne vianmäärityksen syventämiseksi.

Perusteellinen tarkastelu komennolla `kubectl describe`

kubectl describe tarjoaa runsaasti tietoa tietystä resurssista, kuten Podista, Deploymentista tai Servicestä.

Se näyttää nykyisen tilan, määritykset, resurssirajat ja ennen kaikkea kyseiseen resurssiin liittyvät viimeaikaiset tapahtumat. Etsikää varoituksia tai virheitä "Events"-osiosta.

kubectl describe pod my-app-pod-xyz

Sovelluksen lokien tarkistaminen

Sovelluksen lokit ovat usein ensimmäinen paikka, joka kannattaa tarkistaa, kun säilö ei toimi odotetulla tavalla. Näette sovelluksen tuottaman tulosteen komennolla kubectl logs.

# View logs for a pod
kubectl logs my-app-pod-xyz

# Follow logs in real-time
kubectl logs -f my-app-pod-xyz

# View logs from a previous instance
kubectl logs -p my-app-pod-xyz

Klusterin tapahtumien ymmärtäminen

Kubernetes luo tapahtumia merkittävistä tapahtumista, kuten Podin ajoittamisesta, imagon lataamisesta tai taltion liittämisestä. Nämä tapahtumat ovat olennaisia klusterin toiminnan ymmärtämiseksi.

Näette tapahtumien aikajanan komennolla kubectl get events. Rajatkaa tuloksia nimitilan tai resurssin mukaan, jotta näette olennaiset tapahtumat.

kubectl get events --field-selector type!=Normal

Käynnissä olevien säilöjen kanssa työskentely

Joskus vianmääritystä varten on siirryttävä käynnissä olevan säilön sisään. kubectl exec mahdollistaa komentojen suorittamisen suoraan säilössä, esimerkiksi tiedostopolkujen tai verkkoyhteyden tarkistamisen.

# Open a shell in a container
kubectl exec -it my-app-pod-xyz -- sh

# Run a specific command
kubectl exec my-app-pod-xyz -- ls -l /app

Pending- tai `CrashLoopBackOff`-tilaan juuttuneet Podit

Nämä ovat kaksi hyvin yleistä Podin tilaongelmaa:

  • Pending: Syynä ovat usein riittämättömät resurssit (suoritin/muisti), solmun affiniteettiongelmat tai puuttuva Persistent Volume Claim. Tarkistakaa komennon kubectl describe pod tapahtumat.
  • CrashLoopBackOff: Säilö käynnistyy, kaatuu ja Kubernetes yrittää käynnistää sen toistuvasti uudelleen. Tämä tarkoittaa yleensä sovellusvirhettä. Tarkistakaa kubectl logs.

Verkkoyhteyksien vianmääritys

Eikö sovellukseenne saada yhteyttä? Verkko-ongelmat ovat yleisiä. Tarkistakaa seuraavat asiat:

  • Servicen päätepisteet: Varmistakaa komennolla kubectl describe service your-service, että Servicellä on aktiivisia Pod-päätepisteitä.
  • Ingress-säännöt: Tarkistakaa ulkoista käyttöä varten Ingress-resurssin säännöt ja Ingress-ohjaimen tila.
  • Network Policiet: Varmistakaa, ettei mikään Network Policy estä liikennettä tahattomasti.

Resurssirajat ja OOMKilled

Jos Podinne käyttävät liikaa suoritinta tai muistia, Kubernetes saattaa lopettaa ne. Muistin osalta tämä näkyy usein tilana OOMKilled (Out Of Memory Killed).

Tarkistakaa Podin resurssipyynnöt ja -rajat sen YAML-määrityksestä. Näette komennolla kubectl describe pod, onko säilö lopetettu OOMKilled-tilan vuoksi.

Pikatarkistus: vianmääritysvaiheet

Olette ottaneet käyttöön uuden Podin, mutta se on juuttunut Pending-tilaan. Mitkä ovat todennäköisimmät ensimmäiset vaiheet ongelman selvittämiseksi?

K8s-vianmäärityksen kertaus

Olette oppineet lähestymään Kubernetes-vianmääritystä järjestelmällisesti. Muistakaa keskeiset työkalunne:

  • kubectl describe resurssien yksityiskohtaisiin tietoihin ja tapahtumiin.
  • kubectl logs sovelluksen tulosteeseen.
  • kubectl get events koko klusterin tapahtumiin.
  • kubectl exec säilön sisäiseen vianmääritykseen.

Harjoitelkaa näiden komentojen käyttöä, jotta löydätte ja ratkaisisitte Kubernetes-käyttöönottojen ongelmat nopeasti!

Aloita maksutta

Opi Docker ja Kubernetes kehittäjille tekoälytuutorin avulla — ilmaiseksi

Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.

Kurssit
12
Oppitunnit
48

Usein kysytyt kysymykset

Onko oppitunti ”K8s:n yleisten ongelmien vianmääritys” ilmainen?

Kyllä – oppitunnin ”K8s:n yleisten ongelmien vianmääritys” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko Docker ja Kubernetes kehittäjille-kurssin, päivitä CoddyKit PROhon. Docker ja Kubernetes kehittäjille-kurssilla on yhteensä 4 oppituntia.

Mitä opin oppitunnilla ”K8s:n yleisten ongelmien vianmääritys”?

Kehitä taitojasi Kubernetes-sovellusten käyttöönoton ja hallinnan aikana ilmenevien yleisten ongelmien diagnosointiin ja ratkaisemiseen. Harjoittelet Docker ja Kubernetes kehittäjille-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.

Tarvitsenko kokemusta aloittaakseni Docker ja Kubernetes kehittäjille-opiskelun?

Aiempi kokemus ei ole tarpeen. CoddyKitin Docker ja Kubernetes kehittäjille-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 3/4.

Kuinka kauan ”K8s:n yleisten ongelmien vianmääritys”-oppitunnin suorittaminen kestää?

Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.

Voinko kirjoittaa ja suorittaa koodia tällä Docker ja Kubernetes kehittäjille-oppitunnilla?

Kyllä. Jokainen Docker ja Kubernetes kehittäjille-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.

Kaikki tämän kurssin oppitunnit

  1. Kubernetesin lokitusstrategiat
  2. Valvonta Prometheuksella ja Grafanalla
  3. K8s:n yleisten ongelmien vianmääritys
  4. Terveystarkistukset: liveness-, readiness- ja startup-probet
← Takaisin: Docker ja Kubernetes kehittäjille