Ubuntu 20.4安装Kubernetes报错:localhost:8080连接被拒绝
解决kubectl连接失败且无admin.conf文件的问题
你没有admin.conf文件的核心原因是未完成Kubernetes集群初始化。admin.conf是执行kubeadm init初始化集群后才会生成的配置文件,当前仅安装了Kubernetes组件,还未完成集群搭建的关键步骤。
具体解决步骤:
初始化Kubernetes集群
执行以下命令初始化集群(以常用的Calico网络插件为例,指定Pod网络CIDR为192.168.0.0/16,可根据实际环境调整):sudo kubeadm init --pod-network-cidr=192.168.0.0/16命令执行成功后,终端会输出包含
admin.conf复制指引的提示,此时/etc/kubernetes/admin.conf文件会自动生成。配置kubectl用户权限
集群初始化完成后,执行以下命令将集群配置文件同步到用户目录:mkdir -p $HOME/.kube sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config sudo chown $(id -u):$(id -g) $HOME/.kube/config安装Pod网络插件
集群初始化后必须安装网络插件才能实现Pod间通信,以Calico为例:kubectl apply -f https://docs.projectcalico.org/manifests/calico.yaml验证集群状态
等待2-3分钟后,执行以下命令检查节点状态:kubectl get nodes当节点状态变为
Ready时,集群初始化完成。
额外适配说明:
- 若为单节点测试集群,可允许控制平面节点调度Pod:
kubectl taint nodes --all node-role.kubernetes.io/control-plane- - 若初始化时遇到Docker与Kubernetes cgroup驱动不一致的报错,可修改Docker配置文件
/etc/docker/daemon.json:
然后重启相关服务:{ "exec-opts": ["native.cgroupdriver=systemd"] }sudo systemctl daemon-reload sudo systemctl restart docker sudo systemctl restart kubelet
内容的提问来源于stack exchange,提问作者Europa
相关产品推荐
相关产品推荐

