当前位置: 首页 > news >正文

Ubuntu系统的k8s常见的错误和解决的问题

K8s配置的时候出现的常见问题

Q1: master节点kubectl get nodes 出现的错误

在这里插入图片描述
或者
在这里插入图片描述

解决方法:


cat <<EOF >> /root/.bashrc
export KUBECONFIG=/etc/kubernetes/admin.conf
EOFsource /root/.bashrc

重新执行 kubectl get nodes
在这里插入图片描述

记得需要查看一下自己的hosts文件
查看自己的 ip, 使用 ifconfig 进行替换相关的地址和自己的主机名
在这里插入图片描述

Q2 master节点拉取镜像失败

修改镜像地址为阿里的,注意每个安装有 kubelet 的节点都需要修改(master节点和worker节点都需要)

# 生成 config.toml 文件,我在解决第3个问题的时候删除了
containerd config default > /etc/containerd/config.toml# 按照官网CRI部分修改如下两个配置
vim /etc/containerd/config.toml[plugins."io.containerd.grpc.v1.cri"]# sandbox_image = "registry.k8s.io/pause:3.6"sandbox_image = "registry.aliyuncs.com/google_containers/pause:3.6"[plugins."io.containerd.grpc.v1.cri".containerd.runtimes.runc.options]SystemdCgroup = true# 然后:wq保存一下# 记得需要重启一下
systemctl restart containerd# 修改crictl.yaml的CRI
cat <<EOF | sudo tee /etc/crictl.yaml
runtime-endpoint: unix:///run/containerd/containerd.sock
EOF

需要修改的地方截图如下:
在这里插入图片描述
在这里插入图片描述

Q3 master节点 kubeadm reset 错误

在这里插入图片描述
解决办法

# 删除/etc/cni/net.d目录
rm /etc/cni/net.d
# 重置ipvsadm表
ipvsadm --clear# 检查$HOME/.kube/config文件的内容

Q4 master节点 kubectl init 拉去镜像失败

在这里插入图片描述

解决办法:

# 指定阿里云镜像去拉去 --kubernetes-version=版本号
kubeadm init --kubernetes-version=v1.28.2 ​--image-repository=registry.aliyuncs.com/google_containers​

Q5 master节点没有证书密钥

在这里插入图片描述

解决办法:
Ubuntu安装golang-cfssl

sudo apt-get update
sudo apt-get install -y golang-cfssl# 如果没有go环境需要执行下面命令先安装 golang
sudo apt-get install -y golang

创建一共ca-config文件:vim ca-config.json

{"signing": {"default": {"expiry": "8760h"},"profiles": {"kubernetes": {"usages": ["signing","key encipherment","server auth","client auth"],"expiry": "8760h"}}}
}

创建CA证书签名请求文件ca-csr.json

{"CN": "Kubernetes","key": {"algo": "rsa","size": 2048},"names": [{"C": "CN","L": "Beijing","O": "k8s","OU": "System"}]
}

生成证书密钥

cfssl gencert -initca ca-csr.json | cfssljson -bare ca

创建一个名为admin-csr.json的文件

{"CN": "admin","hosts": [],"key": {"algo": "rsa","size": 2048},"names": [{"C": "CN","L": "Beijing","O": "system:masters","OU": "Kubernetes The Hard Way"}]
}

然后,使用cfssl生成客户端证书和私钥

cfssl gencert -ca=ca.pem -ca-key=ca-key.pem -config=ca-config.json -profile=kubernetes admin-csr.json | cfssljson -bare admin

最后拷贝文件到 /etc/kubernetes/pki 目录中

sudo cp admin.pem /etc/kubernetes/pki/admin.crt
sudo cp admin-key.pem /etc/kubernetes/pki/admin.key

最后执行kubectl get nodes 就可以正常查看自己的k8s集群了

Q6 kubeadm init 创建失败的问题

在这里插入图片描述

解决办法:

# 创建一共config文件
vim config.yamlexport KUBECONFIG=config.yamlkubeadm init --kubernetes-version=v1.28.2 --image-repository=registry.aliyuncs.com/google_containers

config.yaml文件

apiVersion: v1
clusters:
- cluster:certificate-authority: /etc/kubernetes/pki/ca.crtserver: https://<master-ip>:6443name: kubernetes
contexts:
- context:cluster: kubernetesuser: kubernetes-adminname: kubernetes-admin@kubernetes
current-context: kubernetes-admin@kubernetes
kind: Config
preferences: {}
users:
- name: kubernetes-adminuser:client-certificate: /etc/kubernetes/pki/admin.crtclient-key: /etc/kubernetes/pki/admin.key

Q7 master没有ipvsadm

在这里插入图片描述
解决办法:

# 安装
apt install -y ipset ipvsadm# 随后执行cat > /etc/modules-load.d/kubernetes.conf << EOF
# /etc/modules-load.d/kubernetes.conf
# Linux 网桥支持
br_netfilter
# IPVS 加载均衡器
ip_vs
ip_vs_rr
ip_vs_wrr
ip_vs_sh
# IPv4 连接跟踪
nf_conntrack_ipv4
# IP 表规则
ip_tables
EOF

添加权限

chmod a+x /etc/modules-load.d/kubernetes.conf
http://www.lryc.cn/news/365361.html

相关文章:

  • Scala学习笔记7: 对象
  • 【Linux】进程切换环境变量
  • 嵌入式学习记录6.6(拷贝构造/友元函数/常成员函数)
  • 宝塔 nginx 配置负载均衡 upstream
  • idea 插件推荐
  • 【Linux】Linux环境基础开发工具_5
  • Java Web学习笔记15——DOM对象
  • 中电联系列一:rocket手把手教你理解中电联协议!
  • (面试官问我微服务与naocs的使用我回答了如下,面试官让我回去等通知)微服务拆分与nacos的配置使用
  • 冯喜运:6.7今日黄金原油行情分析及独家操作策略
  • Android 蓝牙概述
  • Python3 笔记:字符串的 find()、rfind()、index()、rindex()
  • 【研发日记】Matlab/Simulink软件优化(二)——通信负载柔性均衡算法
  • Python 设计模式(行为型)
  • 电商API商品数据采集接口||助力电商企业采集商品大数据提高开发效率
  • Day34 事件聚合器实现消息过滤功能
  • 前端 JS 经典:Reflect 本质
  • accelerate 的一个tip:early stopping 处可能存在的bug
  • 企业数据挖掘建模平台极简建模流程
  • 使用pkg打包了一个使用了sqlite3的nodejs项目,启动后闪退
  • 网络编程(UPD和TCP)
  • cesium 之 flyTo、setView、lookat
  • 超速解读多模态InternVL-Chat1.5 ,如何做到开源SOTA——非官方首发核心技巧版(待修订)
  • Vue 组件_动态组件+keep-alive
  • 深入理解Redis:多种操作方式详解
  • stm32太阳能追光储能系统V2
  • Docker笔记-解决非交互式运行python时print不输出的问题
  • 06- 数组的基础知识详细讲解
  • CentOS6系统因目录有隐含i权限属性致下属文件无法删除的故障一例
  • 【视频转码】ZLMediaKit漏洞报告的问题