TKG 拡張機能には TLS 証明書が必要です。この前提条件を満たすために cert-manager をインストールするか、独自の自己署名証明書を使用できます。CA からの証明書もサポートされます。

TKG 拡張機能における独自の TLS 証明書の使用について

cert-manager のインストールについては、各 TKG 拡張機能のデプロイ プロセスの一環としてドキュメントに記載されています。または、独自の TLS 証明書を使用することもできます。
注: このタスクでは、OpenSSL がインストールされた Linux ホストを使用することを前提にしています。

認証局証明書の生成

本番環境では、CA から証明書を取得する必要があります。開発環境またはテスト環境では、独自の自己署名証明書を生成できます。CA 証明書を生成するには、次の手順を実行します。
  1. CA 証明書のプライベート キーを生成します。
    openssl genrsa -out ca.key 4096
  2. CA 証明書を生成します。
    テンプレートとして、次のコマンドを使用します。環境に基づいて -subj オプションの値を更新します。FQDN を使用して TKG 拡張機能ホストを接続する場合は、この FQDN を共通名 (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
    

サーバ証明書の生成

証明書には通常、.crt ファイルと .key ファイル( tls.crttls.key など)が含まれます。
  1. プライベート キーを生成します。
    openssl genrsa -out tls.key 4096
  2. 証明書署名リクエスト (CSR) を生成します。
    テンプレートとして、次のコマンドを使用します。環境に基づいて -subj オプションの値を更新します。FQDN を使用して TKG 拡張機能ホストを接続する場合は、この FQDN を共通名 (CN) 属性として指定し、キーと CSR のファイル名で FQDN を使用する必要があります。
    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. x509 v3 拡張ファイルを生成します。

    テンプレートとして、次のコマンドを使用します。このファイルを作成して、Subject Alternative Names (SAN) および x509 v3 拡張の要件に準拠する TKG 拡張機能ホストの証明書を生成できるようにします。

    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. x509 v3 拡張ファイルを使用して、TKG 拡張機能ホストの証明書を生成します。
    openssl x509 -req -sha512 -days 3650 \
    -extfile v3.ext \
    -CA ca.crt -CAkey ca.key -CAcreateserial \
    -in tls.csr \
    -out tls.crt
    
  5. 次の形式を使用して、ファイル ca.crttls.crttls.key の内容を TKG-EXTENSION-data-values.yaml ファイルにコピーします。
    ingress:
      tlsCertificate:
        tls.crt: |
            -----BEGIN ...
    
  6. ドキュメントに沿って、サポートされている TKG 拡張機能のデプロイを続行します。