‫Je hebt me eerder in dit deel van de cursus over
‫Kubernetes horen zeggen dat het nogal ondoordacht is.
‫Wat betekent dat het ons een reeks tools en commando's geeft,
‫maar het schrijft niet echt één manier voor om dingen te doen.
‫Ik denk dat hoe meer manieren je iets zou kunnen doen, hoe meer je
‫zou kunnen zeggen dat het geen mening is, omdat je gewoon
‫kunt kiezen welk pad je wilt.
‫We hebben het in de vorige
‫sectie gehad over drie belangrijke manieren om Kubernetes
‫te doen of om uw Kubernetes-workloads te
‫beheren, toch. De derde, de declaratieve,
‫de volledig declaratieve manier, is degene waar deze hele sectie
‫over gaat.
‫Dat betekent dat we ons vooral gaan richten op
‫YAML en hoe dat werkt in Kubernetes.
‫De reden dat ik wil dat dit hele gedeelte over
‫de declaratieve manier gaat, is omdat het meer
‫in DevOps-stijl is.
‫Het is meer bevorderlijk voor de infrastructuur als code, en
‫de nieuwe term op het blok, git-ops, die
‫draait om het opslaan van je YAML en configuraties
‫in git-repositories en het gebruik van git-commits om
‫je infrastructuur te wijzigen. Ik ga hier niet
‫al te veel in op git-ops, maar het gaat eigenlijk gewoon
‫om het toepassen van de automatiseringsstijl van DevOps op je configuraties.
‫Wat is een betere manier om dat in Kubernetes te
‫doen door YAML te gebruiken. Het leuke is dat je hier maar
‫weinig commando's hoeft te leren. Echt, alle aandacht gaat
‫uit naar het leren van de verschillende YAML-formaten.
‫Hier gebruiken we de opdracht kubectl apply met een -f
‫om aan te geven dat dit het bestand is dat ik je wil geven,
‫en dat is het commando.
‫Dat is het commando dat je gebruikt om iets te creëren.
‫Dat is het commando dat je gebruikt om iets bij te werken, of om
‫een configuratie te bewerken, of om de afbeelding te veranderen, of wat je
‫ook maar wilt doen. Dat is hetzelfde commando.
‫Op die manier lijkt het heel erg op stack-implementatie in
‫Swarm, waar je het gewoon constant hetzelfde commando geeft
‫met bijgewerkte YAML.
‫Voor deze sectie gaan we dat middelste type
‫implementatie overslaan, waarbij de kubectl create, en de edit, en
‫de Replace, en die commando's niet echt een
‫goede manier meer zijn om
‫de productie-infrastructuur te beheren.
‫Ze hebben geen goede solide DevOps-structuur
‫en deze cursus gaat helemaal over containers in DevOp-stijl.
‫Daarom willen we ernaar streven.
‫Dus realiseer je, als disclaimer in deze dia, dat je
‫die commando's zeker kunt gebruiken als je wilt, maar dat
‫is niet echt de primaire manier waarop je Kubernetes
‫zou moeten gebruiken.
‫Alleen omdat dit de manier is waarop ik het aanbeveel, wil
‫nog niet zeggen dat er niet veel andere mogelijkheden zijn.
‫Laat me je enkele snelle voorbeelden geven van verschillende manieren waarop je de
‫opdracht Apply kunt gebruiken.
‫Je hebt gezien dat we het gewoon een YAML-bestand kunnen vertellen en
‫het zal iets toepassen dat daar staat.
‫Misschien is het een implementatie. Misschien is het gewoon een peul.
‫Misschien is het een service, of
‫een taak, of een cron-taak, of een andere bron.
‫Die -f werkt op een hele
‫map, dus je zou een heleboel verschillende objecten of bronnen kunnen
‫hebben, een beetje verspreid in verschillende bestanden, misschien één
‫bestand per bron. Je zou ze allemaal in een map kunnen zetten.
‫Je zou het gewoon naar die map kunnen verwijzen en
‫het zou al deze binnenhalen.
‫Natuurlijk kan één YAML-bestand meerdere bronnen bevatten, en ik zal je zo
‫laten zien hoe dat eruit ziet.
‫Een andere interessante optie hier is kubectl apply met
‫een URL.
‫We geven het dat -f, maar het bestand is daar
‫technisch gezien een URL. De manier waarop het dat weet, is
‫via het HTTP-protocol. In mijn geval
‫heb ik een domein gemaakt met een aantal voorbeelden.
‫Er is een peul. yaml-bestand daar en dus technisch gezien zou
‫het werken als je die opdracht zou uitvoeren.
‫Het zou een enkele pod inzetten.
‫Wees voorzichtig met deze bestanden, want je weet dat
‫het één ding is om iets op internet te
‫halen en te downloaden. Het is iets heel anders om op één regel een
‫YAML-bestand in Kubernetes uit te voeren. Dit is een beetje het
‫equivalent van iets in shell krullen en het zo op
‫je systeem laten draaien zonder zelfs maar naar het bestand
‫te kijken, toch. Dat wil
‫je echt niet doen. We willen niet willekeurig dingen uitvoeren en dat
‫is een beetje wat Kubernetes doet, toch.
‫Het draait dingen. Je zou dat misschien willen
‫cURL hebben als je lokaal cURL hebt. Als u een Windows PowerShell gebruikt,
‫kunt u die opdracht gebruiken om deze in uw browser te openen.
‫Laten we in de volgende lezing kijken naar de
‫YAML-opmaak en hoe we deze objecten gaan maken.