k8s解决 搭建集群的时候notReady问题

由于k8s安装master一直处于NotReady状态查看日志出现 failed to find plugin “flannel” in path [/opt/cni/bin]

日志信息


1 : [failed to find plugin "flannel" in path [/opt/cni/bin]]
1 W1226 16:19:36.668133   47110 cni.go:237] Unable to update cni config: no valid networks found in /etc/cni/net.d
1 E1226 16:19:36.945778   47110 kubelet.go:2187] Container runtime network not ready: NetworkReady=false reason:NetworkPluginNotReady message:docker: network plugin is not ready: cni config uninitialized
1 W1226 16:19:41.669980   47110 cni.go:202] Error validating CNI config list {

查看 /opt/cni/bin 缺少 flannel 

查看节点状态

kubectl get nodes

查看日志命令

journalctl -u kubelet -f

解决方案

需要下载CNI插件:CNI plugins v0.8.6

github下载地址:https://github.com/containernetworking/plugins/releases/tag/v0.8.6

(在1.0.0版本后CNI Plugins中没有flannel)

下载后通过xftp 上传到Linux /home目录解压

tar zxvf cni-plugins-linux-amd64-v0.8.6.tgz

 复制 flannel 到 /opt/cni/bin/

[root@k8s-node1 home]# cp flannel /opt/cni/bin/

查看节点状态

查看到状态立马变为Ready,至此解决问题。

### 学习 Kubernetes (k8s) 搭建部署与工作原理 #### 安装准备阶段 对于Linux(CentOS7),确保操作系统处于最新状态并拥有稳定版本的内核是非常重要的,较低版本的内核可能导致Docker以及Kubernetes运行不稳定[^1]。为了使环境适配最新的容器技术需求,执行必要的更新操作。 #### 节点组件安装 所有节点上需完成Docker、kubeadm及kubelet的安装过程。这三者构成了Kubernetes集群的基础架构支持[Docker作为容器运行时,kubeadm用于初始化集群,kubelet负责管理节点上的Pod][^1]。 #### Kubeadm配置详解 Kubeadm提供了丰富的选项来定制化创建Kubernetes集群的方式。其配置可以通过命令行参数传递给`kubeadm init`或保存至YAML格式的文件中以便更灵活地处理复杂场景下的设置调整。此类配置最终会被持久化到API Server中的ConfigMap对象里[^2]。 ```yaml apiVersion: kubeadm.k8s.io/v1beta3 kind: InitConfiguration bootstrapTokens: - token: "abcdef.0123456789abcdef" ttl: "24h0m0s" localAPIEndpoint: advertiseAddress: 192.168.0.2 nodeRegistration: name: master-node-name --- apiVersion: kubelet.config.k8s.io/v1beta1 kind: KubeletConfiguration clusterDNS: - 10.96.0.10 ``` 上述是一个简单的`kubeadm config`例子,展示了如何定义引导令牌、本地API端点地址以及其他重要属性。 #### 构建网络平面 当尝试查看节点的状态时可能会遇到"NotReady"的情况;这是因为直到成功设置了像Flannel这样的CNI插件之前,Kubernetes无法认为任何成员已经准备好加入集群服务行列[^3]。 #### 应用程序部署实践 一旦集群建立完毕,则可以考虑将实际的应用程序引入进来测试功能。比如使用Maven工具编译Java项目为JAR包形式,并将其传输至上层服务器环境中去运行。此过程中涉及到了开发流程末端的产品交付环节[^4]。 ```bash mvn clean package scp target/springboot-demo-0.0.1-SNAPSHOT.jar user@your.server:/path/to/deploy/ ``` 以上命令序列完成了从源码构建直至远程主机放置成品软件的动作。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值