Neuigkeiten von trion.
Immer gut informiert.

Kaniko mit Custom CA Certificates

Kaniko

Damit Kaniko mit einer eigenen Registry verwendet werden kann, die TLS Zertifikate von einer eigenen Certificate Authority (CA) verwendet, wird ein eigenes Kaniko Container-Image benötigt. Wenn darin die passenden Zertifikate enthalten sind, kann Kaniko auf die Registry ohne Probleme zugreifen.

Dieses Beispiel baut auf dem vorherigen Beitrag auf und verwendet daher schon ein spezielles Kaniko Image für ARM Maschinen.

Im Prinzip ist das Vorgehen einfach: Das CA Zertifikat muss den vertrauenswürdigen Zertifikaten im Kaniko Image hinzugefügt werden. Kaniko erwartet die Zertifikate in /kaniko/ssl/certs/ca-certificates.crt, sodass hier ein CA Zertifikat problemlos ergänzt werden kann.

Je nachdem, welche Quelle für das Zertifikat dient, muss es in den Build-Container kopiert werden bzw. aus der Umgebung konfiguriert werden. Im Beispiel wird die Kubernetes CA verwendet, so dass sich das CA Zertifikat in /var/run/secrets/kubernetes.io/serviceaccount/ca.crt befindet.

Das für den Build erforderliche Dockerfile wird als Kubernetes-ConfigMap bereitgestellt.

So sieht der Kubernetes Build-Job als YAML dann aus:

Beispiel für einen Kubernetes Build-Job mit Dockerfile in einer ConfigMap
build.yaml[]

Der Build erfolgt dann dadurch, dass der Job in Kubernetes angelegt wird. Nach erfolgreichem Build kann der Job und die ConfigMap wieder entfernt werden.

Ausführung des Builds
$ kubectl apply -f build.yaml
configmap/kaniko-ca-dockerfile created
job.batch/kaniko-build created
# warten oder Logs verfolgen...
$ kubectl delete -f build.yaml
configmap "kaniko-ca-dockerfile" deleted
job.batch "kaniko-build" deleted

Das so gebaute Image ist nun in der Registry verfügbar und kann für Kaniko-Builds verwendet werden.




Zu den Themen Kubernetes, Docker und Cloud Architektur bieten wir sowohl Beratung, Entwicklungsunterstützung als auch passende Schulungen an:

Auch für Ihren individuellen Bedarf können wir Workshops und Schulungen anbieten. Sprechen Sie uns gerne an.

Feedback oder Fragen zu einem Artikel - per E-Mail an [email protected] oder über das Kontaktformular. Wir freuen uns auf eine Kontaktaufnahme!

Suche

Los geht's!

Bitte teilen Sie uns mit, wie wir Sie am besten erreichen können.