当前位置: 首页 > 知识库问答 >
问题:

“kubeadm init”在设置高可用性集群时失败

秦鸿羽
2023-03-14

我尝试为库伯内特斯设置一个haproxd的多主节点设置,如[1]中所述。我的网络配置是:

  • haproc=192.168.1.213
  • master 0|1|2=192.168.1.210|211|212
  • worker0|1|2=192.168.1.220|221|222(此时不感兴趣)

所有主机都能够相互连接(DNS针对每个节点进行解析)。每个节点都运行 Ubuntu 18.04.3 (LTS)。泊坞窗安装为

    < li>docker.io/bionic-updates,bionic-security,现为18 . 09 . 7-0 Ubuntu 1 ~ 18 . 04 . 4 amd64[已安装]

库伯内特斯目前安装的软件包有

    < li>kubeadm/kubernetes-xenial,现在是1 . 16 . 3-00 amd64[已安装] < li>kubectl/kubernetes-xenial,现在是1 . 16 . 3-00 amd64[已安装] < li>kubelet/kubernetes-xenial,现在为1 . 16 . 3-00 amd64[已安装,自动] < Li > kubernetes-CNI/kubernetes-xenial,现在是0 . 7 . 5-00 amd64[已安装,自动]

使用[2]中所述的附加存储库(我知道我已经在我的虚拟机上安装了仿生,但可用的“最新”存储库仍然是xenial)。

我的haproxy安装为< code>haproxy/bionic,现在是2 . 0 . 9-1 PPA 1 ~ bionic amd64[installed]来自[3]资源库。

global
    log /dev/log        local0
    log /dev/log        local1 notice
    chroot /var/lib/haproxy
    stats socket /run/haproxy/admin.sock mode 660 level admin expose-fd listeners
    stats timeout 30s
    user haproxy
    group haproxy
    daemon

defaults
    log global
    mode http
    retries 2
    timeout connect 3000ms
    timeout client  5000ms
    timeout server  5000ms

frontend kubernetes
    bind        *:6443
    option      tcplog
    mode        tcp
    default_backend kubernetes-master-nodes

backend kubernetes-master-nodes
    mode    tcp
    balance roundrobin
    option  tcp-check
    server  master0 192.168.1.210:6443 check fall 3 rise 2
    server  master1 192.168.1.211:6443 check fall 3 rise 2
    server  master2 192.168.1.212:6443 check fall 3 rise 2

在尝试设置我的第一个控制平面时,运行 kubeadm 初始化 --控制平面-endpoint “haproxy.my.lan:6443” --上传证书 -v=6 如 [4] 中所述,导致以下错误:

Error writing Crisocket information for the control-plane node

完全登录 [5]。如果我的 haproxy 配置中存在错误,或者如果 Docker 或 kubernetes 本身可能存在一些故障,我会感到非常迷茫。

我的 /etc/docker/守护进程.json 看起来像这样:

{
  "exec-opts": ["native.cgroupdriver=systemd"],
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "100m"
  },
  "storage-driver": "overlay2"
}
    < Li >[1]https://kubernetes . io/docs/setup/production-environment/tools/kube ADM/high-avail ability/ < Li >[2]https://kubernetes . io/docs/tasks/tools/install-ku bectl/# install-using-native-package-management < Li >[3]https://launchpad.net/~vbernat/档案/ubuntu/haproxy-2.0 < Li >[4]https://kubernetes . io/docs/setup/production-environment/tools/kube ADM/high-avail ability/# stacked-control-plane-and-etcd-nodes <李>[5]

共有1个答案

章宏恺
2023-03-14

虽然无法找到一个像样的解决方案,并在github上的原始“kubeadm”项目中产生了一个问题,但请参见此处:https://github.com/kubernetes/kubeadm/issues/1930。

因为这个问题中建议的“分类”对我来说是不可行的(Ubuntu基本上是“设置好的”),所以我最后设置了另一个Docker发行版,如下所述:https://docs.docker.com/install/linux/docker-ce/ubuntu/,在开始新的设置之前清除已html" target="_blank">安装的发行版。

通过kubeadm<code>v1.16.3</code>运行Docker(Community)<code>v19.03.5</code>时,会引发以下警告:

[WARNING SystemVerification]: this Docker version is not on the list of validated versions: 19.03.5. Latest validated version: 18.09

结果非常好,我设法设置了我的ha集群,如原始留档中所述。

所以,这可以被认为是一种解决方法,而不是我最初问题的解决方案!

 类似资料:
  • 本文档提供一个可扩展、高可用的 Seafile 集群架构。这种架构主要是面向较大规模的集群环境,可以通过增加更多的服务器来提升服务性能。如果您只需要高可用特性,请参考3节点高可用集群文档。 架构" class="reference-link"> 架构 Seafile集群方案采用了3层架构: 负载均衡层:将接入的流量分配到 seafile 服务器上。并且可以通过部署多个负载均衡器来实现高可用。 Se

  • 我正在使用kubeadm在VM中创建Kubernetes集群(我在VM中使用的映像是CentOS 7 CIS Hardened)。 我正在遵循这个用Kubeadm创建高可用性集群的官方文档 到目前为止我已经完成的步骤: 将这些值更改为1而不是0 回声 1 禁用交换:swapoff-a sed-e'/swapoff/s/^#*/#/' -i /etc/fstab挂载-a 这样做之后,我创建了一个名为

  • 本文档介绍用 3 台服务器构建 Seafile 高可用集群的架构。这里介绍的架构仅能实现“服务高可用”,而不能支持通过扩展更多的节点来提升服务性能。如果您需要“可扩展 + 高可用”的方案,请参考Seafile 可扩展集群文档。 在这种高可用架构中包含3个主要的系统部件: Seafile 服务器:提供 Seafile 服务的软件 MariaDB 数据库集群:保存小部分的 Seafile 元数据,比如

  • 在每个 HAproxy 节点上安装和配置 keepalived 来实现浮动 IP 地址。 CentOS 7: yum install keepalived 假设配置了两个 HAproxy 节点:node1、node2 在node1上修改 keepalived 配置文件(/etc/keepalived/keepalived.conf),写入如下内容: ! Configuration File for

  • kuberntes 系统使用 etcd 存储所有数据,本文档介绍部署一个三节点高可用 etcd 集群的步骤,这三个节点复用 kubernetes master 机器,分别命名为etcd-host0、etcd-host1、etcd-host2: etcd-host0:10.64.3.7 etcd-host1:10.64.3.8 etcd-host2:10.66.3.86 使用的变量 本文档用到的变量

  • kuberntes 系统使用 etcd 存储所有数据,本文档介绍部署一个三节点高可用 etcd 集群的步骤,这三个节点复用 kubernetes master 机器,分别命名为test-001.jimmysong.io、test-002.jimmysong.io、test-003.jimmysong.io: test-001.jimmysong.io:172.20.0.113 test-002.j