微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Kubernetes 升级计划命令失败,因为 etcd 集群无法使用维护客户端拨打端点 https://192.168.5.12:2379

如何解决Kubernetes 升级计划命令失败,因为 etcd 集群无法使用维护客户端拨打端点 https://192.168.5.12:2379

我在虚拟机 VM 上使用 Kubeadm 创建了一个 Kubernetes 集群。我正在尝试从 v1.18.0 升级到 v1.20.5。但我只是为了获得升级计划而遇到问题。该问题与 etcd 有关。解释如下。

集群:

  • 2 个主节点
  • 2 个子节点
  • 两个主节点中的 2 个 ETCD 成员
  • 1 个负载均衡器

ETCD成员名单 集群运行状况良好。

ID STATUS NAME 对等地址 客户地址
71e6a7dee81f2d25 开始 master-2 https://192.168.5.12:2380 https://192.168.5.12:2379
c0f09c2e98e39311 开始 master-1 https://192.168.5.11:2380 https://192.168.5.11:2379

节点

姓名 STATUS 角色 年龄 版本 INTERNAL-IP
master-1 准备好 master 10h v1.18.0 192.168.5.11
master-2 准备好 master 10h v1.18.0 192.168.5.12
worker-1 准备好 10h v1.18.0 192.168.5.21
worker-2 准备好 10h v1.18.0 192.168.5.22

问题

当我尝试使用 'kubeadm upgrade plan' 获取升级计划时,出现以下错误

错误

**Command**
kubeadm upgrade plan
**I0405 08:35:19.395064    8137 etcd.go:512] Failed to get etcd status for https://192.168.5.12:2379: Failed to dial endpoint https://192.168.5.12:2379 with maintenance client: context deadline exceeded**

正在检查连接 Master-1

Connection to 192.168.5.11 2379 port [tcp/*] succeeded!
Connection to 192.168.5.12 2379 port [tcp/*] succeeded!

Master-2

Connection to 192.168.5.11 2379 port [tcp/*] succeeded!
Connection to 192.168.5.12 2379 port [tcp/*] succeeded!

ETCD Member 1 主节点定义:192.168.5.11

apiVersion: v1
kind: Pod
Metadata:
  annotations:
    kubeadm.kubernetes.io/etcd.advertise-client-urls: https://192.168.5.11:2379
  creationTimestamp: null
  labels:
    component: etcd
    tier: control-plane
  name: etcd
  namespace: kube-system
spec:
  containers:
  - command:
    - etcd
    - --advertise-client-urls=https://192.168.5.11:2379
    - --cert-file=/etc/kubernetes/pki/etcd/server.crt
    - --client-cert-auth=true
    - --data-dir=/var/lib/etcd
    - --initial-advertise-peer-urls=https://192.168.5.11:2380
    - --initial-cluster=master-1=https://192.168.5.11:2380,master-2=https://192.168.5.12:2380
    - --key-file=/etc/kubernetes/pki/etcd/server.key
    - --listen-client-urls=https://127.0.0.1:2379,https://192.168.5.11:2379
    - --listen-metrics-urls=http://127.0.0.1:2381
    - --listen-peer-urls=https://192.168.5.11:2380
    - --name=master-1
    - --peer-cert-file=/etc/kubernetes/pki/etcd/peer.crt
    - --peer-client-cert-auth=true
    - --peer-key-file=/etc/kubernetes/pki/etcd/peer.key
    - --peer-trusted-ca-file=/etc/kubernetes/pki/etcd/ca.crt
    - --snapshot-count=10000
    - --trusted-ca-file=/etc/kubernetes/pki/etcd/ca.crt
    image: k8s.gcr.io/etcd:3.4.3-0

ETCD Member 2 主节点定义:192.168.5.12

apiVersion: v1
kind: Pod
Metadata:
  annotations:
    kubeadm.kubernetes.io/etcd.advertise-client-urls: https://192.168.5.12:2379
  creationTimestamp: null
  labels:
    component: etcd
    tier: control-plane
  name: etcd
  namespace: kube-system
spec:
  containers:
  - command:
    - etcd
    - --advertise-client-urls=https://192.168.5.12:2379
    - --cert-file=/etc/kubernetes/pki/etcd/server.crt
    - --client-cert-auth=true
    - --data-dir=/var/lib/etcd
    - --initial-advertise-peer-urls=https://192.168.5.12:2380
    - --initial-cluster=master-2=https://192.168.5.12:2380,master-1=https://192.168.5.11:2380
    - --initial-cluster-state=existing
    - --key-file=/etc/kubernetes/pki/etcd/server.key
    - --listen-client-urls=https://127.0.0.1:2379,https://192.168.5.12:2379
    - --listen-metrics-urls=http://127.0.0.1:2381
    - --listen-peer-urls=https://192.168.5.12:2380
    - --name=master-2
    - --peer-cert-file=/etc/kubernetes/pki/etcd/peer.crt
    - --peer-client-cert-auth=true
    - --peer-key-file=/etc/kubernetes/pki/etcd/peer.key
    - --peer-trusted-ca-file=/etc/kubernetes/pki/etcd/ca.crt
    - --snapshot-count=10000
    - --trusted-ca-file=/etc/kubernetes/pki/etcd/ca.crt
    image: k8s.gcr.io/etcd:3.4.3-0

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。