美文网首页
centos7安装Kubernetes

centos7安装Kubernetes

作者: engineer_tang | 来源:发表于2022-10-17 22:20 被阅读0次

1. kubeadm安装

1.1 配置yum源

cat <<EOF > /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
enabled=1
gpgcheck=0
repo_gpgcheck=0
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg
https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF

1.2 安装kubeadm、kubelet、kubectl

yum install -y kubelet kubeadm kubectl --disableexcludes=kubernetes

特定版本

yum install -y kubelet-1.23.6 kubeadm-1.23.6 kubectl-1.23.6

1.3 启动kubelet服务

systemctl start kubelet

systemctl enable kubelet

1.4 关闭swap系统交换区

swapoff -a

2. 修改kubeadm默认配置

# 输出kubeadm init命令默认参数内容
kubeadm config print init-defaults

# 输出kubeadm join命令默认参数内容
kubeadm config print join-defaults

#在新旧版本之间进行配置转换
kubeadm config migrate

#列出所需的镜像列表
kubeadm config images list

#拉取镜像到本地
kubeadm config images pull

kubeadm config print init-defaults > init.default.yaml

3. 初始化kubernetes

3.1 拉取镜像

kubeadm init --kubernetes-version=1.25.0 \
--apiserver-advertise-address=192.168.31.130 \
--image-repository registry.aliyuncs.com/google_containers \
--service-cidr=10.1.0.0/16 \
--pod-network-cidr=10.244.0.0/16

3.2 报错: Error getting node“ err=“node

如果安装的kubelet kubeadm kubectl
是V1.24就会出现以上错误,安装的时候指定一下1.23版本,就可以解决了:yum install -y kubelet-1.23.6 kubeadm-1.23.6 kubectl-1.23.6

3.3 报错: [ERROR CRI]: container runtime is not running:

rm -rf /etc/containerd/config.toml
systemctl restart containerd

3.3 初始化中途失败

kubeadm reset

3.4 配置docker

进入/etc/docker/daemon.json文件,修改配置内容

vim /etc/docker/daemon.json

加入如下内容

"exec-opts": ["native.cgroupdriver=systemd"]

然后使其生效

sudo systemctl daemon-reload && sudo systemctl restart docker

3.5 报错:The connection to the server localhost:8080 was refused 导出环境变量

vim /etc/profile

#最后一行加上
export KUBECONFIG=/etc/kubernetes/admin.conf

# 使变量生效
source /etc/profile

4. 安装新的Node加入集群

4.1 安装kubeadm和kubelet

yum install -y kubelet-1.23.6 kubeadm-1.23.6 kubectl-1.23.6 --disableexcludes=kubernetes

4.2 启动kubelet服务

systemctl start kubelet

systemctl enable kubelet

4.3 配置docker

进入/etc/docker/daemon.json文件,修改配置内容

vim /etc/docker/daemon.json

加入如下内容

"exec-opts": ["native.cgroupdriver=systemd"]

然后使其生效

sudo systemctl daemon-reload && sudo systemctl restart docker

4.4 加入集群

kubeadm join 192.168.31.130:6443 --token spf92b.51the9cry2lmyguj \
    --discovery-token-ca-cert-hash sha256:bf8d6603be81276b70f7d91b39e9434568ea11655ef5143a5af940aaabe222b0

5. 安装CNI网络插件

kubectl apply -f "https://docs.projectcalico.org/manifests/calico.yaml"

5.1 报错:open /run/flannel/subnet.env: no such file or directory

每个节点都配置该文件
vim /run/flannel/subnet.env

FLANNEL_NETWORK=10.244.0.0/16
FLANNEL_SUBNET=10.244.0.1/24
FLANNEL_MTU=1450
FLANNEL_IPMASQ=true

5.2 报错:hostPath type check failed:is not a directory

更改路径或者 type: Directory 改为 type: DirectoryOrCreate

参考:https://blog.csdn.net/weixin_43144516/article/details/118445728
参考:https://blog.csdn.net/weixin_47049334/article/details/126341792
参考:https://www.jianshu.com/p/a4ec985977c2
参考:https://blog.csdn.net/qq_26545503/article/details/123183184
参考:https://blog.csdn.net/qq_26545503/article/details/123183184

相关文章

网友评论

      本文标题:centos7安装Kubernetes

      本文链接:https://www.haomeiwen.com/subject/gnvszrtx.html