我想使用我的kurnetes集群中的etcd pod的etcdctl函数,但我不能。我已经从kubeadm安装了kubernetes,并且我有1个master和1个节点。
当我从我的etcd容器内部尝试命令etcdctl时,出现以下错误:
但是当我检查etcd pod日志时,看起来很健康:
最佳答案
看来您已经etcd
侦听https://127.0.0.1:2379
上的客户端连接,并且据我所知,您启用了客户端证书身份验证。然后,您应该能够运行以下命令以连接到etcd
:
ETCDCTL_API=3 etcdctl member list \
--endpoints=https://127.0.0.1:2379 \
--cacert=/etc/kubernetes/pki/etcd/ca.crt \
--cert=/etc/kubernetes/pki/etcd/server.crt \
--key=/etc/kubernetes/pki/etcd/server.key
基本上
etcd
希望您使用客户端证书进行身份验证。另外,由于您正在运行
etcd
的3.x版本,因此必须通过提供etcdctl
环境变量来告诉ETCDCTL_API
。编辑:
以供参考:
我使用的
kubeadm
版本1.11.1在测试上述命令时在运行Ubuntu 18.04的服务器上安装了etcd
版本3.2.18。关于kubernetes - ETCD kubeadm getsockopt:连接被拒绝,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51592180/