Wie Kubernetes CKAD-Zertifizierung zu schlagen

Ich bezweifle, dass IT-Zertifizierungen jemals das „Fachwissen“ einer Person in einem bestimmten Tool nachweisen werden, da ein Erfolg bei einer Prüfung niemals beweist, dass Sie ein Experte sind. Aber zumindest können diese Zertifizierungen als eine gute Herausforderung angesehen werden, und ich habe mir immer das Ziel gesetzt, jedes Jahr einige davon zu klären. Die beiden Babys, die ich anvisiere, sind der Certified Kubernetes Administrator (CKA) und der Certified Kubernetes Application Developer (CKAD). Letzteres habe ich gestern geklärt.

In dieser mittleren Geschichte, die übrigens meine erste auf der Plattform ist, gebe ich mein Feedback mit so vielen Details, wie ich mich an die Prüfung zum Certified Kubernetes Application Developer (CKAD) erinnern kann, damit Sie erfolgreich sind, wenn Sie vorhaben, es zu versuchen bald.

Anmeldung zur Prüfung

Die Prüfung kostet 300 $ und dieser Preis beinhaltet eine Wiederholung, falls Sie bei Ihrem ersten Versuch scheitern. Gehen Sie zu ihrer Website und folgen Sie dem Prozess und schließen Sie die Bestellung ab. Aus irgendeinem Grund kann es einige Minuten dauern, bis die Prüfung in Ihrem Profil angezeigt wird, nachdem Sie die Bestellung abgeschlossen haben.

Sie müssen dann Ihre Prüfung planen, die bis zu 2 Stunden dauern wird.

Prüfungsformat

Die Prüfung besteht aus der Lösung von 19 Problemen in 2 Stunden. Es werden vier Kubernetes-Cluster bereitgestellt, und Sie müssen mit kubectl zwischen den einzelnen Clustern wechseln.

Jede Frage bezieht sich auf einen bestimmten Cluster. Lesen Sie die Frage daher sorgfältig durch und verwenden Sie die Kubectl-Konfiguration use-context jedes Mal, wenn Sie dazu aufgefordert werden. Andernfalls geben Sie Befehle im falschen Cluster ein. Mit dem Befehl ssh können Sie auf allen Knoten SSH ausführen. Mit dem Befehl sudo -i können Sie ein Root-Konto erstellen.

Sie müssen eine Punktzahl von 66% erreichen, um die Prüfung zu bestehen. Dies ist also sehr gut möglich.

Innerhalb von 36 Stunden nach einer Prüfung erhalten Sie Ihre Punktzahl per E-Mail und eine PDF-Zertifizierung wie diese, wenn Sie erfolgreich sind.

Dies sind die Themen, die von der Zertifizierung abgedeckt werden, und ihr entsprechendes Gewicht:

  • Kernkonzepte - 13%)
  • Mehrbehälterhülsen - 10%
  • Pod-Design - 20%
  • Konfiguration - 18%
  • Beobachtbarkeit - 18%
  • Dienstleistungen und Vernetzung - 13%
  • Staatliche Persistenz - 8%

Wie Sie sehen, bezieht sich CKAD auf die Verwendung eines bereits bereitgestellten Kubernetes-Clusters, während sich CKA auf die Bereitstellung eines Kubernetes-Clusters selbst bezieht. Wenn Sie CKAD weitergeben möchten, ist es sinnlos zu lernen, wie man etcd verwendet oder den kube-apiserver installiert oder ähnliche Sachen. Es konzentriert sich im Wesentlichen auf die Verwendung des Kubectl-CLI-Tools.

Prüfungsumgebung

Sie nehmen zu Hause an der Prüfung teil und können nur eine Anwendung öffnen: Google Chrome. Die Prüfungsumgebung besteht aus einer verzögerten und fehlerhaften webbasierten Terminalsitzung. Im Ernst, es ist total beschissen. Erwarten Sie von der Prüfungsumgebung nichts Großartiges. Sie wird Ihnen in keiner Weise weiterhelfen, ist jedoch weiterhin verwendbar.

