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

使用命令kubeadm init创建集群失败

魏澄邈
2023-03-14

我打算在 debian 9.3 上安装 kubenetes,我按照本文档中的说明 https://kubernetes.io/docs/setup/independent/install-kubeadm/,它未能创建带有超时错误的集群,我使用的命令如下:

export HTTP_PROXY=http://192.168.56.1:1080  # this is my internet proxy
export HTTPS_PROXY=http://192.168.56.1:1080
export NO_PROXY=127.0.0.1,192.168.56.*,10.244.*,10.96.*
kubeadm init --apiserver-advertise-address=192.168.56.101 --pod-network-cidr=10.244.0.0/16 

最后一个命令挂断1小时并超时失败,我发现命令docker ps已经运行了几个容器,正在运行的容器包括库贝-Controlor-manager-amd64、etcd-amd64、库贝-apiserver-amd64、库贝-调度-amd64、4个暂停-amd64实例。

错误消息如下

duler-debvm01_kube-system(660259102d57385a8043d025ac189c87)": Get https://192.168.56.101:6443/api/v1/namespaces/kube-system/pods/kube-scheduler-debvm01: net/http: TLS handshake timeout
Apr 06 21:44:49 DebVM01 kubelet[10665]: E0406 21:44:49.923017   10665 reflector.go:205] k8s.io/kubernetes/pkg/kubelet/kubelet.go:474: Failed to list *v1.Node: Get https://192.168.56.101:6443/api/v1/nodes?fieldSelector=metadata.name%3Ddebvm01&limit=500&resourceVersion=0: net/http: TLS handshake timeout
Apr 06 21:44:49 DebVM01 kubelet[10665]: E0406 21:44:49.924966   10665 reflector.go:205] k8s.io/kubernetes/pkg/kubelet/kubelet.go:465: Failed to list *v1.Service: Get https://192.168.56.101:6443/api/v1/services?limit=500&resourceVersion=0: net/http: TLS handshake timeout
Apr 06 21:44:49 DebVM01 kubelet[10665]: E0406 21:44:49.925892   10665 reflector.go:205] k8s.io/kubernetes/pkg/kubelet/config/apiserver.go:47: Failed to list *v1.Pod: Get xxx/api/v1/pods?fieldSelector=spec.nodeName%3Ddebvm01&limit=500&resourceVersion=0: net/http: TLS handshake timeout
Apr 06 21:44:50 DebVM01 kubelet[10665]: E0406 21:44:50.029333   10665 eviction_manager.go:238] eviction manager: unexpected err: failed to get node info: node "debvm01" not found
Apr 06 21:44:50 DebVM01 kubelet[10665]: E0406 21:44:50.379543   10665 kubelet_node_status.go:106] Unable to register node "debvm01" with API server: Post xxx: net/http: TLS handshake timeout
Apr 06 21:44:52 DebVM01 kubelet[10665]: E0406 21:44:52.575452   10665 event.go:209] Unable to write event: 'Post xxxx: net/http: TLS handshake timeout' (may retry after sleeping)
Apr 06 21:44:57 DebVM01 kubelet[10665]: I0406 21:44:57.380498   10665 kubelet_node_status.go:273] Setting node annotation to enable volume controller attach/detach
Apr 06 21:44:57 DebVM01 kubelet[10665]: I0406 21:44:57.430059   10665 kubelet_node_status.go:82] Attempting to register node debvm01
Apr 06 21:45:00 DebVM01 kubelet[10665]: E0406 21:45:00.030635   10665 eviction_manager.go:238] eviction manager: unexpected err: failed to get node info: node "debvm01" not found
Apr 06 21:45:01 DebVM01 kubelet[10665]: I0406 21:45:01.484580   10665 kubelet_node_status.go:85] Successfully registered node debvm01

上面的错误消息已经被处理并消除了很多重复的行,如下所示:

