Kubectl-lijstafbeeldingen

Kubectl Lijstafbeeldingen



Dit artikel gaat over de Kubectl-lijstafbeeldingen. Hier zullen we ons concentreren op het proces van hoe de opdracht 'Kubectl-lijstafbeeldingen' de lijst met afbeeldingen weergeeft die worden gebruikt door pods of die momenteel aanwezig zijn op de knooppunten van een Kubernetes-cluster. We hebben de benodigde toestemming en inloggegevens nodig om toegang te krijgen tot de opgeslagen lijst met afbeeldingen. In Kubernetes worden alle opdrachten uitgevoerd op de Kubectl-opdrachtregeltool om hun functionaliteiten uit te voeren. We zullen elk commando en het doel ervan leren om de 'Kubectl-lijstafbeeldingen' te krijgen met behulp van relevante voorbeelden en informatie. Laten we beginnen met de gids waar we de informatie in enkele stappen verdelen voor een beter begrip.

Stap 1: Start de Kubernetes-server

In deze stap voeren we de Kubernetes-server uit, een minikube die de pods in een container bevat. We kunnen de minikube-cluste uitvoeren door de volgende opdracht uit te voeren:

~$ start minikube

Wanneer de opdracht wordt uitgevoerd, wordt het lokale minikube-cluster uitgevoerd in onze applicatie.

Minikube maakt gebruik van een VirtualBox om een ​​lokaal toegankelijke virtuele machine te bouwen. We kunnen onze opdrachten of services snel inzetten in Kubernetes-clusters. Daarna testen we ze lokaal met behulp van het minikube Kubernetes-cluster.

Stap 2: Bekijk een lijst met alle pods samen met afbeeldingen in de cluster

Om al deze opdrachten uit te voeren, moet Kubectl op uw lokale systeem zijn geïnstalleerd. In deze stap leren we hoe we een lijst met afbeeldingen kunnen bekijken die wordt gebruikt door pods in clusters en is opgeslagen in onze container. We kunnen de volgende opdracht uitvoeren in onze Kubectl-opdrachtregeltool om een ​​lijst met opgeslagen afbeeldingen te krijgen.

~$ kubectl krijg pods --all-naamruimten -O jsonpad = '{range .items[]}{'\n'}{.metadata.name}{':\t'}{range .spec.containers[]}{.image}{', '}{end}{end }' | \

> soort

Wanneer de opdracht wordt uitgevoerd, wordt de uitvoer weergegeven zoals in de volgende schermafbeelding:

  Een computerscherm met witte tekst Beschrijving automatisch gegenereerd met weinig vertrouwen

Deze opdracht haalt de lijst met pods op die aanwezig zijn in het cluster en haalt vervolgens alle afbeeldingen op die in dit pad worden gevonden. Nadat de afbeeldingen zijn gevonden, sorteert de opdracht deze afbeeldingen ook alfabetisch op volgorde. Ten slotte telt het het aantal afbeeldingen dat in ons cluster aanwezig is. Deze opdracht retourneert de uitvoer in JSON-padindeling. Laten we de onderdelen van het commando één voor één bespreken:

– -alle-naamruimten: We kunnen eenvoudig de lijst met pods ophalen in alle naamruimten in ons Kubernetes-cluster. Hier worden alle afbeeldingen van pods verklaard.

o jsonpath=’: Deze parameter geeft het formaat van de uitvoer aan. Het JSON-padformaat is volgens de gegeven opdracht en geeft de podnaam en containerafbeeldingen weer, evenals het uitvoerformaat. De lijst is gescheiden door tabs en elke pod wordt gescheiden door een nieuwe regel in te voegen.

|: Zoals u kunt zien, gebruiken de commando's de '|' karakter. Het wordt gebruikt om de uitvoer over te dragen naar het passerende commando.

soort: Deze parameter sorteert de afbeeldingen in een specifieke volgorde.

Dit is de volledige uitleg van de opdracht. Hopelijk begrijp je het doel van deze opdracht. Zoals we in de schermafbeelding kunnen zien, wordt de lijst met pods en afbeeldingen weergegeven en gescheiden door komma's.

Stap 3: Download de lijst met afbeeldingen voor een specifieke pod

In deze stap leren we alleen over het ophalen van specifieke pod-afbeeldingen. Hiervoor voeren we de opdracht opnieuw uit die de naam van de pod in het JSON-pad specificeert. Voer de volgende opdracht uit om de afbeeldingen van een specifieke pod op te halen.