Sie werden von einem CNCF-Mitarbeiter überwacht, der über einen Chat mit Ihnen interagiert. Du siehst ihn überhaupt nicht. Er sympathisiert nicht mit Ihnen und bleibt professionell, aber er ist höflich und wird Ihnen freundlich antworten. Sie können ihn fragen, wie er die Prüfungsumgebung verwendet, und er wird antworten, aber er gibt Ihnen keine Ratschläge zum Prüfungsinhalt selbst, weshalb er solche Fragen nicht stellt. Ihre Webcam und Ihr Mikrofon sind eingeschaltet, damit er Sie sehen und hören kann. Es wird eine Sitzung mit gemeinsam genutztem Bildschirm ausgeführt, damit er Ihren Desktop sehen kann. Sie müssen ein dediziertes Plug-in in Ihrem Google Chrome-Browser installieren, um dies zu aktivieren.

Eine wichtige Sache ist, dass Sie alles befolgen müssen, was er verlangt (bleiben Sie ruhig, er fordert Sie nicht auf, Ihre Teile zu zeigen). Es gelten jedoch einige Regeln:

  • Sie müssen allein im Raum sein;
  • Der Raum muss ruhig sein;
  • Sie werden aufgefordert, Ihre Umgebung zu zeigen, indem Sie die Kamera langsam um sich drehen.
  • Sie müssen ihm einen gültigen amtlichen Ausweis vorlegen.
  • Es ist Ihnen untersagt, etwas anderes neben Ihrem Computer auf Ihren Schreibtisch zu stellen. Kein Getränk, kein Essen und absolut kein elektronisches Gerät;
  • Sie können nicht sprechen, flüstern Worte. Lies die Fragen nicht laut vor, du musst schweigen.
  • Es ist dir untersagt, deine Hand über deinen Mund zu legen, dein Gesicht sollte die ganze Zeit sichtbar bleiben.

Zum letzten Mal tat ich es aus Gewohnheit, und der Arzt forderte mich auf, sofort meine Hand von meinem Mund zu nehmen. Also ja, sie beobachten dich wirklich.

Wenn Sie wie ich gewarnt werden, versuchen Sie, dasselbe Verhalten nicht zu reproduzieren, und es sollte in Ordnung sein. Denken Sie daran, dass er das Recht hat, die Prüfung zu beenden und Sie jederzeit ohne Vorwarnung zu disqualifizieren. Seien Sie also höflich und kooperativ, wenn er Sie um etwas bittet. Der Chat verschwindet nach einigen Sekunden, aber wenn er Ihnen eine Nachricht sendet, wird ein Popup-Fenster angezeigt. Sie können keine Anweisung verpassen.

Wenn Sie nichts falsch gemacht haben, lässt er Sie die Prüfung abschließen. Die Prüfungsüberprüfungen sind automatisiert, aber beachten Sie, dass das Video beibehalten wird und ein Mensch die Videos auf zusätzliche Überprüfungen überprüfen kann.

Art von Fragen und Tipps

Weißt du Scheiße, ich meine für REAL

Die Prüfung ist nicht so schwierig, aber Sie müssen Kubernetes wirklich kennen, Sie können es nicht vortäuschen. Wenn Sie Kubernetes nicht wirklich kennen, versuchen Sie es nicht einmal. Es ist keine Art von Prüfung, bei der man Dinge vortäuschen kann, indem man auswendig lernt. Man muss die Befehle eingeben, mit echten Kubernetes-Clustern interagieren, debuggen, verstehen, was passiert usw. Übung ist hier alles.

Nochmals: Dies ist keine komplizierte Prüfung. Wissen, wie man Kubernetes benutzt, und Sie werden ohne Probleme Erfolg haben.

Wissen, wo Sie Informationen finden

Ich meine nicht mit Google, nicht nur, weil es während der Prüfung verboten ist, sondern einfach, weil ein einfaches kubectl -h Ihnen viel mehr hilft, als nur im Internet oder in kubernetes.io/docs zu surfen.

Das Priorisieren von Fragen IST der Schlüssel

Leute über das Internet sagen, dass diese Prüfung eine Frage der Geschwindigkeit ist. Es ist nicht falsch, aber ich denke nicht, dass Zeitmanagement der Schlüssel zum Erfolg ist.

Wenn Sie mit AWS-Zertifizierungen vergleichen, bei denen Sie 55 Fragen in 2 Stunden beantworten müssen, werden Sie den Unterschied feststellen. Hier müssen Sie nur 19 Fragen in zwei Stunden beantworten. Einige von ihnen sind sehr kurz und können in etwa einer Minute beantwortet werden. Ich selbst beantwortete nach der ersten Stunde 15/19 Fragen und hatte noch eine Stunde Zeit für die letzten 4 Fragen…

