Las extensiones de TKG requieren certificados TLS. Puede instalar cert-manager para cumplir con este requisito previo o puede utilizar sus propios certificados autofirmados. También se admiten certificados de una entidad de certificación (CA).

Acerca del uso de sus propios certificados TLS con extensiones de TKG

La instalación de cert-manager está documentada como parte del proceso de implementación de cada extensión de TKG. Si lo desea, puede utilizar sus propios certificados TLS.
Nota: En esta tarea, se asume que utilizará un host de Linux con OpenSSL instalado.

Generar un certificado de entidad de certificación

En un entorno de producción, debe obtener un certificado de una CA. En un entorno de prueba o desarrollo, puede generar su propio certificado autofirmado. Para generar un certificado de CA, siga estas instrucciones.
  1. Genere una clave privada de un certificado de CA.
    openssl genrsa -out ca.key 4096
  2. Genere el certificado de CA.
    Utilice el siguiente comando como plantilla. Actualice los valores en la opción -subj en función de su entorno. Si utiliza un FQDN para conectar el host de las extensiones de TKG, debe especificar este FQDN como el atributo de nombre común (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
    

Generar un certificado de servidor

Por lo general, el certificado contiene un archivo .crt y un archivo .key, por ejemplo, tls.crt y tls.key.
  1. Genere una clave privada.
    openssl genrsa -out tls.key 4096
  2. Genere una solicitud de firma del certificado (CSR).
    Utilice el siguiente comando como plantilla. Actualice los valores en la opción -subj en función de su entorno. Si utiliza un FQDN para conectar el host de las extensiones de TKG, debe especificar este FQDN como el atributo de nombre común (CN) y utilizar el FQDN en los nombres de archivo de la CSR y la clave.
    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. Genere un archivo de extensión x509 v3.

    Utilice el siguiente comando como plantilla. Cree este archivo de modo que pueda generar un certificado para el host de las extensiones de TKG que cumpla con los requisitos de extensión de nombre alternativo del firmante (SAN) y de extensión 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. Utilice el archivo de extensión x509 v3 a fin de generar un certificado para el host de extensiones de 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 el contenido de los archivos ca.crt, tls.crt y tls.key en el archivo TKG-EXTENSION-data-values.yaml usando el siguiente formato.
    ingress:
      tlsCertificate:
        tls.crt: |
            -----BEGIN ...
    
  6. Continúe con la implementación de una extensión de TKG compatible del modo en que se documenta.