~$ kubectl krijgt pods --all-naamruimten -O jsonpad = '{.items[].spec.containers[].image}' -l app =nginx

In deze opdracht nemen we een pod met de naam 'app=ngnix'.

Wanneer de opdracht wordt uitgevoerd, geeft het uitvoerformaat van het JSON-pad de lijst weer met alle containerafbeeldingen die worden gebruikt door de pod met de naam 'app-ngnix'.

Op deze manier kunnen we een lijst met afbeeldingen krijgen die door specifieke pods worden gebruikt in alle naamruimten in onze Kubernetes-toepassing.

Stap 4: Krijg een lijst met afbeeldingen in een specifieke naamruimte in het cluster

Dit is de vierde stap van ons artikel waarin we leren hoe we de lijst met afbeeldingen kunnen ophalen voor een specifieke naamruimte in ons Kubernetes-cluster. We voeren de volgende opdracht uit in onze Kubectl-opdrachtregeltool:

~$ kubectl krijgt pods --naamruimte een systeem zijn -O jsonpad = '{.items[].spec.containers[].image}'

Met deze opdracht willen we de afbeeldingen ophalen van de naamruimte met de naam 'kube-system', die wordt gebruikt door pods in ons Kubernetes-cluster.

Er wordt een lijst met afbeeldingen weergegeven in de uitvoer die wordt geproduceerd wanneer de opdracht wordt uitgevoerd. Hier is de schermafbeelding:

  Een afbeelding met tekst, screenshot, lettertype, informatie Beschrijving automatisch gegenereerd

Het JSON-padformaat van de uitvoer kan eenvoudig worden verkregen door de opdracht uit te voeren. Elke regel in de uitvoer benadert een containerafbeelding die wordt gebruikt door een pod in de naamruimte 'kube-system'. De indeling van de uitvoer wordt weergegeven door de JSON-padsjabloon die in de opdracht wordt gebruikt. In dit voorbeeld retourneert de sjabloon '.items[].spec.containers [].image' de containerafbeelding die door elke pod in de naamruimte wordt gebruikt.

Stap 5: Download de lijst met afbeeldingen van alle naamruimten van de Go-sjabloon

In deze stap leren we het proces van het ophalen van de lijst met afbeeldingen van alle naamruimten die wordt gebruikt door pods die een 'go-sjabloon' -uitvoerformaat gebruiken in het Kubernetes-cluster. Hiervoor gebruiken we het volgende commando:

~$ kubectl krijgt pods --all-naamruimten -O go-sjabloon --sjabloon = '{{range .ite ms}}{{range .spec.containers}}{{.image}} {{end}}{{end}}'

Voordat we naar de uitvoer gaan, bespreken we eerst de parameters van het commando, zodat je een idee hebt hoe we de verschillende parameters in ons commando kunnen gebruiken. We kunnen beginnen met nieuwe parameters die nog niet eerder zijn besproken:

-o go-sjabloon: Hieruit blijkt dat het uitvoerformaat volgens de 'go-template'-notatie moet zijn.

– -template=”{{bereik. artikelen}} {{bereik. spec.containers}}{{.image}} {{end}}{{end}}”: Dit biedt de sjabloon die voor de uitvoer moet worden gebruikt. Deze sjabloon doorloopt de lijst met pods die de containerafbeelding voor elk ophalen. Het resultaat is een door spaties gescheiden lijst met containerinstallatiekopieën die wordt gebruikt door alle pods in alle naamruimten in het cluster.

Na de uitvoering van de vorige opdracht krijgt u de volgende uitvoer:

  Een schermafbeelding van een computerprogramma Beschrijving automatisch gegenereerd met weinig vertrouwen

Dit zijn alle stappen waarmee we de lijst met afbeeldingen kunnen ophalen die wordt gebruikt door pods in onze Kubernetes-container.

Conclusie

We concluderen dat we de lijst met opgeslagen afbeeldingen in de container in onze Kubernetes-applicatie eenvoudig kunnen ophalen met behulp van de kubectl-opdrachtregeltool. In Kubernetes kunnen we de lijst met afbeeldingen op verschillende manieren ophalen. Elke methode wordt duidelijk uitgelegd in de gegeven stappen. De optie '–all namespace' haalt de afbeeldingen op van alle naamruimten die door de pod worden gebruikt, die in de container zijn opgeslagen en gemakkelijk kunnen worden opgehaald door de opdrachten uit te voeren. U kunt alle stappen voor uw toepassing volgen om de lijst met afbeeldingen op te halen door de opdrachten uit te voeren in het kubectl-opdrachtregelprogramma.