欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 财经 > 产业 > Ubuntu系统的k8s常见的错误和解决的问题

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

2025/8/25 15:17:38 来源:https://blog.csdn.net/weixin_47024018/article/details/139412801  浏览:    关键词: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

版权声明:

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

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

热搜词