背景说明
没有https ssl证书文件,k8s 已经部署了https ssl的证书,存储在secret中,需要从其中取出域名信息。
脚本实现
k8s命令+openssl命令
bash
#!/bin/bash
# 1. 获取 Secret 对象的详细信息,提取证书字段的 Base64 编码值
secret_info=$(kubectl get secret <secret_name> -o json)
cert_value=$(echo "$secret_info" | jq -r '.data."tls.crt"')
# 2. Base64 解码证书值到文件
echo "$cert_value" | base64 -d > certificate.crt
# 3. 使用 OpenSSL 查看证书的域名信息
openssl x509 -in certificate.crt -noout -text |grep 'Subject: '|awk -F= '{print $2}'
# 4. 清理临时文件
rm certificate.crt
做好笔记,不断积累。