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 扩展文件。
使用以下命令作为模板。创建此文件,以便可以为 TKG 扩展主机生成符合主体备用名称 (SAN) 和 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
- 使用 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 扩展。