Extensões TKG exigem certificados TLS. Você pode instalar o cert-manager para satisfazer esse pré-requisito ou pode usar seus próprios certificados autoassinados. Também há suporte para certificados de uma autoridade de certificação.

Sobre como usar seus próprios certificados TLS com extensões TKG

A instalação do cert-manager é documentada como parte do processo de implantação para cada extensão TKG. Como alternativa, você pode usar seus próprios certificados TLS.
Observação: Esta tarefa pressupõe que você esteja usando um host Linux com OpenSSL instalado.

Gerar um certificado de autoridade de certificação

Em um ambiente de produção, você deve obter um certificado de uma autoridade de certificação. Em um ambiente de desenvolvimento ou teste, você pode gerar seu próprio certificado autoassinado. Para gerar um certificado de autoridade de certificação, siga as instruções a seguir.
  1. Gere uma chave privada de certificado de CA.
    openssl genrsa -out ca.key 4096
  2. Gere o certificado CA.
    Use o seguinte comando como modelo. Atualize os valores na opção -subj com base no seu ambiente. Se você usar um FQDN para conectar seu host de Extensões TKG, deverá especificar esse FQDN como o atributo de nome comum (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
    

Gerar um certificado de servidor

O certificado geralmente contém um arquivo .crt e um arquivo .key, por exemplo, tls.crt e tls.key.
  1. Gere uma chave privada.
    openssl genrsa -out tls.key 4096
  2. Gere uma solicitação de assinatura de certificado (CSR).
    Use o seguinte comando como modelo. Atualize os valores na opção -subj com base no seu ambiente. Se você usar um FQDN para conectar seu host de Extensões TKG, deverá especificar esse FQDN como o atributo de nome comum (CN) e usar o FQDN nos nomes de arquivo de chave e 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. Gere um arquivo de extensão x509 v3.

    Use o seguinte comando como modelo. Crie esse arquivo para que você possa gerar um certificado para o seu host de extensões TKG que esteja em conformidade com os requisitos de SAN (Subject Alternative Name) e de extensão 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. Use o arquivo de extensão x509 v3 para gerar um certificado para o host de extensões TKG
    openssl x509 -req -sha512 -days 3650 \
    -extfile v3.ext \
    -CA ca.crt -CAkey ca.key -CAcreateserial \
    -in tls.csr \
    -out tls.crt
    
  5. Copie o conteúdo dos arquivos ca.crt, tls.crt e tls.key no arquivo TKG-EXTENSION-data-values.yaml usando o seguinte formato.
    ingress:
      tlsCertificate:
        tls.crt: |
            -----BEGIN ...
    
  6. Prossiga com a implantação de uma extensão TKG compatível, conforme documentado.