10.5.4 获取Istio服务账户密钥

为了能够在虚拟机或者物理裸机上访问到Istio控制面板,需要获取Istio服务账户的密钥。通过执行如下命令可以获取指定的Istio服务账户的密钥,例如获取命名空间default下的服务账户为default的密钥:


SA=default
NS=default
CERT_NAME=istio.$SA
kubectl get -n $NS secret $CERT_NAME -o jsonpath='{.data.root-cert\.pem}' | base64 --decode > root-cert.pem
echo "Generated root-cert.pem. It should be installed on /etc/certs"
kubectl get -n $NS secret $CERT_NAME -o jsonpath='{.data.cert-chain\.pem}' | base64 --decode  > cert-chain.pem
kubectl get -n $NS secret $CERT_NAME -o jsonpath='{.data.key\.pem}' | base64 --decode > key.pem
echo "Generated cert-chain.pem and key.pem. It should be installed on /etc/certs"

执行上述命令之后可以获取到三个密钥相关文件:root-cert.pem、cert-chain.pem及key.pem。