[root@k8s-master01 ~]# kubeadm init --config config.yaml
[init] Using Kubernetes version: v1.10.0
[init] Using Authorization modes: [Node RBAC]
[preflight] Running pre-flight checks.
[preflight] Some fatal errors occurred:
[ERROR Port-6443]: Port 6443 is in use
[ERROR Port-10250]: Port 10250 is in use
[ERROR Port-10251]: Port 10251 is in use
[ERROR Port-10252]: Port 10252 is in use
[ERROR FileAvailable--etc-kubernetes-manifests-kube-apiserver.yaml]: /etc/kubernetes/manifests/kube-apiserver.yaml already exists
[ERROR FileAvailable--etc-kubernetes-manifests-kube-controller-manager.yaml]: /etc/kubernetes/manifests/kube-controller-manager.yaml already exists
[ERROR FileAvailable--etc-kubernetes-manifests-kube-scheduler.yaml]: /etc/kubernetes/manifests/kube-scheduler.yaml already exists
[preflight] If you know what you are doing, you can make a check non-fatal with `--ignore-preflight-errors=...`
解决方案:发现杀死进程都没有用,最终重启一下kubeadm就可以了,如下:
[root@k8s-master01 ~]# kubeadm reset
配置kubectl工具
需要这些配置命令的原因是:Kubernetes 集群默认需要加密方式访问。所以,这几条命令,就是 将刚刚部署生成的 Kubernetes 集群的安全配置文件,保存到当前用户的.kube 目录下,kubectl 默 认会使用这个目录下的授权信息访问 Kubernetes 集群。 如果不这么做的话,我们每次都需要通过 export KUBECONFIG 环境变量告诉 kubectl 这个安全配 置文件的位置。 [root@centos7vm ~]# mkdir -p $HOME/.kube [root@centos7vm ~]# cp -i /etc/kubernetes/admin.conf $HOME/.kube/config [root@centos7vm ~]# chown $(id -u):$(id -g) $HOME/.kube/config [root@centos7vm ~]# kubectl get nodes NAME STATUS ROLES AGE VERSION centos7vm NotReady master 28m v1.14.1 如果没有执行上面的命令,在执行kubectl get nodes会报如下的错误 [root@centos7vm ~]# kubectl get nodes The connection to the server localhost:8080 was refused - did you specify the right host or port?