Apr 06 22:46:20 DebVM01 kubelet[10665]: E0406 22:46:20.773690   10665 kubelet.go:2104] Container runtime network not ready: NetworkReady=false reason:NetworkPluginNotReady message:docker: network plugin is not ready: cni config uninitialized
Apr 06 22:46:25 DebVM01 kubelet[10665]: W0406 22:46:25.779141   10665 cni.go:171] Unable to update cni config: No networks found in /etc/cni/net.d

库伯内特斯v1.9.3

任何人都可以帮我吗?

共有1个答案

赖诚
2023-03-14

192.168.56.101pod-network-cidr=10.244.0.0/16

来自kubeadm文档:

-API Server-advertise-address ip-address API服务器将公布其正在侦听的IP地址。指定“0.0.0.0”以使用默认网络接口的地址。

除非另有说明,否则 kubeadm 使用默认网关的网络接口来通告主站的 IP。如果要使用其他网络接口,请指定 --api 服务器-通告-地址=IP-地址

来自kubernetes api-server文档:

- advertise-address ip-address向集群成员通告apiserver的ip地址。该地址必须可以被集群的其他成员访问。如果为空,将使用- bind-address。如果未指定- bind-address,将使用主机的默认接口。

我做了几个实验,证实有必要将< code>ip-address配置(或作为辅助ip添加)到主实例接口之一。只需仔细检查接口是否打开。

最后一条错误消息

网络插件未准备好:cni配置未初始化

表示 kubernetes 网络子系统不存在或损坏。尝试使用 安装/重新安装它

kubectl apply -f https://docs.projectcalico.org/v3.0/getting-started/kubernetes/installation/hosted/kubeadm/1.7/calico.yaml  

您提到的文档中的“(3/4)安装pod网络”部分描述了这一部分。

如果您被卡住了,请尝试按照本手册重新安装群集。

 类似资料:
  • 我试图使用以下命令创建一个新表: 我指定了我想要的主键,我只使用主键进行了聚类顺序,但它仍然get and error。我怎么解决这个?

  • 我有一个编织网络插件。 我的wave pod正在运行,dns pod也在运行,但是当我想像一个简单的nginx一样运行pod时,wich会拉一个nginx图像pod卡在容器创建中,描述pod给我错误,创建pod沙箱失败。 当我运行journalctl-u kubelet时,我得到以下错误 我的网络插件配置不好吗? 在这不起作用之后,我也尝试了这个命令 我甚至试过法兰绒,这给了我同样的错误。我给ku

  • OrientDB中的集群是一个重要的概念,用于存储记录,文档或顶点。 简而言之,群集是存储一组记录的地方。 默认情况下,OrientDB将为每个类创建一个群集。 一个类的所有记录都存储在同一个簇中,它与该类名称相同。最多可以在数据库中创建个群集。 是用于创建具有特定名称的集群的命令。 创建群集后,可以使用群集通过在创建任何数据模型期间指定名称来保存记录。 如果要将新群集添加到类中,请使用命令和命令

  • 创建 Swarm 集群 阅读 基本概念 一节我们知道 Swarm 集群由 管理节点 和 工作节点 组成。本节我们来创建一个包含一个管理节点和两个工作节点的最小 Swarm 集群。 初始化集群 在 Docker Machine 一节中我们了解到 Docker Machine 可以在数秒内创建一个虚拟的 Docker 主机,下面我们使用它来创建三个 Docker 主机,并加入到集群中。 我们首先创建一

  • 使用 ceph-deploy 的第一步就是新建一个集群,新集群具备: 一个 Ceph 配置文件,以及 一个监视器密钥环。 Ceph 配置文件至少要包含: 它自己的文件系统 ID ( fsid ) 最初的监视器(们)及其主机名(们),以及 最初的监视器及其 IP 地址。 详情见监视器配置参考。 ceph-deploy 工具也创建了一个监视器密钥环并置于 [mon.] 内,详情见 Cephx 手册。

  • 全球四套部署区域: 区域 地址 endpoint 金山云北京6区 https://cnbj6.cloud.mi.com http://cnbj2.emr.api.xiaomi.com AWS新加坡 https://sg.cloud.mi.com http://awssgp0.emr.api.xiaomi.com AWS俄勒冈 https://us.cloud.mi.com http://awsus