Kubernetes的etcd數據查看和遷移

Kubernetes的集羣元數據都保存在etcd中,我們可以直接訪問來查看數據。

1、查看etcd數據

kubeadm默認安裝

方法如下:

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參數。

上面的參數是在使用kubeadm默認安裝時,證書位於宿主機的/etc/kubernetes/pki目錄下,在安裝etcdctl-client後就可以使用上面的命令來訪問了。

cfssl證書安裝

使用cfssl證書安裝的etcd集羣,證書的目錄可以自己定,證書格式是*.pem。方法如下:

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目錄下。

2、遷移etcd數據

使用etcd make-mirror命令來完成。

下面的命令將使用kubeadm安裝的etcd實例數據傳送到使用cfssl安裝的etcd集羣中。

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的方法來查看數據。

3、更多參考

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章