【问题标题】:Failed to create a cluster with command kubeadm init使用命令 kubeadm init 创建集群失败
【发布时间】:2018-09-17 04:05:49
【问题描述】:

我正在尝试在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运行,正在运行的容器包括kube-controller-manager-amd64,etcd-amd64,kube-apiserver-amd64, kube-scheduler-amd64,4 个 pause-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

Kubernetes v1.9.3

谁能帮帮我?

【问题讨论】:

    标签: kubernetes


    【解决方案1】:

    kubeadm 初始化 --apiserver-advertise-address=192.168.56.101 --pod-network-cidr=10.244.0.0/16

    来自kubeadm documentation

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

    除非另有说明,kubeadm 使用默认网关的网络 接口来通告主服务器的 IP。如果你想使用不同的 网络接口,指定--apiserver-advertise-address=ip-address

    来自 kubernetes api-server documentation:

    --advertise-address ip-address 向集群成员通告 apiserver 的 IP 地址。这个地址必须 集群的其余部分可以访问。如果为空,则 --bind-address 将会被使用。如果 --bind-address 未指定,则主机的 default 将使用接口

    我已经进行了一些实验,确认有必要将 ip-address 配置(或添加为辅助 IP)到主实例接口之一。 只需仔细检查该接口是否已启动。

    最后一条错误信息,

    网络插件未准备好:cni config uninitialized

    表示 kubernetes 网络子系统不存在或损坏。尝试使用

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

    这部分在您提到的document 中的“(3/4)安装 pod 网络”部分中进行了描述。

    如果您遇到问题,请尝试按照this 手册重新安装您的集群。

    【讨论】:

    • 我已经检查了接口,它已经启动并工作了,我通过这个IP地址登录主机。
    • 谢谢,我试试看。
    猜你喜欢
    • 2020-03-16
    • 2019-09-01
    • 2019-05-23
    • 2020-08-15
    • 2021-08-08
    • 2018-06-30
    • 2017-06-03
    • 1970-01-01
    • 2021-05-14
    相关资源
    最近更新 更多