Für TKG-Erweiterungen sind TLS-Zertifikate erforderlich. Sie können cert-manager installieren, um diese Voraussetzung zu erfüllen, oder Sie können Ihre eigenen selbstsignierten Zertifikate verwenden. Zertifikate von einer Zertifizierungsstelle werden ebenfalls unterstützt.
Informationen zur Verwendung Ihrer eigenen TLS-Zertifikate mit TKG-Erweiterungen
Die Installation von cert-manager wird als Teil des Bereitstellungsvorgangs für jede TKG-Erweiterung dokumentiert. Alternativ können Sie Ihre eigenen TLS-Zertifikate verwenden.
Hinweis: Bei dieser Aufgabe wird davon ausgegangen, dass Sie einen Linux-Host verwenden, auf dem OpenSSL installiert ist.
Generieren eines Zertifizierungsstelleszertifikats
In einer Produktionsumgebung sollten Sie ein Zertifikat von einer Zertifizierungsstelle beziehen. In einer Entwicklungs- oder Testumgebung können Sie Ihr eigenes selbstsigniertes Zertifikat generieren. Um ein CA-Zertifikat zu generieren, führen Sie die folgenden Anweisungen aus.
- Generieren Sie einen privaten Schlüssel für das CA-Zertifikat.
openssl genrsa -out ca.key 4096
- Generieren Sie das CA Zertifikat.
Verwenden Sie den folgenden Befehl als Vorlage. Aktualisieren Sie die Werte in der
-subj
-Option basierend auf Ihrer Umgebung. Wenn Sie einen FQDN zum Verbinden Ihres TKG-Erweiterungshosts verwenden, müssen Sie diesen FQDN als CN-Attribut (Common Name) angeben.openssl req -x509 -new -nodes -sha512 -days 3650 \ -subj "/C=US/ST=PA/L=PA/O=example/OU=Personal/CN=tkg-extensions.system.tanzu" \ -key ca.key \ -out ca.crt
Generieren eines Serverzertifikats
Das Zertifikat enthält in der Regel eine .crt -Datei und eine .key -Datei, z. B.
tls.crt
und
tls.key
.
- Generieren Sie einen privaten Schlüssel.
openssl genrsa -out tls.key 4096
- Generiert Sie eine Zertifikatsignieranforderung (Certificate Signing Request, CSR).
Verwenden Sie den folgenden Befehl als Vorlage. Aktualisieren Sie die Werte in der
-subj
-Option basierend auf Ihrer Umgebung. Wenn Sie einen FQDN zum Verbinden ihres TKG-Erweiterungshosts verwenden, müssen Sie diesen FQDN als CN-Attribut (Common Name) angeben und den FQDN in den Schlüssel- und CSR-Dateinamen verwenden.openssl req -sha512 -new \ -subj "/C=US/ST=PA/L=PA/O=example/OU=Personal/CN=tkg-extensions.system.tanzu" \ -key tls.key \ -out tls.csr
- Generieren Sie eine x509 v3-Erweiterungsdatei.
Verwenden Sie den folgenden Befehl als Vorlage. Erstellen Sie diese Datei, damit Sie ein Zertifikat für Ihren TKG-Erweiterungshost generieren können, das den Erweiterungsanforderungen für Subject Alternative Name (SAN) und x509 v3 entspricht.
cat > v3.ext <<-EOF authorityKeyIdentifier=keyid,issuer basicConstraints=CA:FALSE keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment extendedKeyUsage = serverAuth subjectAltName = @alt_names [alt_names] DNS.1=tkg-extensions.system.tanzu EOF
- Verwenden Sie die x509 v3-Erweiterungsdatei, um ein Zertifikat für Ihren TKG-Erweiterungshost zu generieren
openssl x509 -req -sha512 -days 3650 \ -extfile v3.ext \ -CA ca.crt -CAkey ca.key -CAcreateserial \ -in tls.csr \ -out tls.crt
- Kopieren Sie den Inhalt der Dateien
ca.crt
,tls.crt
undtls.key
im folgenden Format in die DateiTKG-EXTENSION-data-values.yaml
.ingress: tlsCertificate: tls.crt: | -----BEGIN ...
- Fahren Sie mit der Bereitstellung einer unterstützten TKG-Erweiterung fort, wie dokumentiert.