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.
  1. Generieren Sie einen privaten Schlüssel für das CA-Zertifikat.
    openssl genrsa -out ca.key 4096
  2. 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.
  1. Generieren Sie einen privaten Schlüssel.
    openssl genrsa -out tls.key 4096
  2. 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
    
  3. 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
    
  4. 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
    
  5. Kopieren Sie den Inhalt der Dateien ca.crt, tls.crt und tls.key im folgenden Format in die Datei TKG-EXTENSION-data-values.yaml.
    ingress:
      tlsCertificate:
        tls.crt: |
            -----BEGIN ...
    
  6. Fahren Sie mit der Bereitstellung einer unterstützten TKG-Erweiterung fort, wie dokumentiert.