您的位置:首页 > 科技 > IT业 > k8s集群如kubeadm init和kube-flannel.yam问题

k8s集群如kubeadm init和kube-flannel.yam问题

2024/12/23 10:49:12 来源:https://blog.csdn.net/m0_72363694/article/details/140244180  浏览:    关键词:k8s集群如kubeadm init和kube-flannel.yam问题

查看k8s中角色内容kubectl get all (显示pod和server以及delment) 删除应用资源选择删除先删除部署查看部署和pod没了服务还在,但资源和功能以及删除,删除服务kubectl delete 服务名(部署名),get pods 获取默认空间的容器 get all 获取pod和server以及部署以及动态扩容

将创建部署定位到文件create d  --dry-run -o yaml 输出yaml格式的部署指令信息里面有部署的模板信息如空间,副本个数、规格等信息通过apply -f 一次性部署所有内容包括部署信,服务等不用每次写指令执行,而是一次准备。

文件的格式可以通过指令+--dry-run -o yaml生成一个当前指令模板然后把这些汇总到一个文件,如创建部署是一个指令生成一部分,然后暴露服务指令生成一部分。

kubeadm init --config kubeadm-init.yaml

如果执行失败了怎么办?

kubeadm reset

rm -fr ~/.kube/ /etc/kubernetes/* /var/lib/etcd/*

执行后,重新进行(init)!!!

搭建集群环境有效可用参考地址centos安装k8s集群(kubeadm方式)_centos kubeadm-CSDN博客

kubeadm init 初始化报错问题 按照提示查看日志journalctl -u kubelet 提示主机找不到因为填写的服务ip地址不正确去kubelet的配置文件中修改服务地址为自己主机ip

初始化完成后继续遇到为主机安转网络kube-fannel.yam 由于网络问题一直装不上到麻烦。

kubectl apply -f https://raw.githubusercontent.com/flannel-io/flannel/master/Documentation/kube-flannel.yml

该地址是有效可用的,但使用的是docker的地址所以将其中的依赖的三个镜像文件名改成阿里云的镜像,完成下载,这是最快捷的,担我没有去找阿里镜像,而是保持文件不动,下载docker官网的镜像名导入到docker,如果镜像名不符合文件中的就会从网络拉取,主节点成功拉去从节点也同步到,到主节点失败,当前主从两个节点kubectl get pods -A 查看所有节点上的pod 有两个容器拉取失败

 解决:其他地方下载镜像,将镜像docker save in.tar 镜像ID 打包上传然后导入 docker load< name.tar 这时是空名和tag 使用docker tag  镜像ID  name:tag 

哪怕不是文件中docker的官方镜像只要重命名镜像功能可用就直接使用,这时是在主节点上应用成功,到从节点同步时任然无网络拉取超时,同样去安装网络插件

kubectl get nodes 查看是否功能可用如果主节点安转网络成功这该节点read,直到所有节点可读。

k8s入坑之报错解决The connection to the server localhost:8080 was refused - did you specify the right host or port?'k8s入坑之报错解决

问题:

原因:

环境变量
原因:kubernetes master没有与本机绑定,集群初始化的时候没有绑定,此时设置在本机的环境变量即可解决问题。

kubectl命令需要使用kubernetes-admin来运行,需要admin.conf文件(conf文件是通过“ kubeadmin init”命令在主节点/etc/kubernetes 中创建),但是从节点没有conf文件,也没有设置 KUBECONFIG =/root/admin.conf环境变量,所以需要复制conf文件到从节点,并设置环境变量就OK了

解决

主节点的admin.conf拷贝到从节点,设置环境变量

Master节点执行

scp /etc/kubernetes/admin.conf root@node01:/etc/kubernetes/admin.conf
scp /etc/kubernetes/admin.conf root@node01:/etc/kubernetes/admin.conf   

Node节点执行:

#admin.conf注意路径
echo "export KUBECONFIG=/etc/kubernetes/admin.conf" >> ~/.bash_profile
source ~/.bash_profile
另外一个报错可以通过以下操作解决,问题博客链接:k8s入坑之报错(6)解决error: no configuration has been provided, try setting KUBERNETES_MASTER environment variable

主节点的admin.conf拷贝到从节点,设置环境变量
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
或者
#拷贝admin.conf注意路径
echo "export KUBECONFIG=/etc/kubernetes/admin.conf" >> ~/.bash_profile
source ~/.bash_profile
最后运行测试, 发现不报错了

[root@k8s-master01-15 ~]# kubectl get node
NAME               STATUS     ROLES    AGE   VERSION
k8s-master01-15    NotReady   master   20m   v1.18.6
k8s-node01-16      NotReady   <none>   19m   v1.18.6
k8s-no
 

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com