Kubernetes Certificate

Kubernetes Certificate

Manuellen TLS Eintrag erstellen

Für den manuellen Eintrag wird die komplette Zertifikatskette ohne das root-Zertifikat in einer Datei und der Key in einer anderen Datei benötigt. Beide müssen im PEM - Format vorliegen.

Sollten die Intermediate Zertifikate und das eigentliche Zertifikat nicht in einer Datei sein, dann lassen sich diese per cat Befehl zusammenfügen.

cat server.ca >> server.crt
$ kubectl create secret tls --cert server.crt \
    --key server.key --namespace default
    example.com

Der zusätzliche Parameter -o yaml gibt den Eintrag aus statt ihn per API in den Cluster zu senden.

Alternativ kann der Eintrag auch selber erstellt werden:

---
apiVersion: v1
kind: Secret
metadata:
namespace: default
type: kubernetes.io/tls
  name: example.com
data:
  tls.crt: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURH [...]
  tls.key: LS0tLS1CRUdJTiBQUklWQVRFIEtFWS0tLS0tCk1JSUVA [...]

Der hinter tls.crt und tls.key angegebene Text entspricht dem Inhalt der Zertifikats- und Key-Datei in einer mit base64 ummantelten Version ohne Zeilenumbrüche.

$ base64 -i -w0 server.crt