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

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、安装容器运行时

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、配置容器运行时

# 生成默认配置文件
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

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、初始化控制面节点

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

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
http://www.lqws.cn/news/144235.html

相关文章:

  • asp.net mvc如何简化控制器逻辑
  • vue2 , el-select 多选树结构,可重名
  • 使用vite-plugin-html在 HTML 文件中动态注入数据,如元数据、环境变量、标题
  • Go中的协程并发和并发panic处理
  • MVCC机制:Undo Log版本链与ReadView机制
  • MVCC实现原理
  • bug 记录 - 使用 el-dialog 的 before-close 的坑
  • 网站首页菜单两种布局vue+elementui顶部和左侧栏导航
  • Pandas和Django的示例Demo
  • wpf Behaviors库实现支持多选操作进行后台绑定数据的ListView
  • MySQL 高可用基石 - 复制监控与常见 HA 方案
  • DBSyncer:开源数据库同步利器,MySQL/Oracle/ES/SqlServer/PG/
  • 企业培训学习考试系统源码 ThinkPHP框架+Uniapp支持多终端适配部署
  • 行列式的性质
  • exp1_code
  • Redis 缓存策略:借助缓存优化数据库性能并保障数据一致性
  • 9.axios底层原理,和promise的对比(2)
  • 外网访问内网服务器常用的三种简单操作步骤方法,本地搭建网址轻松让公网连接
  • 游戏设计模式 - 子类沙箱
  • OCR助力保险业建设
  • 【C++】二叉搜索树
  • ocrapi服务docker镜像使用
  • 从零开始的云计算——番外实战,iptables防火墙项目
  • WordZero:让Markdown与Word文档自由转换的Golang利器
  • 【Go语言基础【2】】数据类型之基础数据类型:数字、字符、布尔、枚举、自定义
  • 1、Go语言基础中的基础
  • 【Go语言基础【四】】局部变量、全局变量、形式参数
  • PPT转图片拼贴工具 v3.0
  • Spark 写文件
  • Dubbo Logback 远程调用携带traceid