Implementatie maken met behulp van 'kubectl create deployment'

Implementatie Maken Met Behulp Van Kubectl Create Deployment



Kubernetes is een gratis, open-sourcedistributie en ook wel bekend als k8s. Het wordt gebruikt voor het automatiseren van de implementatie, het beheer en het schalen van gecontaineriseerde software en applicaties. Het biedt verschillende componenten voor containerbeheer, zoals knooppunten, besturingsvlak, pods en Kubernetes-implementatie. Met behulp van Kubernetes kunnen ontwikkelaars eenvoudig de operationele taak automatiseren, de wijzigingen ongedaan maken en de gecontaineriseerde applicaties en software monitoren en schalen.

In deze blog leggen wij het uit:







Wat is Kubernetes-implementatie?

De Kubernetes-implementatie wordt een bronobject genoemd dat declaratieve instructies en updates biedt voor de belangrijkste elementen ervan, zoals Pods, ReplicaSet en container-applicaties. Met de Kubernetes-implementatie kan de ontwikkelaar de containertoepassing beschrijven, zoals image, aantal pods, poort, replica's, enzovoort. De enige belangrijke reden waarom Kubernetes beter is dan Docker is dat het ons eigenschappen voor automatisch herstel en automatisch schalen biedt, en deze toestanden zijn haalbaar dankzij de implementatie van Kubernetes.



Het 'auto-healing'-mechanisme is een testautomatiseringstechniek die het actieve object test en, in het geval van een fout, de beste match voor correctie implementeert en de oplossing toepast om de werkelijke staat met de gewenste staat te matchen. Bij 'automatisch schalen' schaalt de service de werklast van de applicatie automatisch.



Waarom het creëren van een implementatie beter is dan het maken van pods?

Dankzij de Kubernetes-implementatie kan de ontwikkelaar eenvoudig een groep van dezelfde pods draaiende houden met een gemeenschappelijke configuratie. Bij het maken van een pod moeten gebruikers daarentegen de pod afzonderlijk maken en uitvoeren. Als tijdens de implementatie een pod wordt verwijderd of beëindigd, wordt deze automatisch opnieuw gemaakt en gestart vanwege een automatisch herstelmechanisme. Maar als pods direct worden uitgevoerd zonder implementatie, moeten gebruikers in geval van een fout de pod opnieuw maken en handmatig uitvoeren.





Wat is een ReplicaSet in implementatie?

Toen de ontwikkelaar de implementatie maakte, werden er drie belangrijke componenten gegenereerd, en ReplicaSet is daar één van. De ReplicaSet is een implementatiecontroller en is verantwoordelijk voor het uitvoeren van het opgegeven aantal pods binnen een implementatie. Als één pod wordt verwijderd, geeft de ReplicaSet snel instructies om de nieuwe pod opnieuw te genereren, zodat de werkelijke status van de pods overeenkomt met de gewenste status. Het is grotendeels verantwoordelijk voor het verstrekken van declaratieve updates voor pods.

Wat is de opdracht “kubectl create deployment”?

De ' kubectl maakt implementatie ” is een opdracht van de Kubectl-tool die wordt gebruikt om de Kubernetes-implementatie te maken en te starten. Vervolgens geeft de implementatie Kubernetes instructies voor het maken en bijwerken van exemplaren van uw toepassing.



Syntaxis

kubectl maakt implementatie < implementatienaam > --afbeelding = < afbeeldingsnaam > -- < keuze =waarde >


Keuze

De opdracht “kubectl create deployment” ondersteunt verschillende opties om een ​​extra laag functionaliteit te bieden en om extra instructies te geven om instances van een applicatie te implementeren. De opties die worden ondersteund door de “ kubectl maakt implementatie 'commando wordt hieronder in tabelvorm gegeven:

Keuze Beschrijving
“– –ontbrekende-sjabloonsleutels toestaan Als de waarde ervan is ingesteld op true, worden eventuele fouten in sjablonen genegeerd wanneer een kaartsleutel of veld in de sjabloon ontbreekt.
'- -oefening De waarde ervan kan 'geen', 'server' of 'client' zijn. Als de waarde client is, wordt alleen het object weergegeven of afgedrukt dat zou worden verzonden zonder het te verzenden.

Als de waarde server is, worden alleen verzoeken aan de serverzijde ingediend.

