Vor kurzem habe ich erfolgreich die Prüfung Certified Kubernetes Application Developer (CKAD) abgelegt und das Zertifikat erhalten. Heute möchte ich über den Zertifizierungsprozess und meine Vorbereitungen berichten. Es war für mich eine interessante Erfahrung, die Prüfung online unter sorgfältiger Beobachtung des Prüfers abzulegen. Hier wird es keine wertvollen technischen Informationen geben, der Artikel hat rein erzählerischen Charakter. Außerdem hatte ich nicht viel Erfahrung mit Kubernetes und keine gemeinsame Vorbereitung mit Kollegen, ich habe selbstständig in meiner Freizeit gelernt und geübt.
Ich bin noch ziemlich neu im Bereich der Webentwicklung, aber ich habe sofort erkannt, dass man ohne zumindest grundlegende Kenntnisse in Docker und K8s nicht weit kommt. Der Besuch eines Kurses und die Vorbereitung auf eine solche Prüfung erschienen mir als ein guter Einstieg in die Welt der Container und ihrer Orchestrierung.
Wenn Sie immer noch denken, dass Kubernetes zu kompliziert ist und nichts für Sie sein könnte, lesen Sie weiter.
Was ist das?
Es gibt zwei Arten der Kubernetes-Zertifizierung von der Cloud Native Computing Foundation (CNCF):
- Certified Kubernetes Application Developer (CKAD) — Überprüfung der Fähigkeiten zur Planung, Erstellung, Konfiguration und Bereitstellung von Cloud-nativen Anwendungen für Kubernetes. Die Prüfung dauert 2 Stunden, umfasst 19 Aufgaben und der Bestehensgrad liegt bei 66 %. Grundlegende Kenntnisse der zentralen Elemente sind erforderlich. Kosten: 300 $.
- Certified Kubernetes Administrator (CKA) — Überprüfung der Fähigkeiten, Kenntnisse und Kompetenzen, die für die Aufgaben eines Kubernetes-Administrators erforderlich sind. Die Prüfung dauert 3 Stunden, umfasst 24 Aufgaben und der Bestehensgrad liegt bei 74 %. Tiefere Kenntnisse in der Systemarchitektur und -konfiguration sind erforderlich. Kosten: ebenfalls 300 $.
Die Zertifizierungsprogramme CKAD und CKA wurden von der Cloud Native Computing Foundation entwickelt, um das Kubernetes-Ökosystem durch standardisierte Schulungen und Zertifizierungen zu erweitern. Diese Stiftung wurde von Google in Partnerschaft mit der Linux Foundation gegründet, die Kubernetes ursprünglich als technologische Grundlage bereitgestellt hat und von Unternehmen wie Microsoft, Apple, Facebook, Cisco, Intel, Red Hat und vielen anderen unterstützt wird (c) Wiki.
Kurz gesagt, dies sind Prüfungen von der "führenden Organisation" für Kubernetes. Natürlich gibt es auch Zertifizierungen von anderen Firmen.
Warum?
Wahrscheinlich ist dies der umstrittenste Punkt in diesem ganzen Vorhaben. Ich möchte keinen Streit darüber entfachen, ob Zertifikate notwendig sind; ich hoffe einfach, dass das Vorhandensein eines solchen Zertifikats meinen Marktwert positiv beeinflusst. Alles ist subjektiv – man weiß nie, was der entscheidende Moment ist, der zu einer Einstellung führt.
PS: Ich suche keine Arbeit, ich bin derzeit zufrieden... es sei denn, es geht um einen Umzug irgendwohin in die USA.
Vorbereitung
Im CKAD-Test gibt es 19 Fragen, die sich wie folgt auf die Themen verteilen:
- 13% – Kernkonzepte
- 18% – Konfiguration
- 10% – Multi-Container-Pods
- 18% – Beobachtbarkeit
- 20% – Pod-Design
- 13% – Dienste & Netzwerk
- 8% – Zustandspersistenz
Auf der Plattform Udemy gibt es einen großartigen Kurs von einem Inder namens Mumshad Mannambeth (der Link wird am Ende des Artikels bereitgestellt). Wirklich sehr qualitativ hochwertiges Material zu einem geringen Preis. Besonders cool ist, dass im Laufe des Kurses praktische Übungen in einer Testumgebung angeboten werden, wodurch man die Fähigkeiten im Umgang mit der Konsole verbessert.
Ich habe den gesamten Kurs absolviert und alle praktischen Übungen gemacht (natürlich konnte ich nicht widerstehen, einen Blick auf die Antworten zu werfen). Direkt vor der Prüfung habe ich mir alle Vorlesungen nochmal in erhöhtem Tempo angeschaut und die letzten beiden Übungsprüfungen (Mock Exams) wiederholt. Das hat mich etwa einen Monat in ruhigem Tempo gekostet. Das Material hat mir vollkommen gereicht, um die Prüfung mit 91 % sicher zu bestehen. In einer Aufgabe habe ich irgendwo einen Fehler gemacht (NodePort hat nicht funktioniert), und ein paar Minuten haben gefehlt, um eine weitere Aufgabe mit der Einbindung von ConfigMap aus einer Datei abzuschließen, obwohl ich die Lösung kannte.
Wie die Prüfung abläuft
Die Prüfung findet im Browser statt, mit eingeschalteter Webcam und geteilter Bildschirmansicht. Die Prüfungsregeln verlangen, dass sich keine fremden Personen im Raum aufhalten. Ich habe die Prüfung abgelegt, als im Land bereits eine Selbstisolationsphase eingeführt wurde. Daher war es mir wichtig, einen ruhigen Zeitraum zu finden, in dem meine Frau nicht ins Zimmer kommen oder mein Kind nicht schreien würde. Ich habe die tiefste Nacht gewählt, glücklicherweise gibt es eine Zeitwahl, die für jeden Geschmack verfügbar ist.
Zu Beginn verlangt der Prüfer, dass Sie Ihren Ausweis mit Foto und Namensangabe (in Lateinschrift) vorlegen – bei mir war das der Reisepass. Zusätzlich müssen Sie die Webcam auf Ihren Tisch und den Raum richten, um sicherzustellen, dass keine unerlaubten Gegenstände vorhanden sind.
Während der Prüfung ist es erlaubt, einen weiteren Browser-Tab mit einer der Ressourcen geöffnet zu halten:, oder . Ich hatte die Dokumentation geöffnet, die war völlig ausreichend.
Im Hauptfenster sind neben dem Text der Aufgaben, dem Terminal und dem Chat mit dem Prüfer auch noch ein Notizfenster verfügbar, in das Sie wichtige Namen oder Befehle kopieren können – das war ein paar Mal nützlich.
Tipps
- Nutzen Sie Aliase, um Zeit zu sparen. Das habe ich verwendet:
export ns=default # Variable für den Namespace alias ku='kubectl' # Hauptbefehl abkürzen alias kun='ku -n=$ns' # kubectl + Namespace alias kudr='kun --dry-run -o=yaml' # sehr nützliche Flags, um yaml-Beschreibungen für Objekte zu generieren - Merken Sie sich die Kombinationen von Flags für den Befehl run, um schnell yaml für verschiedene Objekte zu generieren – pod/deploy/job/cronjob (obwohl es nicht zwingend erforderlich ist, sie zu merken; Sie können einfach die Hilfe mit dem Flag aufrufen). -h):
kudr run pod1 --image=nginx --restart=Never > pod1.yaml kudr run deploy1 --image=nginx > deploy1.yaml kudr run job1 --image=nginx --restart=OnFailure > job1.yaml kudr run cronjob1 --image=nginx --restart=OnFailure --schedule="*/1 * * * * " > cronjob1.yaml - Verwenden Sie Abkürzungen für Ressourcen:
ku get ns # anstelle von namespaces ku get deploy # anstelle von deployments ku get pv # anstelle von persistentvolumes ku get pvc # anstelle von persistentvolumeclaims ku get svc # anstelle von services # usw., die vollständige Liste kann mit dem Befehl: kubectl api-resources eingesehen werden - Teilen Sie Ihre Zeit für die Bearbeitung aller Aufgaben sinnvoll ein, bleiben Sie nicht bei einer Aufgabe hängen, überspringen Sie Fragen und machen Sie weiter. Zunächst dachte ich, ich würde die Aufgaben in einem sehr hohen Tempo erledigen und die Prüfung vorzeitig beenden, aber letztendlich habe ich zwei Aufgaben nicht geschafft. Tatsächlich ist die zur Verfügung stehende Zeit für die Prüfung sehr knapp, und die gesamten 2 Stunden vergehen unter Druck.
- Vergessen Sie nicht, den Kontext zu wechseln – zu Beginn jeder Aufgabe gibt es einen Befehl zum Wechseln, um im richtigen Cluster zu arbeiten.
Achten Sie auch auf den Namespace. Dafür habe ich einen weiteren Trick verwendet:alias kun='echo namespace=$ns && ku -n=$ns' # bei der Ausführung jedes Kommandos wird in der ersten Zeile mein aktueller Namespace angezeigt - Zahlen Sie die Zertifizierung nicht voreilig, warten Sie auf Rabatte. Der Kursautor sendet häufig Rabattcodes mit 20-30% Ermäßigung per E-Mail.
- Lernen Sie endlich vim 🙂
Links:
- — hier ist die offizielle Zertifizierungsseite
- — ein sehr guter Kurs zur Vorbereitung, alles klar und mit Illustrationen
- — nützliche Links und Anmerkungen zur Prüfung
- — ein Bericht von Kollegen auf Habr über das Bestehen der anspruchsvolleren CKA-Prüfung
Quelle: habr.com
