Le TKG Extension richiedono certificati TLS. È possibile installare cert-manager per soddisfare questo prerequisito oppure è possibile utilizzare certificati autofirmati propri. Sono supportati anche i certificati provenienti da un'autorità di certificazione.

Informazioni sull'utilizzo dei propri certificati TLS con le TKG Extension

L'installazione di cert-manager è documentata come parte del processo di distribuzione per ogni TKG Extension. In alternativa, è possibile utilizzare i propri certificati TLS.
Nota: Questa attività presuppone che si stia utilizzando un host Linux in cui è installato OpenSSL.

Generazione di un certificato di autorità di certificazione

In un ambiente di produzione, è necessario ottenere un certificato da un'autorità di certificazione (CA). In un ambiente di sviluppo o test, è possibile generare il proprio certificato autofirmato. Per generare un certificato CA, attenersi alle istruzioni riportate di seguito.
  1. Generare una chiave privata del certificato CA.
    openssl genrsa -out ca.key 4096
  2. Generare il certificato CA.
    Utilizzare il comando seguente come modello. Aggiornare i valori nell'opzione -subj in base all'ambiente in uso. Se si utilizza un nome di dominio completo per stabilire la connessione all'host delle TKG Extension, è necessario specificare questo nome di dominio completo come attributo del nome comune (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
    

Generazione di un certificato server

Il certificato di solito contiene un file .crt e un file .key, ad esempio tls.crt e tls.key.
  1. Generare una chiave privata.
    openssl genrsa -out tls.key 4096
  2. Generare una richiesta di firma del certificato (CSR).
    Utilizzare il comando seguente come modello. Aggiornare i valori nell'opzione -subj in base all'ambiente in uso. Se si utilizza un nome di dominio completo per stabilire la connessione all'host delle TKG Extension, è necessario specificare questo nome di dominio completo come attributo del nome comune (CN) e utilizzarlo nei nomi dei file della chiave e della 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. Generare un file con estensione x509 v3.

    Utilizzare il comando seguente come modello. Creare questo file in modo da poter generare un certificato per l'host delle TKG Extension che soddisfi i requisiti di estensione x509 v3 e SAN (Subject Alternative Name).

    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. Utilizzare il file di estensione x509 v3 per generare un certificato per l'host delle TKG Extension.
    openssl x509 -req -sha512 -days 3650 \
    -extfile v3.ext \
    -CA ca.crt -CAkey ca.key -CAcreateserial \
    -in tls.csr \
    -out tls.crt
    
  5. Copiare il contenuto dei file ca.crt, tls.crt e tls.key nel file TKG-EXTENSION-data-values.yaml utilizzando il formato seguente.
    ingress:
      tlsCertificate:
        tls.crt: |
            -----BEGIN ...
    
  6. Procedere con la distribuzione di una TKG Extension supportata come documentato.