1、开启docker-desktop设置中kubernetes的Show system containers (advanced)

在这里插入图片描述

2、终端执行 docker ps | grep etcd

图示即为k8s的etcd容器
图示即为k8s的etcd容器

3、终端执行kubectl get pods -n kube-system

在这里插入图片描述
可以看到etcd的pod名称

4、终端执行kubectl describe pod etcd-docker-desktop -n kube-system

在这里插入图片描述
从pod的describe中可以看到command中写明了相关证书的路径

5、进入第二步找到的etcd容器docker exec -it 04607f704430 sh,查看/run/config/pki/etcd目录下的证书

在这里插入图片描述
这里存放了需要的证书文件

6、可以直接使用etcdctl命令访问etcd了

比如查看所有的namespace

ETCDCTL_API=3 etcdctl --endpoints=https://127.0.0.1:2379 --cacert=/run/config/pki/etcd/ca.crt --key=/run/config/pki/etcd/peer.key --cert=/run/config/pki/etcd/peer.crt get /registry/namespaces --prefix -w=json

需要指定ETCDCTL_API为3,指定–endpoints,指定三个证书。

可以指定别名:

alias ectl='ETCDCTL_API=3 etcdctl --endpoints=https://127.0.0.1:2379 --cacert=/run/config/pki/etcd/ca.crt --key=/run/config/pki/etcd/peer.key --cert=/run/config/pki/etcd/peer.crt'

接下来就可以使用ectl

ectl get /registry/namespaces --prefix -w=json

下面就可以使用ectl的命令执行需要的操作了。

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