centos部署k8s v1.33版本

centos部署k8s v1.33版本

1、设置主机名称

复制代码
hostnamectl set-hostname mast01
hostnamectl set-hostname node01

2、升级内核版本

3、环境设置

复制代码
# 关闭防火墙
systemctl stop firewalld
systemctl disable firewalld

# 关闭selinux
setenforce 0
sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config

# 关闭 swap
swapoff -a
sed -i '/swap/s/^$.*$$/#\1/g' /etc/fstab

# 加载内核模块
modprobe br_netfilter
modprobe overlay
echo "overlay" >> /etc/modules-load.d/overlay.conf
echo "br_netfilter" >> /etc/modules-load.d/br_netfilter.conf

# 优化内核参数
cat <<EOF > /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1
vm.swappiness = 0
EOF
sysctl --system

4、安装容器运行时

bash 复制代码
yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum install -y containerd.io

5、配置容器运行时

bash 复制代码
# 生成默认配置文件
containerd config default | sudo tee /etc/containerd/config.toml
# 修改配置文件:启用systemd cgroup驱动
sed -i 's/SystemdCgroup = false/SystemdCgroup = true/' /etc/containerd/config.toml
# 修改配置文件中的pause镜像  vi /etc/containerd/config.toml
sandbox_image = "registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.10"
# 启动containerd并设置开机启动
systemctl enable --now containerd

6、安装kubectl、kubelet、kubeadm

bash 复制代码
cat <<EOF | sudo tee /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://pkgs.k8s.io/core:/stable:/v1.33/rpm/
enabled=1
gpgcheck=1
gpgkey=https://pkgs.k8s.io/core:/stable:/v1.33/rpm/repodata/repomd.xml.key
EOF
yum clean all
yum makecache
# 安装
yum install -y kubelet-1.33.1 kubeadm-1.33.1 kubectl-1.33.1
# 启用kubelet服务
systemctl enable --now kubelet

7、初始化控制面节点

bash 复制代码
kubeadm init \
  --apiserver-advertise-address=192.168.74.180 \
  --image-repository=registry.aliyuncs.com/google_containers \
  --kubernetes-version=v1.33.1 \
  --pod-network-cidr=10.244.0.0/16 \
  --cri-socket=unix:///var/run/containerd/containerd.sock

8、配置kubectl

bash 复制代码
mkdir -p $HOME/.kube
cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
chown $(id -u):$(id -g) $HOME/.kube/config

# 设置别名
echo "alias k='kubectl'" >> ~/.bashrc
source ~/.bashrc

9、安装网络插件calico

复制代码
# 下载calico.yaml,calico.tar.gz,导入calico镜像
# 需要本地下载,不好找
ctr -n=k8s.io images import calico.tar.gz
kubectl apply -f calico.yaml

10、验证mast节点

复制代码
[root@mast01 soft]# kubectl get nodes
NAME     STATUS   ROLES           AGE   VERSION
mast01   Ready    control-plane   60m   v1.33.1
[root@mast01 soft]# kubectl get pods -A
NAMESPACE     NAME                                       READY   STATUS    RESTARTS   AGE
kube-system   calico-kube-controllers-689744956f-w4khs   1/1     Running   0          20m
kube-system   calico-node-gr4tw                          1/1     Running   0          20m
kube-system   coredns-757cc6c8f8-ghhtg                   1/1     Running   0          60m
kube-system   coredns-757cc6c8f8-rv8lw                   1/1     Running   0          60m
kube-system   etcd-mast01                                1/1     Running   1          60m
kube-system   kube-apiserver-mast01                      1/1     Running   1          60m
kube-system   kube-controller-manager-mast01             1/1     Running   1          60m
kube-system   kube-proxy-mcxfc                           1/1     Running   0          60m
kube-system   kube-scheduler-mast01                      1/1     Running   1          60m

11、加入node节点

复制代码
# mast上执行
kubeadm token create --print-join-command
# node上执行
kubeadm join 192.168.74.180:6443 \
  --token 1fik86.bmm71kteysd8g7up \
  --discovery-token-ca-cert-hash \
  sha256:98a92989b7377d06135786b1ca2c51809d596d3e7ef54d6b150143e9fa2fca28

12、在mast上查看集群状况

复制代码
[root@mast01 soft]# kubectl get nodes
NAME     STATUS   ROLES           AGE     VERSION
mast01   Ready    control-plane   94m     v1.33.1
node01   Ready    <none>          4m41s   v1.33.1
[root@mast01 soft]# kubectl get pods -A
NAMESPACE     NAME                                       READY   STATUS    RESTARTS   AGE
kube-system   calico-kube-controllers-689744956f-w4khs   1/1     Running   0          54m
kube-system   calico-node-gr4tw                          1/1     Running   0          54m
kube-system   calico-node-v8cfz                          1/1     Running   0          4m44s
kube-system   coredns-757cc6c8f8-ghhtg                   1/1     Running   0          94m
kube-system   coredns-757cc6c8f8-rv8lw                   1/1     Running   0          94m
kube-system   etcd-mast01                                1/1     Running   1          94m
kube-system   kube-apiserver-mast01                      1/1     Running   1          94m
kube-system   kube-controller-manager-mast01             1/1     Running   1          94m
kube-system   kube-proxy-mcxfc                           1/1     Running   0          94m
kube-system   kube-proxy-qv9lp                           1/1     Running   0          4m44s
kube-system   kube-scheduler-mast01                      1/1     Running   1          94m
相关推荐
Johny_Zhao9 小时前
OpenClaw安装部署教程
linux·人工智能·ai·云计算·系统运维·openclaw
哈里谢顿9 小时前
Kubernetes Operator核心概念、实现原理和实战开发
云原生
阿里云云原生14 小时前
你的 OpenClaw 真的在受控运行吗?
云原生
阿里云云原生15 小时前
5 分钟零代码改造,让 Go 应用自动获得全链路可观测能力
云原生·go
Shanyoufusu1215 小时前
RKE2 单节点集群安装 Rancher+ 私有镜像仓库搭建 完整教程
云原生
阿里云云原生16 小时前
Dify 官方上架 Higress 插件,轻松接入 AI 网关访问模型服务
云原生
AI攻城狮17 小时前
OpenClaw Session 管理完全指南:Context 压缩、重置与持久化
人工智能·云原生·aigc
蝎子莱莱爱打怪2 天前
GitLab CI/CD + Docker Registry + K8s 部署完整实战指南
后端·docker·kubernetes
chlk1232 天前
Linux文件权限完全图解:读懂 ls -l 和 chmod 755 背后的秘密
linux·操作系统
舒一笑2 天前
Ubuntu系统安装CodeX出现问题
linux·后端