Auch wenn Sie Ihre Themen ernsthaft kennen, bezweifle ich, dass Ihnen die Zeit ausgehen wird.

Für mich ist es richtiger zu sagen, dass der Schlüssel zum Erfolg bei dieser Prüfung darin besteht, Ihre Fragen mit Bedacht zu behandeln. Jede Frage hat ihr eigenes Gewicht in der Endnote. Wenn Sie eine Frage mit einem Gewicht von 10 +% sehen, ist dies Ihre absolute Priorität.

Sie müssen Prioritäten setzen. Beantworten Sie zuerst große Fragen und überspringen Sie einfach kleine Fragen (die mit 2% –3% des Gewichts) und kehren Sie danach zu ihnen zurück.

Die erste Stunde ist die wichtigste

Nach einer Stunde kubectl-Befehlseingabe sind Ihr Gehirn und Ihre Konzentration im Grunde tot. Versuche also am Anfang schnell zu sein, solange du noch frisch bist. Sie können eine Pause anfordern, der Timer wird jedoch nicht angehalten. Seien Sie schnell und vertrauen Sie auf Ihre ersten Fragen, um die verbleibenden Fragen zu beantworten.

Verwenden Sie die Notizblockfunktion jedes Mal, wenn Sie eine Frage überspringen

Verwenden Sie jedes Mal, wenn Sie eine Frage überspringen, die Notizblockfunktion, um eine Markierung zu erhalten, welche Frage Sie übersprungen haben, wie schwer sie ist und um welches Thema es sich handelt. (zB Frage 14 = Zustandspersistenz = 7%).

Sie können sich die Fragen nicht merken. Spielen Sie das Spiel also nicht. Verwenden Sie den Notizblock.

Die Fragen werden in einem Dropdown-Menü aufgelistet. Sie können jederzeit auf jede Frage zugreifen. Sobald eine Frage beantwortet ist, ist es aufgrund der Natur von Kubernetes schwierig, darauf zurückzukommen. Das Löschen und Wiederherstellen von Pods ist sehr zeitaufwändig. Versuchen Sie also, das Problem direkt zu beheben.

Kubectl erklären

Verwenden und missbrauchen Sie diesen Befehl: kubectl explain - -recursive. Es ist eine Art integrierte Dokumentation für die Manifestdateien von YAML k8. Wenn Sie sich nur schwer merken können, wo sich ein bestimmter Schlüssel in einem YAML-Manifest befinden soll, verwenden Sie kubectl explain, ohne die Dokumentation zu lesen!

Kubectl run - -restart flag

50% Ihres Erfolgs basiert auf DIESER Flagge. Es kann Ihnen viel Zeit sparen, aber denken Sie daran, dass es möglicherweise von der Kubectl-Befehlszeile entfernt wird, da es veraltet ist.

Sie werden die ganze Zeit den Befehl kubectl run verwenden. Grundsätzlich werden unterschiedliche Workloads / Objekte basierend auf der Übergabe an dieses Flag erstellt.

kubectl run # without flag erstellt ein Deployment

kubectl run - restart = Niemals einen Pod erstellen

kubectl run - restart = OnFailure # Erstellt einen Job

kubectl run - restart = OnFailure - schedule = ”* * * * *” # Erstellt einen Cronjob

Sie können die Service-Bereitstellung auch verketten, indem Sie das Flag - expose verwenden. Einige der Optionen können nicht einfach auf zwingende Weise angegeben werden. Sie müssen also ein YAML-Manifest generieren und es dann bearbeiten, aber ...

Versuchen Sie NIEMALS, YAML-Manifeste selbst zu schreiben

Erstens: Es ist scheiße.

Zweitens: Es ist ärgerlich.

Drittens: Es ist zeitaufwändig.

Viertens: Niemand auf diesem Planeten mag es, YAML-Dateien zu tippen und es zu genießen.

Fünftens: Es ist die Aufgabe eines DevOps-Ingenieurs, Dinge zu automatisieren, die nerven, zeitaufwändig sind und die sonst niemand auf dem Planeten tun möchte. (Beweis, dass wir am Ende seltsam sind, weil wir aus irgendeinem Grund unseren Job immer noch lieben und leidenschaftlich daran sind ...)