“– –veldmanager Toont of stelt de naam van de manager in die wordt gebruikt om veldeigendom bij te houden.
'- -afbeelding Geef de afbeeldingsnaam op om de containersjabloon op te geven.
-o, “– –uitvoer Geef het uitvoerformaat op.
“– –poort Het stelt de poort in om de container bloot te leggen.
-r, “– –replica's Het wordt gebruikt om een ​​aantal podreplica's te definiëren.
“– –opslaan-config Het wordt gebruikt om de configuratie van een object in zijn annotatie op te slaan. Als de waarde false is, blijft de annotatie ongewijzigd.
“– –show-managed-fields Standaard is de waarde false. Maar als het is ingesteld op true, blijven de managedFields behouden of worden deze opgeslagen bij het afdrukken van objecten in JSON- of YAML-indeling.
“– –validate=’strikt’ De waarde ervan kan 'strikt', 'waarschuwen' of 'negeren' zijn. Als het “strikt” is, zal het de invoer valideren en het verzoek mislukken als het ongeldig is.

Als de waarde “warn” is, waarschuwt het voor dubbele en onbekende velden.

Als de waarde 'negeren' is, wordt er geen schemavalidatie uitgevoerd.

Vereiste: Installeer kubectl en minikube

Om de Kubernetes-implementatie in het Kubernetes-cluster te starten, installeert u eerst de onderstaande tools op het systeem:

    • Kubectl-tool: Kubectl is een Kubernetes-opdrachtregeltool die wordt gebruikt voor het besturen, beheren en bedienen van een Kubernetes-cluster en zijn componenten, zoals Kubernetes-implementatie.
    • Minikube-tool: Minikube is een implementatiesysteem voor Kubernetes dat een virtuele machine op het systeem levert of creëert om het Kubernetes-cluster te starten. Het kan clusters met één knooppunt uitvoeren en wordt meestal gebruikt door beginners of voor testdoeleinden.

Om aan de slag te gaan met Kubernetes en essentiële componenten te installeren zoals “ kubectl ' En ' minikube ”, ga via onze gekoppelde “ ' artikel.

Hoe kan ik een Kubernetes-implementatie maken met de opdracht “kubectl create”?

De Kubernetes-implementatie kan worden gemaakt door het Yaml-manifest toe te passen of door de “ kubectl maakt implementatie commando. Als u de Kubernetes-implementatie wilt maken met de opdracht 'kubectl create deployment', volgt u de onderstaande demonstratie.

Stap 1: Voer PowerShell uit

Start eerst Windows PowerShell met beheerdersrechten vanuit het Start-menu. De beheerdersrechten zijn vereist omdat minikube het Kubernetes-cluster op de virtuele machine start met behulp van HyperV:


Stap 2: Start Kubernetes Cluster

Om het Kubernetes-cluster te starten, gebruikt u de “ minikube starten ” commando:

minikube starten



Stap 3: Verkrijg Kubernetes-knooppunten

Ga vervolgens naar de Kubernetes-nodes om te controleren of het cluster is gestart of niet met behulp van de “ kubectl haalt knooppunten op ” commando:

kubectl haalt knooppunten op



Stap 4: Maak een Kubernetes-implementatie

Maak een nieuwe Kubernetes-implementatie in het cluster via de opdracht “k ubectl create implementatie “– –image= commando. Ter demonstratie hebben we “nginx-deployment” gemaakt die de Nginx-applicatie in een pod zal uitvoeren met behulp van de “nginx:stable-perl” -afbeelding:

kubectl maakt implementatie nginx-deployment --afbeelding =nginx:stable-perl



Stap 5: Verkrijg Kubernetes-implementatie, ReplicaSet en Pod

Met de opdracht 'kubectl create deployment' worden drie componenten Deployment, ReplicaSet en Pod gemaakt. Om toegang te krijgen tot de Kubernetes-implementaties, voert u de “ kubectl wordt geïmplementeerd ” commando:

kubectl wordt geïmplementeerd


Hier kun je zien ' nginx-implementatie ” is beschikbaar in het Kubernetes-cluster:


De ReplicaSet is de implementatiecontroller die ervoor zorgt dat de toepassing in pods foutloos wordt uitgevoerd en de breekpunten repareert. Om toegang te krijgen tot de ReplicaSet, gebruikt u de “ kubectl krijgt rs ” commando:

kubectl krijgt rs


Hier toont de ReplicaSet het gewenste aantal pods en huidige actieve pods:


De pod is een kleinere eenheid van het Kubernetes-cluster waarop de containertoepassing wordt uitgevoerd. Om toegang te krijgen tot de Kubernetes-pods, gebruikt u de “ kubectl krijgt peulen commando. Hier de ' -O De optie wordt gebruikt om het uitvoerformaat op te geven. Om het IP-adres van de Pod te bekijken, hebben we de “ breed ” formaat:

kubectl krijgt peulen -O breed



Stap 6: Meld u aan bij Kubernetes Cluster

Om toegang te krijgen tot de applicatie die in een container draait, opent u eerst het Kubernetes-cluster met behulp van de “ minikube ssh ” commando:

minikube ssh



Stap 7: Toegang krijgen tot de applicatie die wordt uitgevoerd in de Kubernetes-implementatie

Gebruik daarna de “ Krul '-opdracht samen met het Pod IP-adres om toegang te krijgen tot de containertoepassing:

krul 10.244.0.7


Hoe replica's in Kubernetes-implementatie uit te voeren met behulp van de opdracht 'kubectl create deployment'?

Het maken van Kubernetes-implementatie is beter dan het uitvoeren van Pod, omdat hiermee een groep pods tegelijk kan worden uitgevoerd en beheerd door Pod-replica's te maken. Volg de onderstaande instructies om replica's uit te voeren in de Kubernetes-implementatie met de opdracht 'kubectl create deployment'.

Stap 1: Maak een Kubernetes-implementatie

Maak eerst een implementatie met behulp van de “ kubectl maakt implementatie ' commando samen met de ' “– –replica's ' keuze. De waarde van de optie “replicas” specificeert het gewenste aantal peulen dat moet worden beheerd en uitgevoerd door ReplicaSet:

kubectl maakt implementatie nginx-deployment --afbeelding =nginx:stable-perl --replica's = 2



Stap 2: Download Kubernetes-implementatie, ReplicaSet en pods

Ga nu naar de Kubernetes-implementatie met behulp van de opdracht “kubectl get deploy”:

kubectl wordt geïmplementeerd


Hier kunt u zien dat de implementatie het gereedstaande, up-to-date en beschikbare aantal pods toont:


Gebruik de onderstaande opdracht om toegang te krijgen tot ReplicaSet-informatie. U kunt zien dat ReplicaSet de status van het gewenste aantal pods toont en momenteel pods uitvoert:

kubectl krijgt rs



Op dezelfde manier gebruikt u de onderstaande opdracht om toegang te krijgen tot de actieve pods:

kubectl krijgt peulen


De uitvoer geeft aan dat de Kubernetes-implementatie het gewenste aantal Pods-replica's in het Kubernetes-cluster met succes uitvoert:

Hoe werkt ReplicaSet om de implementatie van Kubernetes te controleren?

De ReplicaSet is verantwoordelijk voor het uitvoeren van het gewenste aantal Pods binnen een implementatie. Als een pod wordt afgebroken of verwijderd, wordt de pod automatisch opnieuw gemaakt, zodat de huidige status van de pods overeenkomt met de gewenste status. Dit mechanisme implementeert feitelijk de autogenezingstechniek. Volg voor een demonstratie de onderstaande instructies.

Stap 1: Bekijk live Kubernetes-pods

Bekijk eerst de Pods-status live met behulp van de “ kubectl krijgt peulen -w commando. Noteer ook de naam van de pod die wordt verbroken of verwijderd:

kubectl krijgt peulen -In



Stap 2: Verwijder een pod

Open vervolgens een andere PowerShell-terminal en probeer de tweede pod te verwijderen met behulp van de “ kubectl verwijdert peulen ” commando:

kubectl verwijdert peulen nginx-deployment-7584b4674d-hbx4f


Uit de uitvoer blijkt dat we de pod met succes hebben verwijderd:


Open nu het PowerShell-venster waarin de status van de pod live is. Hier kunt u zien dat toen we de pod verwijderden, de ReplicaSet automatisch de nieuwe pod maakte en uitvoerde om de huidige podstatus aan de gewenste status te koppelen:


We hebben de methode besproken voor het maken van Kubernetes-implementatie met behulp van de opdracht 'kubectl create deployment'.

Conclusie

Om de Kubernetes-implementatie te maken met behulp van de “ kubectl maakt implementatie ', installeer eerst de essentiële tools zoals minikube en kubectl. Voer daarna het nieuwe Kubernetes-cluster uit met minikube. Maak nu een nieuwe implementatie met behulp van de “ kubectl create implementatie “– –image= commando. Bekijk daarna de Kubernetes-implementatie, ReplicaSet en Pods met behulp van de “ kubectl krijgt alles commando. Dit artikel heeft geïllustreerd hoe u de Kubernetes-implementatie kunt maken met behulp van de “ kubectl maakt implementatie commando.