【问题标题】:How to backup etcd on a Kubernetes cluster created with kubeadm - rpc error: code = 13如何在使用 kubeadm 创建的 Kubernetes 集群上备份 etcd - rpc 错误:代码 = 13
【发布时间】:2018-12-24 12:50:45
【问题描述】:

我有一个使用 kubeadm 创建的 K8s 集群,它由一个主节点和两个工作节点组成。

我正在关注这篇关于 etcd 备份的文档文章:https://kubernetes.io/docs/tasks/administer-cluster/configure-upgrade-etcd/#backing-up-an-etcd-cluster

我必须使用 etcdctl 来备份 etcd 数据库,所以我 sh 进入在主节点上运行的 etcd pod 从那里执行此操作:kubectl exec -it -n kube-system etcd-ip-x-x-x-x sh

注意:主节点将 etcd 数据库托管在此路径 /var/lib/etcd 中,该数据库作为 VolumeMount 安装在 /var/lib/etcd 中的 pod 上。

按照我运行的文档:ETCDCTL_API=3 etcdctl --endpoints 127.0.0.1:2379 snapshot save snapshotdb 它返回以下错误:

Error:  rpc error: code = 13 desc = transport: write tcp 127.0.0.1:44464->127.0.0.1:2379: write: connection reset by peer

这里有什么问题?

【问题讨论】:

    标签: kubernetes etcd kubeadm


    【解决方案1】:

    我设法将证书信息添加到命令中:

    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
    

    【讨论】:

      【解决方案2】:

      您还可以在 Etcd 正在运行的节点上检查以下行中的 Etcd 配置文件。

      /etc/kubernetes/manifests/etcd.yaml

      在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
      

      您可以像下面的命令一样运行 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
      

      【讨论】:

        猜你喜欢
        • 2017-06-03
        • 2019-11-16
        • 1970-01-01
        • 2023-04-02
        • 2019-11-06
        • 2019-06-04
        • 2020-08-05
        • 2018-01-16
        • 2021-11-05
        相关资源
        最近更新 更多