TKG 拡張機能には TLS 証明書が必要です。この前提条件を満たすために cert-manager をインストールするか、独自の自己署名証明書を使用できます。CA からの証明書もサポートされます。
TKG 拡張機能における独自の TLS 証明書の使用について
cert-manager のインストールについては、各 TKG 拡張機能のデプロイ プロセスの一環としてドキュメントに記載されています。または、独自の TLS 証明書を使用することもできます。
注: このタスクでは、OpenSSL がインストールされた Linux ホストを使用することを前提にしています。
認証局証明書の生成
本番環境では、CA から証明書を取得する必要があります。開発環境またはテスト環境では、独自の自己署名証明書を生成できます。CA 証明書を生成するには、次の手順を実行します。
- CA 証明書のプライベート キーを生成します。
openssl genrsa -out ca.key 4096
- 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.crt
と
tls.key
など)が含まれます。
- プライベート キーを生成します。
openssl genrsa -out tls.key 4096
- 証明書署名リクエスト (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
- 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
- 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
- 次の形式を使用して、ファイル
ca.crt
、tls.crt
、tls.key
の内容をTKG-EXTENSION-data-values.yaml
ファイルにコピーします。ingress: tlsCertificate: tls.crt: | -----BEGIN ...
- ドキュメントに沿って、サポートされている TKG 拡張機能のデプロイを続行します。