如何使用kubeadm创建kubernetes集群?

sop*_*ope 2 kubernetes kubeadm

我使用kubeadm初始化k8s集群主机,但我感到非常困惑.kubeadm的版本:

# ./kubeadm version
kubeadm version: version.Info{Major:"1", Minor:"5", GitVersion:"v1.5.1", GitCommit:"82450d03cb057bab0950214ef122b67c83fb11df", GitTreeState:"clean", BuildDate:"2016-12-14T00:52:01Z", GoVersion:"go1.7.4", Compiler:"gc", Platform:"linux/amd64"}
Run Code Online (Sandbox Code Playgroud)

当我运行命令时kubeadm init,告诉我必须启动kubelet.service:

# ./kubeadm init
Running pre-flight checks
preflight check errors:
    kubelet service is not active, please run 'systemctl start kubelet.service'
Run Code Online (Sandbox Code Playgroud)

然后当我重试这个命令后systemctl restart kubelet.service,告诉我Port 10250 in use:

# systemctl restart kubelet.service
# ./kubeadm init
Running pre-flight checks
preflight check errors:
    Port 10250 is in use
    /var/lib/kubelet is not empty
Run Code Online (Sandbox Code Playgroud)

有没有办法在没有端口的情况下运行kubelet或者我可以更改kubelet的端口吗?

小智 11

它提到端口正在使用的原因是因为你已经运行kubeadm init过一次并且它已经改变了很多东西.

kubeadm reset首先运行以从第一次运行它时撤消所有更改.

然后跑 systemctl restart kubelet

最后,当你运行时,kubeadm init你应该不再得到错误.

每当kubeadm执行不正确或失败的操作时,都需要重置才能再次正常工作.


Has*_*tha 6

我也有同样的问题。

error execution phase preflight: [preflight] Some fatal errors occurred:
    [ERROR Port-10251]: Port 10251 is in use
    [ERROR Port-10252]: Port 10252 is in use
    [ERROR Port-10250]: Port 10250 is in use
    [ERROR Port-2380]: Port 2380 is in use
Run Code Online (Sandbox Code Playgroud)

然后我注意到有另一个进程正在运行“ microk8s ”,一旦我停止它,我就可以启动 kubeadm

sudo microk8s.stop
Run Code Online (Sandbox Code Playgroud)


小智 5

检查使用端口 10250 的进程,

sudo netstat -lnp | grep 10250
Run Code Online (Sandbox Code Playgroud)

使用杀死进程

sudo kill Process_PID
Run Code Online (Sandbox Code Playgroud)

然后运行kubeadm init