‫Tot nu toe hebben we besproken dat de YAML,
‫er zou kunnen zijn... er zijn vier root-objecten en
‫we hebben er kort over drie gesproken.
‫Dit gaat allemaal over de specificaties.
‫De details van wat je wilt dat het doet, goed.
‫We hadden eerst de API, dus we weten met welke versie
‫van de API we praten. We weten met welke bron we
‫willen praten en we gaan ermee rommelen.
‫Dan weten we de naam in de metadata.
‫Dat hebben we. Daarna is de
‫specificatie een hele wereld om te verkennen.
‫De eerste opdracht die ik je wil leren, is
‫eenvoudig hoe je alle verschillende sleutels kunt opsommen die
‫je voor een bepaald brontype kunt gebruiken.
‫De eerste opdracht die ik nodig heb, is om de
‫kubectl uit te leggen en vervolgens het resourcetype.
‫Dat is het soort in de YAML.
‫Dan --recursief.
‫Dit toont u alle verschillende sleutels die
‫het ondersteunt in het YAML-bestand.
‫Alleen voor services kun je zien dat het
‫met veel terugkomt. Het is een beetje overweldigend.
‫Er zit zoveel in.
‫Het vertelt ons natuurlijk niet wat die dingen doen.
‫Maar dit is in ieder geval een
‫korte lijst van allemaal. Waar dit voor mij goed
‫voor is, is wanneer ik mijn YAML-gebouw aan het doen ben, als ik de naam van
‫dat ding niet precies kan herinneren, het tijdstempel van de creatie.
‫Is het het maken van een tijdstempel?
‫Is het meervoud? Is het enkelvoud?
‫U kunt dit gewoon gebruiken om snel op te zoeken.
‫Maar dit gaat je niet vertellen wat deze dingen doen,
‫of welke nodig zijn of iets dergelijks.
‫We kunnen inzoomen met een iets andere opdracht en
‫meer details krijgen.
‫Laten we de kubectl-explicie-services opnieuw doen,
‫maar deze keer gaan we een puntnotatie gebruiken om in de
‫YAML in te zoomen.
‫Ik ga zeggen dat het mij alleen om de specificatie gaat.
‫ik ben met je een . specificaties
‫Deze keer krijg ik alleen de subsleutels van de specificatie
‫terug en vervolgens een kleine beschrijving ervan.
‫Dan, wat voor soort waarde ze ondersteunen, toch.
‫Of het een Boolean is? Is het een kaart van objecten?
‫Dat soort dingen, toch. Het is gewoon een leuke kleine referentie.
‫Dit zal je helpen om over te
‫stappen naar documentatie. Je kunt dat een beetje vermijden
‫door hier te kijken. Dit kan nog steeds veel zijn,
‫zeker als je maar naar één attribuut wilt zoeken.
‫Je kunt die puntnotatie blijven doorboren.
‫Als we spec. type, dat is
‫een bepaalde sleutel in services YAML die
‫ons het type load balancer vertelt.
‫Als je je dit herinnert van eerder in deze
‫cursus over services te hebben gesproken, kan dit standaard het cluster-IP zijn.
‫Als u het gewoon weglaat, doet het alleen het cluster-IP,
‫of een knooppuntpoort of load balancer.
‫Dat is waar je dat zou specificeren.
‫U weet dat het onder de specificatie moet gaan
‫en vervolgens de sleutel van het type in uw YAML-bestand.
‫In dit geval kunnen we gewoon beginnen met het schrijven van onze YAML, toch.
‫We weten dat het soort service zal zijn.
‫De API-versie, staat hier, is v1 voor
‫dit type. Je zou dat ook kunnen verifiëren
‫met het api-versions commando zoals we eerder deden.
‫Dan kunt u uw waarde invullen.
‫Dit geeft de werkwaarde weer, dus je weet dat
‫cluster-IP is met een hoofdletter C en een hoofdletter IP, dat
‫soort dingen, toch. Zorgt ervoor dat u
‫niet gaat en mogelijk overal op internet zoekt.
‫Je weet nooit of iemand achterhaald of correct
‫zal zijn.
‫Dit is hoe ik het graag doe.
‫Gewoon om te laten zien hoe ver deze puntnotatie kan gaan.
‫Als we naar een implementatiespecificatie keken, omdat
‫deze subspecificaties heeft, iets waar we het
‫nog niet over hadden. U kunt een resource hebben als een
‫subobject van een andere resource.
‫In dit geval volumes, rechts, voor het opslaan van de gegevens.
‫We kunnen zoveel volumes hebben als we willen binnen
‫een implementatie, die het vervolgens zou
‫verbinden met de containers. Dat zijn zeker hun
‫eigen soorten bronnen, juist, van het volume.
‫In dit geval gaan we de specificatie twee keer zien.
‫Als ik op enter zou drukken op
‫dit commando voor implementatie. spec, een van de dingen daarin
‫zou een sjabloon zijn.
‫Dan zou ik gewoon een sjabloon kunnen typen.
‫Dan zou het een lijst maken van alle verschillende sleutels die
‫ik daar zou kunnen plaatsen, en een daarvan is de specificatie
‫van de sjabloon.
‫Technisch gezien zitten we in de specificatie van een specificatie.
‫Dan onder die specificatie voor de sjabloon van een
‫pod, omdat een implementatie zijn eigen
‫specificatie heeft, en dan is de sjabloon voor de pods
‫onder die specificatie. Dan heeft het een
‫specificatie voor de containers, en misschien heb ik hier volumes.
‫Dus volumes en dan nfs, want dat is een type
‫volume dat ik kan gebruiken.
‫Dan de server die ik binnen in NFS ga gebruiken.
‫Daar gaan we. Ik kon de beschrijving en de
‫informatie over versies krijgen. Trouwens, dit is
‫nog een eigenaardigheid met Kubernetes, de documentatie
‫op de opdrachtregels is een beetje verouderd als het
‫gaat om versies, daarom gebruik ik altijd de opdracht
‫API-versies, samen met de API-bronnen. Omdat dit de oude manier is om
‫het eerder te doen. Ze hebben nu
‫de nieuwe apps/v1 voor implementaties. Ik weet dat toevallig omdat ik
‫aan het onderzoeken was waarom dit zo was en het blijkt dat
‫ze het op deze manier in de documentatie houden totdat het
‫volledig is afgekeurd.
‫Hoe dan ook, je kunt zien hoe
‫ik uiteindelijk mijn weg naar beneden zou werken met een puntnotatie.
‫Ik zou gewoon worden ingezet. Dan zou ik daar naar kijken.
‫En dan zou ik. spec, enzovoort, enzovoort.
‫Zo vind ik uiteindelijk de juiste sleutels en
‫waarden om in mijn YAML te plaatsen.
‫Je kunt altijd de voorbeelden van anderen gaan gebruiken.
‫Waar je waarschijnlijk mee eindigt, is dat je
‫begint met enkele voorbeelden van mij of
‫de documentatie.
‫Dan wil je een beetje zien of
‫je van een puur vanille-bestand kunt gaan met
‫mijn methode hier. Dan eindig je met je
‫eigen kleine hulpbron, toch. Uw eigen kleine
‫kopie van al deze bron-YAML's. Dat uw persoonlijke opslagplaats
‫van kennis. Dat is wat u in uw bedrijf gebruikt.
‫Mogelijk hebt u zelfs normen voor de manier waarop u
‫implementaties maakt en normen voor de manier waarop u services maakt.
‫Misschien hebben ze speciale labels of annotaties, waar we het nog
‫niet over hebben gehad.
‫Ze hebben misschien een speciale sjabloonfunctie.
‫In ieder geval. Er is veel dat je daar
‫zou kunnen doen, maar de meeste teams eindigen met hun eigen standaardinstellingen
‫in een soort repo waar ze uit halen in plaats van helemaal opnieuw te typen.
‫Rechts. Dat doen we niet
‫met compose en dat zullen we zeker niet willen
‫doen met de YAML hier in Kubernetes. De laatste kleine tip die
‫ik je hier zal geven, is dat als je
‫meer aan de kant van de ontwikkelaar zit, je altijd de API-documentatie
‫zult waarderen, waar je al deze gegevens uit kunt halen.
‫Het is alleen niet per se op een manier die
‫een meer op de operatie gerichte persoon zou begrijpen.
‫Ik heb beide achtergronden, maar ik kan zeker zien
‫hoe de API-documentatie een beetje intimiderend kan zijn
‫voor iemand die niet gewend is
‫om branie en al deze andere soorten documentatie voor API's te lezen.
‫Hier kies ik bijvoorbeeld de
‫Kubernetes-referentie voor de API onder 115, dus
‫dat is versiebeheer.
‫Ik kon hier, aan de linkerkant, een menu
‫zien met alle werkbelasting-API's.
‫Dit zullen de meeste dingen
‫zijn waarmee u te maken krijgt. Dan is er de service-API.
‫Deze dingen komen bovenop uw workloads, zoals de
‫services, of het ingangs-, eindpunt, dat
‫soort dingen. Dan heb je hier configuraties en opslag.
‫Gaandeweg kom je bij meer verouderde
‫of verouderde API-versies.
‫Je zou kunnen onderzoeken of... je zult hier veel
‫van deze alfa's en bèta's zien.
‫Je kunt een beetje uitzoeken welke er zijn.
‫Als ik heel snel naar deployment ging en
‫hier kwam, zou ik wat kubectl-voorbeelden kunnen krijgen van hoe het eruit
‫zou kunnen zien.
‫Ik zou ook hier naar beneden kunnen scrollen
‫en de specificatie zoeken.
‫De specificatie van iets is waar je al die
‫details krijgt waar we eerder naar keken.
‫Onder de specificatie ziet u al deze verschillende
‫opties voor dat specifieke object.
‫Als ik in de sjabloon van de implementatiespecificatie duik, als
‫je je herinnert van een tijdje geleden
‫toen ik de puntnotatie volgde, gaat dat in de pod-sjabloon.
‫Dan springen we hier naar toe en je
‫zult al deze dingen in dat sjabloon
‫zien springen, enzovoort, enzovoort. Het vereist dat je een
‫beetje graaft om erachter te komen en de objecten en de sleutels
‫te vinden waarnaar je op zoek bent. Ik vind dat het een beetje
‫makkelijker is om vanaf de opdrachtregel te werken, maar de opdrachtregel
‫behandelt ook niet de versies.
‫Als u een andere versie van een
‫client heeft dan uw serverversie, moet u zeker naar
‫de API-documenten kijken, omdat uw client mogelijk een oudere of
‫nieuwere versie heeft dan uw server kan ondersteunen.
‫Er is geen echte manier, op de commandoregel
‫die ik ken, om de verschillende versies van de informatie te krijgen.
‫Het is altijd gewoon de versie van uw klant.