How to backup etcd on a Kubernetes cluster created with kubeadm - rpc error: code = 13
How to backup etcd on a Kubernetes cluster created with kubeadm - rpc error: code = 13
我有一个使用 kubeadm 创建的 K8s 集群,它由一个主节点和两个工作节点组成。
我正在关注这篇关于 etcd 备份的文档文章:https://kubernetes.io/docs/tasks/administer-cluster/configure-upgrade-etcd/#backing-up-an-etcd-cluster
我必须使用 etcdctl 来备份 etcd 数据库,所以我进入主节点上的 etcd pod 运行ning 以从那里执行此操作:kubectl exec -it -n kube-system etcd-ip-x-x-x-x sh
注意:主节点在此路径 /var/lib/etcd
中托管 etcd 数据库,该数据库作为 /var/lib/etcd
中的 VolumeMount 安装在 pod 上。
按照我的文档 运行:ETCDCTL_API=3 etcdctl --endpoints 127.0.0.1:2379 snapshot save snapshotdb
并且 returns 出现以下错误:
Error: rpc error: code = 13 desc = transport: write tcp 127.0.0.1:44464->127.0.0.1:2379: write: connection reset by peer
这里有什么问题?
我成功地将证书信息添加到命令中:
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 snapshot save ./snapshot.db
您还可以在Etcd 运行ning 的节点上检查以下行中的Etcd 配置文件。
/etc/kubernetes/manifests/etcd.yaml
在Etcd配置的command部分获取命令后,
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
您可以 运行 Etcd 命令如下所示。
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 member list
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 snapshot save ./snapshot.db
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 snapshot status ./snapshot.db
我有一个使用 kubeadm 创建的 K8s 集群,它由一个主节点和两个工作节点组成。
我正在关注这篇关于 etcd 备份的文档文章:https://kubernetes.io/docs/tasks/administer-cluster/configure-upgrade-etcd/#backing-up-an-etcd-cluster
我必须使用 etcdctl 来备份 etcd 数据库,所以我进入主节点上的 etcd pod 运行ning 以从那里执行此操作:kubectl exec -it -n kube-system etcd-ip-x-x-x-x sh
注意:主节点在此路径 /var/lib/etcd
中托管 etcd 数据库,该数据库作为 /var/lib/etcd
中的 VolumeMount 安装在 pod 上。
按照我的文档 运行:ETCDCTL_API=3 etcdctl --endpoints 127.0.0.1:2379 snapshot save snapshotdb
并且 returns 出现以下错误:
Error: rpc error: code = 13 desc = transport: write tcp 127.0.0.1:44464->127.0.0.1:2379: write: connection reset by peer
这里有什么问题?
我成功地将证书信息添加到命令中:
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 snapshot save ./snapshot.db
您还可以在Etcd 运行ning 的节点上检查以下行中的Etcd 配置文件。
/etc/kubernetes/manifests/etcd.yaml
在Etcd配置的command部分获取命令后,
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
您可以 运行 Etcd 命令如下所示。
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 member list
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 snapshot save ./snapshot.db
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 snapshot status ./snapshot.db