Les extensions TKG nécessitent des certificats TLS. Vous pouvez installer cert-manager pour satisfaire cette condition préalable ou utiliser vos propres certificats auto-signés. Les certificats d'une autorité de certification sont également pris en charge.

À propos de l'utilisation de vos propres certificats TLS avec des extensions TKG

L'installation de cert-manager est documentée dans le cadre du processus de déploiement de chaque extension TKG. Vous pouvez également utiliser vos propres certificats TLS.
Note : Cette tâche suppose que vous utilisez un hôte Linux sur lequel est installé OpenSSL.

Générer un certificat d’autorité de certification

Dans un environnement de production, vous devez obtenir un certificat auprès d'une autorité de certification. Dans un environnement de test ou de dév. , vous pouvez générer votre propre certificat auto-signé. Pour générer un certificat d'autorité de certification, procédez comme suit.
  1. Générez une clé privée de certificat d'autorité de certification.
    openssl genrsa -out ca.key 4096
  2. Générez le certification d'autorité de certification.
    Utilisez la commande suivante comme modèle. Mettez à jour les valeurs dans l'option -subj selon votre environnement. Si vous utilisez un nom de domaine complet pour connecter l'hôte des extensions TKG, vous devez spécifier ce nom de domaine complet comme attribut de nom commun (CN).
    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
    

Générer un certificat de serveur

Le certificat contient généralement un fichier .crt et un fichier .key. Par exemple, tls.crt et tls.key.
  1. Générez une clé privée.
    openssl genrsa -out tls.key 4096
  2. Générez une demande de signature de certificat (CSR).
    Utilisez la commande suivante comme modèle. Mettez à jour les valeurs dans l'option -subj selon votre environnement. Si vous utilisez un nom de domaine complet pour connecter l'hôte des extensions TKG, vous devez le spécifier comme attribut de nom commun (CN) et l'utiliser dans les noms de fichier de clé et de CSR.
    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. Générez un fichier d'extension x509 v3.

    Utilisez la commande suivante comme modèle. Créez ce fichier pour générer un certificat pour l'hôte des extensions TKG conforme aux conditions requises du nom SAN (Subject Alternative Name) et de l'extension x509 v3.

    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. Utiliser le fichier d'extension x509 v3 pour générer un certificat pour l'hôte des extensions TKG
    openssl x509 -req -sha512 -days 3650 \
    -extfile v3.ext \
    -CA ca.crt -CAkey ca.key -CAcreateserial \
    -in tls.csr \
    -out tls.crt
    
  5. Copiez le contenu des fichiers ca.crt, tls.crt et tls.key dans le fichier TKG-EXTENSION-data-values.yaml au format suivant.
    ingress:
      tlsCertificate:
        tls.crt: |
            -----BEGIN ...
    
  6. Procédez au déploiement d'une extension TKG prise en charge, comme indiqué dans la documentation.