使用kubeadm初始化kubernetes 1.12.0失败:找不到节点“ xxx”

时间:2018-10-02 15:35:18

标签: docker kubernetes kubeadm

我的环境:

CentOS7 Linux

/ etc / hosts:

192.168.0.106 master01

192.168.0.107 node02

192.168.0.108 node01

在master01机器上:

/ etc / hostname:

master01

在master01机器上,我执行以下命令:

1)yum install docker-ce kubelet kubeadm kubectl

2)systemctl启动docker.service

3)vim / etc / sysconfig / kubelet

编辑文件:

KUBELET_EXTRA_ARGS =“-fail-swap-on = false”

4)systemctl启用docker kubelet

5)kubeadm init --kubernetes-version = v1.12.0 --pod-network-cidr = 10.244.0.0 / 16 servicecidr = 10.96.0.0 / 12 --ignore-preflight-errors = all

之后

第一条错误消息:

无法加载客户端CA文件/etc/kubernetes/pki/ca.crt:打开/etc/kubernetes/pki/ca.crt:没有此类文件或目录

kubelet.go:2236]找不到节点“ master01”

kubelet_node_status.go:70]尝试注册节点master01 10月2日23:32:35 master01 kubelet:E1002 23:32:35.974275 49157

kubelet_node_status.go:92]无法在API服务器上注册节点“ master01”:发布https://192.168.0.106:6443/api/v1/nodes:拨打tcp 192.168.0.106:6443:connect:连接被拒绝

我不知道为什么找不到节点master01?

我尝试了很多方法,但无法解决问题。

谢谢!

2 个答案:

答案 0 :(得分:0)

您的问题也可能是由防火墙规则引起的,将tcp连接限制为6443端口。 因此,您可以在主节点上临时禁用防火墙以验证这一点:

CREATE TRIGGER [InsertDocumentId]
ON [dbo].[Files]
FOR UPDATE
AS
INSERT INTO [Article]
    (Documents)
SELECT
    FileId FROM Files LEFT JOIN Article t on Files.ArticleId = t.ArticleId;
GO

,然后尝试再次执行kubeadm init。 希望对您有所帮助。

答案 1 :(得分:0)

我不确定问题是否总是与防火墙规则有关。

请考虑以下步骤:

1)尝试解决与/etc/kubernetes/pki/ca.crt相关的错误。
在没有kubeadm init的情况下再次运行--ignore-preflight-errors=all,看看是否[certs]阶段中的所有操作都已发生-例如:

[certs] Using certificateDir folder "/etc/kubernetes/pki"
[certs] Generating "ca" certificate and key
[certs] Generating "apiserver" certificate and key
.
.

2)尝试运行重新安装kubeadm或使用其他版本运行kubeadm init(使用--kubernetes-version=X.Y.Z标志)。

3)尝试使用systemctl restart kubelet重新启动kubelet。

4)检查是否需要更新docker版本。

5)打开所需的特定端口(如果您决定停止Firewalld,请记住在解决问题后立即启动它)。