一、环境基本情况
3台服务器,master和2个工作节点node,操作系统为openEuler 24.03

主机名 | ip地址 | 备注 |
master | 172.18.1.2 | master节点 |
node1 | 172.18.1.3 | 工作节点 |
node2 | 172.18.1.4 | 工作节点 |
二、基础安装(所有节点)
2.1 停止防火墙
systemctl stop firewalld
systemctl disable firewalld
systemctl status firewalld2.2 配置hosts文件
172.18.1.2 master
172.18.1.3 node1
172.18.1.4 node22.3 设置主机名
# cat /etc/hostname
master2.4 selinux 处于关闭状态
SELINUX=disabled2.5 内核参数调整
# cat /etc/sysctl.d/k8s_better.conf
net.bridge.bridge-nf-call-iptables=1
net.bridge.bridge-nf-call-ip6tables=1
net.ipv4.ip_forward=1
vm.swappiness=0
vm.overcommit_memory=1
vm.panic_on_oom=0
fs.inotify.max_user_instances=8192
fs.inotify.max_user_watches=1048576
fs.file-max=52706963sysctl --system
2.6 安装docker,containerd ,K8S 1.24 及以上版本推荐使用 containerd 作为容器运行时,替代 Docker。
配置yum仓库
dnf config-manager --add-repo=https://repo.huaweicloud.com/docker-ce/linux/centos/docker-ce.repo
sed -i 's+download.docker.com+repo.huaweicloud.com/docker-ce+' /etc/yum.repos.d/docker-ce.repo
sed -i 's+$releasever+9+' /etc/yum.repos.d/docker-ce.repo
dnf makecache
dnf install docker-ce docker-ce-cli containerd.io -y启动docker,查看版本,设置开机启动
systemctl start docker //启动docker
docker ps
docker version // 查看docker版本
systemctl enable docker //开机启动配置docker 镜像仓库
# cat /etc/docker/daemon.json
{
"registry-mirrors": [
"https://docker.registry.cyou",
"https://docker-cf.registry.cyou",
"https://dockercf.jsdelivr.fyi",
"https://docker.jsdelivr.fyi",
"https://dockertest.jsdelivr.fyi",
"https://mirror.aliyuncs.com",
"https://dockerproxy.com",
"https://mirror.baidubce.com",
"https://docker.m.daocloud.io",
"https://docker.nju.edu.cn",
"https://docker.mirrors.sjtug.sjtu.edu.cn",
"https://docker.mirrors.ustc.edu.cn",
"https://mirror.iscas.ac.cn",
"https://dockerhub.icu",
"https://docker.rainbond.cc"
],
"log-driver": "json-file",
"log-opts": {
"max-size": "10m",
"max-file": "3"
},
"storage-driver": "overlay2"
}systemctl daemon-reload
systemctl restart docker
docker pull nginx //测试镜像下载
docker images2.7 配置containerd
mkdir -p /etc/containerd
containerd config default > /etc/containerd/config.toml
sed -i 's|registry.k8s.io|registry.aliyuncs.com/google_containers|g' /etc/containerd/config.toml
sed -i 's|SystemdCgroup = false|SystemdCgroup = true|g' /etc/containerd/config.toml
systemctl enable containerd --now
systemctl restart containerd
systemctl status containerd //服务必须active 才能进行初始化,后续工作节点加入的操作2.8 安装k8s 组件
配置k8s yum源
# cat /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes-new/core/stable/v1.32/rpm/
#baseurl=https://pkgs.k8s.io/core:/stable:/v1.32/rpm/
enabled=1
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/kubernetes-new/core/stable/v1.32/rpm/repodata/repomd.xml.key
exclude=kubelet kubeadm kubectl cri-tools kubernetes-cni安装k8s
yum install -y kubelet kubeadm kubectl --disableexcludes=kubernetes
systemctl enable --now kubelet三、初始化
在master节点执行初始化,IP、版本根据根据实际填写
kubeadm init --apiserver-advertise-address=172.18.1.2 --image-repository registry.aliyuncs.com/google_containers --kubernetes-version=v1.32.6 --service-cidr=10.96.0.0/12 --pod-network-cidr=10.244.0.0/16 --cri-socket=unix:///run/containerd/containerd.sock在工作节点执行,加入集群命令
kubeadm join 172.18.1.2:6443 --token xudd2w.pst9af8vy9hchchu --discovery-token-ca-cert-hash sha256:28e85a396536ce5ffdf954a79ac0189ef4979b35b3ee00739ab06afcdd6cd4b3
[preflight] Running pre-flight checks在master节点安装网络插件
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml查看节点状态,命名空间等情况
kubectl get nodes
kubectl get ns
最近在探索研究K8S的使用,记录下安装过程~