Kubernetes的集群元数据都保存在etcd中,咱们能够直接访问来查看数据。git
方法以下:github
ETCDCTL_API=3 etcdctl --endpoints=https://[127.0.0.1]:2379 \ --cacert=/etc/kubernetes/pki/etcd/ca.crt \ --cert=/etc/kubernetes/pki/etcd/healthcheck-client.crt \ --key=/etc/kubernetes/pki/etcd/healthcheck-client.key \ get /registry/deployments/default --prefix --keys-only
由于Kubernetes中的etcd 实例使用了https,须要指定证书等信息,即cacert/cert/key参数。spa
上面的参数是在使用kubeadm默认安装时,证书位于宿主机的/etc/kubernetes/pki目录下,在安装etcdctl-client后就能够使用上面的命令来访问了。.net
使用cfssl证书安装的etcd集群,证书的目录能够本身定,证书格式是*.pem。方法以下:code
ETCDCTL_API=3 etcdctl --endpoints=https://[10.1.1.202]:2379 \ --cacert=/etc/kubernetes/pki/etcd-certs/ca.pem \ --cert=/etc/kubernetes/pki/etcd-certs/client.pem \ --key=/etc/kubernetes/pki/etcd-certs/client-key.pem \ get /registry/deployments/default --prefix --keys-only
我这里将证书放在了/etc/kubernetes/pki/etcd-certs目录下。blog
使用etcd make-mirror命令来完成。ssl
下面的命令将使用kubeadm安装的etcd实例数据传送到使用cfssl安装的etcd集群中。get
ETCDCTL_API=3 etcdctl make-mirror \ --endpoints=https://[127.0.0.1]:2379 \ --cacert=/etc/kubernetes/pki/etcd/ca.crt \ --cert=/etc/kubernetes/pki/etcd/healthcheck-client.crt \ --key=/etc/kubernetes/pki/etcd/healthcheck-client.key \ --dest-cacert=/etc/kubernetes/pki/etcd-certs/ca.pem \ --dest-cert=/etc/kubernetes/pki/etcd-certs/client.pem \ --dest-key=/etc/kubernetes/pki/etcd-certs/client-key.pem \ https://[10.1.1.202]:2379
而后,能够使用上面1的方法来查看数据。kubernetes