win10,vmware16 pro,openeular23.09
集群模式:一主二从
主机名 | IP | 角色 | CPU | 内存 | 硬盘 |
k8s-master01 | 192.168.91.100 | master | 4C | 4G | 40G |
k8s-worker02 | 192.168.91.101 | worker(node) | 4C | 4G | 40G |
k8s-worker03 | 192.168.91.102 | worker(node) | 4C | 4G | 40G |
单机版operEuler安装及配置按下面链接逐步操作即可;
VMware16 pro 安装openEuler-23.09-x86_64,详细操作流程+详图。-CSDN博客文章浏览阅读174次,点赞5次,收藏4次。那么这个空间设置成内存的2倍大小。点击IPv4设置--手动--添加--设置ip--设置DNS服务器,最后点击--“保存”;首先选中--“本地标准磁盘”,存储配置--自定义分区,点击--“完成”;在--主机名--设置主机名:(例如k8s-master01),点击--点击+,设置--挂载点/boot--期望容量,点击--添加挂载点;点击--+--挂载点swap--期望容量,点击--“添加挂载点”;默认选择--亚洲--上海,并调整日期和时间,点击--“完成”;设备类型--确认--LVM,卷组--选择“修改”;https://blog.csdn.net/shanxiderenheni/article/details/135247321
搭建好主节点k8s-master01,先关机,再按照下图右键操作,克隆出两个工作节点k8s-worker02和k8s-worker03;(此时,三台虚拟机的账户,密码,IP,网络等信息都是一样的)
hostnamectl set-hostname k8s-worker02
修改k8s-woker02节点的IP;
定位到指定目录命令:
cd /etc/sysconfig/network-scripts
编辑命令:
vim ifcfg-ens33
k8s-woker02:192.168.91.101
k8s-worker03节点的操作与上面相同;
k8s-worker03:192.168.91.102
两个worker节点都看一遍;
vim /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.91.100 k8s-master01
192.168.91.101 k8s-worker01
192.168.91.102 k8s-worker02
关闭防火墙:
systemctl stop firewalld
禁止开机自启:
systemctl disable firewalld
查看防火墙状态:
systemctl status firewalld
sed -ri 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
修改SELinux配置需要重启操作系统。
最小化安装系统需要安装ntpdate软件,此处安装的是服务器版本,带有update软件,直接使用即可;
安装命令:
yum -y install ntpdate
编辑同步时间规则命令:
crontab -e
0 */1 * * * /usr/sbin/ntpdate time1.aliyun.com
开启内核路由转发命令:
vim /etc/sysctl.conf
(截图中命令显示两次,是我测试命令可用后,二次截图的操作)
配置内核参数,将桥接的IPv4流量传递到iptables的链的命令:(创建新文件+编辑内容)
cat </etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
vm.swappiness=0
EOF
执行该命令,如果不执行就会在应用k8s.conf时出现加载错误;
modprobe br_netfilter
使用新添加配置文件生效;
sysctl -p /etc/sysctl.d/k8s.conf
yum -y install ipset ipvsadm
回车,安装过程如下;
配置ipvsadm模块加载方式,添加需要加载的模块;
cat > /etc/sysconfig/modules/ipvs.module <
授权、运行、检查是否加载;
chmod 755 /etc/sysconfig/modules/ipvs.module && bash /etc/sysconfig/modules/ipvs.module && lsmod | grep -e ip_vs -e nf_conntrack
方法一:
# 如果有的话,关闭swap分区
swapoff -a
# 永久关闭swap分区,注释掉fstab中包含swap的这一行
vim /etc/fstab
# /dev/mapper/centos-swap swap swap defaults 0 0
方法二:
#实时动态关闭
swapoff -a
#禁止重启后自动开启
sed -i '/ swap / s/^/#/' /etc/fstab
本案例采用方法二;
reboot
(1)查看是否存在docker软件;
yum list | grep docker
(2)安装docker;
dnf install docker
(3)设置docker开机启动并启动;
systemctl enable --now docker
(4)查看docker版本;
docker version
dnf install conntrack
dnf install -y kubernetes-kubeadm kubernetes-kubelet kubernetes-master
dnf install -y kubernetes-kubeadm kubernetes-kubelet kubernetes-node
k8s-worker02
k8s-worker03
systemctl enable kubelet
K8S通过kubeadm安装出来以后都是以Pod方式存在,即底层是以容器方式运行,所以kubelet必须设置开机自启。
systemctl start kubelet.service
kubeadm init --node-name=k8s-master01 \
--image-repository=registry.aliyuncs.com/google_containers \
--kubernetes-version v1.25.3 \
--cri-socket=unix:///var/run/cri-dockerd.sock \
--apiserver-advertise-address=192.168.91.100 \
--pod-network-cidr=10.244.0.0/16 \
--service-cidr=10.96.0.0/12
错误一:“crictl not found in system path”;
需要安装crictl工具;
yum install -y crictl
错误二:“socat not found in system path”;
需要安装socat工具;
yum install -y socat
错误三:[ERROR CRI]: container runtime is not running: output: time="2023-12-29T08:16:11+08:00" level=fatal msg="unable to determine runtime API version: rpc error: code = Unavailable desc = connection error: desc = \"transport: Error while dialing dial unix /var/run/cri-dockerd.sock: connect: no such file or directory\""
, error: exit status 1