So ! Verwenden Sie —-dry-run -o -yaml Kombinieren Sie es mit dem Hinweis - restart flag, und Sie haben die Möglichkeit, eine typische Manifest-Datei zu generieren, ohne etwas zu kopieren oder einzufügen.

kubectl run hallo - image = busybox - restart = OnFailure - schedule = ”* * * * *” - dry-run -o yaml> cj.yaml

Und Sie haben eine schöne Cronjob YAML-Manifestdatei, die angewendet oder bearbeitet werden kann! Auf diese Weise müssen Sie dieses Kesselschild nicht immer wieder schreiben.

Dieses Flag scheint jedoch nicht mit PersistentVolume zu funktionieren. Korrigieren Sie mich, wenn ich mich irre.

Vergiss NIEMALS das -n Flag zu setzen

Alles, was Sie tun, muss in einem definierten Cluster yes erfolgen, kann aber auch in einem bestimmten Namespace erfolgen. Vergessen Sie also nicht, Ihren Befehlen ein -n-Flag hinzuzufügen. Diese Art von fehlendem Detail kann Ihre Punktzahl für nichts töten.

Ressourcen, die ich verwendet habe

Ich arbeite in einem Unternehmen mit Openshift, daher habe ich viele coole Kollegen in der k8s-Stimmung. Diese Art von Umgebung kann Ihnen helfen.

  • Kubernetes in Action von Mario Luksa. Das Buch ist die heilige Bibel von Kubernetes und beantwortet im Grunde alle Fragen, die Sie haben könnten.
  • Unabhängig davon, ob Sie Kubernetes bei der Arbeit verwenden oder nicht, sollten Sie dennoch irgendwo Ihren eigenen Cluster bereitstellen und damit spielen. Versuchen Sie, eine bekannte Anwendung in eine Kubernetes-Anwendung umzuwandeln. Es ist sinnlos, den Kubernetes von Kelsey Hightower auf die harte Tour für dieses Zertifikat zu folgen. Verwenden Sie stattdessen GKE oder EKS.
  • Ich habe einen winzigen Kubernetes-Cluster auf Amazon EKS terraformiert und habe damit gespielt. Ich empfehle, dasselbe zu tun, aber die Ressourcen zu löschen, wenn sie nicht verwendet werden.
  • Fav dieses GitHub-Repository und mache alle Übungen auf deinem Cluster. Wenn Sie diese Übungen absolvieren können, sind Sie bereit für die Prüfung.
  • Crontab.guru, weil ich das Cron-Format immer und immer vergessen habe und es Teil des Lehrplans ist. Eine kleine Erfrischung vor der Prüfung wird nicht schaden.
  • Kurs der Linux Academy; ein Standard wie immer;

Letzte Worte

Hoffe, dieser Artikel hilft Ihnen bei der Erlangung dieser Zertifizierung! Wenn Sie versagen: kein Problem. Lerne weiter und es wird beim nächsten Mal funktionieren. Lassen Sie sich nicht entmutigen, wenn Sie falsch antworten. Bleib cool und wenn du versagst, hast du immer den zweiten Versuch. Sie können einfach Ihren ersten als letzten Übungstest vor der wahren Sache betrachten. :)

Das Format ist auch viel lustiger als AWS-Zertifizierungen. Abgesehen von der Chrome-basierten Terminal-Umgebung, die wieder völlig zum Kotzen ist und eine Kreatur sein muss, die der Hölle entkommen ist, hat mir diese Prüfung sehr gut gefallen.

CNCF muss sich viel Mühe geben, um die Backend-Ressourcen bereitzustellen und ein automatisiertes Skript zu schreiben, das basierend auf dem Status Ihrer Cluster feststellt, ob Sie erfolgreich sind oder nicht ... * Beifall *.

Was kommt als nächstes ?

Ich werde jetzt versuchen, einen Certified Kubernetes Administrator zu erhalten. Ich werde einen Beitrag wie diesen schreiben, wenn ich ihn gelöscht habe.

Ich bin auf LinkedIn, wenn Sie Ihre Liebe teilen möchten. ❤

https://www.linkedin.com/in/nassim-kebbani/

Tschüss !