点击上方蓝字
关注大侠之运维
后台回复99.99% 获取运维干货物
之前介绍了1.24版本的安装部署,今天带来1.25的完整部署文档
♦️
前期主机环境准备
1.主机资源准备
ip | 主机名 | 内存 | CPU | 硬盘 | 系统 |
192.168.78.20 | master | 4G | 4C | 50G | centos7 |
192.168.78.21 | node1 | 4G | 4C | 50G | centos7 |
192.168.78.22 | node2 | 4G | 4C | 50G | centos7 |
#master节点hostnamectl set-hostname master#node1节点hostnamectl set-hostname node1#node2节点hostnamectl set-hostname node2
3.主机host配置
vim etc/hosts192.168.78.20 master192.168.78.21 node1192.168.78.22 node2
4.关闭防火墙
systemctl disable firewalldsystemctl stop firewalldfirewall-cmd --state
5.修改selinux设置
sed -ri 's/SELINUX=enforcing/SELINUX=disabled/' etc/selinux/config
6.时间同步 ,设置定时任务
crontab -l*/5 * * * * ntpdate ntp1.aliyun.com
7.升级内核
centos7默认的内核是
uname -r3.10.0-1160.el7.x86_64
下面操作每台都需要执行
导入elrepo gpg keyrpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org安装elrepo YUM源仓库yum -y install https://www.elrepo.org/elrepo-release-7.0-4.el7.elrepo.noarch.rpm安装kernel-ml版本,ml为长期稳定版本,lt为长期维护版本yum --enablerepo="elrepo-kernel" -y install kernel-ml.x86_64设置grub2默认引导为0# grub2-set-default 0重新生成grub2引导文件# grub2-mkconfig -o boot/grub2/grub.cfg更新后,需要重启,使用升级的内核生效。# reboot
升级后内核版本
uname -r5.19.10-1.el7.elrepo.x86_64
8.修改内核参数,设置网桥过滤
添加网桥过滤及内核转发配置文件
# cat etc/sysctl.d/k8s.confnet.bridge.bridge-nf-call-ip6tables = 1net.bridge.bridge-nf-call-iptables = 1net.ipv4.ip_forward = 1vm.swappiness = 0
加载br_netfilter模块
# modprobe br_netfilter
查看是否加载
# lsmod | grep br_netfilterbr_netfilter 22256 0
9.安装ipset ipvsadm
yum -y install ipset ipvsadm
配置ipvsadm模块加载方式
添加需要加载的模块
# cat > etc/sysconfig/modules/ipvs.modules <<EOF#!/bin/bashmodprobe -- ip_vsmodprobe -- ip_vs_rrmodprobe -- ip_vs_wrrmodprobe -- ip_vs_shmodprobe -- nf_conntrackEOF
授权、运行、检查是否加载
# chmod 755 etc/sysconfig/modules/ipvs.modules && bash etc/sysconfig/modules/ipvs.modules && lsmod | grep -e ip_vs -e nf_conntrack
10.关闭swap
swapoff -a 临时
二、
♦️
docker环境准备
1.docker yum源 使用阿里镜像源
wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O etc/yum.repos.d/docker-ce.repo
2.docker安装启动
yum -y install docker-cesystemctl start docker
3.修改cgroup方式
vim etc/docker/daemon.json{"exec-opts": ["native.cgroupdriver=systemd"]}
4.cri-dockerd 安装
wget https://github.com/Mirantis/cri-dockerd/releases/download/v0.2.5/cri-dockerd-0.2.5-3.el7.x86_64.rpmsystemctl start cri-docker
♦️
k8s 1.25环境部署
1.配置yum源
vim etc/yum.repos.d/k8s.repo[kubernetes]name=Kubernetesbaseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/enabled=1gpgcheck=0repo_gpgcheck=0gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
2.kubeadm、kubelet、kubectl版本均为1.25
yum -y install kubeadm kubelet kubectl
3.修改kubelet配置
# vim etc/sysconfig/kubeletKUBELET_EXTRA_ARGS="--cgroup-driver=systemd"
4.集群初始化
kubeadm init --apiserver-advertise-address=192.168.78.20 --image-repository registry.aliyuncs.com/google_containers --kubernetes-version=v1.25.0 --service-cidr=10.96.0.0/12 --pod-network-cidr=10.244.0.0/16 --ignore-preflight-errors=all --cri-socket unix:///var/run/cri-dockerd.sock
初始化过程中有报错的话,可以如下查看
journalctl -xeu kubelet | grep Failed
遇到一个报错是pull的pause镜像是3.8,但是需要的是3.6,重新pull了一个
初始化成功后是这样的

执行如下:
mkdir -p $HOME/.kubesudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/configsudo chown $(id -u):$(id -g) $HOME/.kube/config
5.node加入集群
kubeadm join 192.168.78.20:6443 --token mqpnuk.cwzgxt46up16uc01 --discovery-token-ca-cert-hash sha256:85e687d139427eee877f88d587d5bf95b47cafbbacfc6128ac504bdae8078ef9 --cri-socket unix:///var/run/cri-dockerd.sock
6.安装网络插件 calico
wget https://projectcalico.docs.tigera.io/archive/v3.24/manifests/calico.yaml --no-check-certificate
修改如下配置,注意格式对齐
- name: CALICO_IPV4POOL_CIDRvalue: "10.224.0.0/16"
查看需要镜像
grep image calico.yaml |grep 3.24image: docker.io/calico/cni:v3.24.1image: docker.io/calico/cni:v3.24.1image: docker.io/calico/node:v3.24.1image: docker.io/calico/node:v3.24.1image: docker.io/calico/kube-controllers:v3.24.1下载镜像
下载镜像
for i in calico/cni:v3.24.1 calico/node:v3.24.1 calico/kube-controllers:v3.24.1calico/kube-controllers:v3.24.1 ; do docker pull $i ; done
然后apply
kubectl apply -f calico.yaml
然后就完成啦
♦️
验证
查看所有的节点
[root@master ~]# kubectl get nodesNAME STATUS ROLES AGE VERSIONk8s-master01 Ready control-plane 1h v1.25.0k8s-worker01 Ready <none> 1h v1.25.0k8s-worker02 Ready <none> 1h v1.25.0


👆点击查看更多内容👆
推荐阅读
记得星标记一下,下次更容易找到我

文章转载自大侠之运维,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




