使用 kubeadm init 后如何以编程方式获取 Kubernetes 在 --discovery-token-ca-cert-hash 中打印的值
How to programatically get value printed by Kubernetes in --discovery-token-ca-cert-hash after using kubeadm init
我有一个特定的用例,在这个用例中,我们在大量机器上远程创建 Kubernetes 集群。当我们最后 运行 kubeadm init
时,连接命令打印为:
kubeadm join [IPv6-Address]:6443 --token TOKEN_VALUE --discovery-token-ca-cert-hash CERT_HASH
为了以编程方式加入工作节点,我们有一个脚本需要 TOKEN_VALUE
和 CERT_HASH
。
现在我正在使用以下命令获取 TOKEN_VALUE
:sudo kubeadm token list | awk 'NR == 2 {print }'
。但是,我还没有找到一种简单的方法(或任何方法)来获得 CERT_HASH
.
如有任何帮助或指点,我们将不胜感激。
对于那些有同样问题的人,似乎没有一种超级干净或简单的方法来获得它。但是看了一些地方之后,对我有用的是 openssl x509 -in /etc/kubernetes/pki/ca.crt -noout -pubkey | openssl rsa -pubin -outform DER 2>/dev/null | sha256sum | cut -d' ' -f1
我有一个特定的用例,在这个用例中,我们在大量机器上远程创建 Kubernetes 集群。当我们最后 运行 kubeadm init
时,连接命令打印为:
kubeadm join [IPv6-Address]:6443 --token TOKEN_VALUE --discovery-token-ca-cert-hash CERT_HASH
为了以编程方式加入工作节点,我们有一个脚本需要 TOKEN_VALUE
和 CERT_HASH
。
现在我正在使用以下命令获取 TOKEN_VALUE
:sudo kubeadm token list | awk 'NR == 2 {print }'
。但是,我还没有找到一种简单的方法(或任何方法)来获得 CERT_HASH
.
如有任何帮助或指点,我们将不胜感激。
对于那些有同样问题的人,似乎没有一种超级干净或简单的方法来获得它。但是看了一些地方之后,对我有用的是 openssl x509 -in /etc/kubernetes/pki/ca.crt -noout -pubkey | openssl rsa -pubin -outform DER 2>/dev/null | sha256sum | cut -d' ' -f1