openEuler 22.04使用yum源最快速度部署k8s 1.20集群

本文目的

openEuler的官方源里有kubernetes 1.20,使用yum源安装是最快部署一个k8s集群的办法

硬件环境
主机名 系统 架构 ip
master openEuler release 22.03 (LTS-SP2) arm 192.168.3.11
edge openEuler release 22.03 (LTS-SP2) arm 192.168.3.12
device openEuler release 22.03 (LTS-SP2) arm 192.168.3.14
master节点部署

安装k8s基础组件

bash 复制代码
# 关闭防火墙及swap
swapoff -a
systemctl stop firewalld && systemctl disable firewalld
# 安装docker(18.09)
dnf install -y docker
systemctl enable docker && systemctl start docker
# 安装kubernetes(1.20)
dnf install -y kubernetes-kubeadm kubernetes-kubelet kubernetes-master
# 安装k8s依赖
dnf install -y conntrack
systemctl enable kubelet.service && systemctl start kubelet.service
# 初始化k8s集群
# --image-repository:指定要使用的镜像仓库,指定为aliyun镜像加速下载
# --kubernetes-version:k8s版本,openEuler仓库目前只有1.20.2这一个版本
# --pod-network-cidr:Pod网络的地址范围
# --service-cidr:Service的网络地址范围
# --cri-socket:如需指定其他容器引擎,可以加这个如--cri-socket=/var/run/isulad.sock
kubeadm init --apiserver-advertise-address=192.168.3.11 \
--image-repository registry.aliyuncs.com/google_containers \
--kubernetes-version v1.20.2 \
--service-cidr=10.1.0.0/16 \
--pod-network-cidr=10.244.0.0/16

集群初始化完成,保留屏幕出现的join命令

bash 复制代码
kubeadm join 192.168.3.11:6443 --token bl02x4.bow5nrt50fnudxrq \
    --discovery-token-ca-cert-hash sha256:34083d0cd5ecc38150eeb184663fcb0fcfbd8095f5efd46fe01520fe4a03ff93

环境变量配置

bash 复制代码
# 配置环境变量
vi /etc/profile
# 在文件底部追加
export KUBECONFIG=/etc/kubernetes/admin.conf
# 应用改变
source /etc/profile

安装网络组件flannel

bash 复制代码
# 安装cni插件
dnf install -y containernetworking-plugins
# containerd容器运行时 cni相关文件默认路径在/usr/libexec/cni
# flannel 默认读取/opt/cni/bin路径
# 拷贝相关文件
mkdir -p /opt/cni/bin
cp /usr/libexec/cni/* /opt/cni/bin/
# 下载kube-flannel.yml文件放置到 /opt/yaml/kube-flannel.yml
# kube-flannel.yml文件链接:https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
kubectl apply -f /opt/yaml/kube-flannel.yaml
# 下载两个flannel的镜像(docker.io/flannel/flannel:v0.26.2,docker.io/flannel/flannel-cni-plugin:v1.6.0-flannel1)并导入
docker load -i flannel_master.tar
docker load -i flannel_cni.tar

验证效果

bash 复制代码
# 查看节点状态,此时应该只有一个节点且节点处于ready状态
kubectl get nodes
node节点部署
bash 复制代码
# 关闭防火墙及swap
swapoff -a
systemctl stop firewalld && systemctl disable firewalld
# 安装docker(18.09)
dnf install -y docker
systemctl enable docker && systemctl start docker
# 安装kubernetes(1.20)
dnf install -y kubernetes-kubeadm kubernetes-kubelet kubernetes-master
# 安装k8s依赖
dnf install -y conntrack
systemctl enable kubelet.service && systemctl start kubelet.service
# 安装cni插件
dnf install -y containernetworking-plugins
# containerd容器运行时 cni相关文件默认路径在/usr/libexec/cni
# flannel 默认读取/opt/cni/bin路径
# 拷贝相关文件
mkdir -p /opt/cni/bin
cp /usr/libexec/cni/* /opt/cni/bin/
# 下载两个flannel的镜像(docker.io/flannel/flannel:v0.26.2,docker.io/flannel/flannel-cni-plugin:v1.6.0-flannel1)并导入
docker load -i flannel_master.tar
docker load -i flannel_cni.tar

使用上面的join命令加入集群

bash 复制代码
kubeadm join 192.168.3.11:6443 --token bl02x4.bow5nrt50fnudxrq     --discovery-token-ca-cert-hash sha256:34083d0cd5ecc38150eeb184663fcb0fcfbd8095f5efd46fe01520fe4a03ff93

验证集群加入成功

bash 复制代码
# 查看节点状态,此时节点都处于ready状态
kubectl get nodes
相关推荐
chuanauc7 小时前
Kubernets K8s 学习
java·学习·kubernetes
小张是铁粉8 小时前
docker学习二天之镜像操作与容器操作
学习·docker·容器
烟雨书信8 小时前
Docker文件操作、数据卷、挂载
运维·docker·容器
IT成长日记8 小时前
【Docker基础】Docker数据卷管理:docker volume prune及其参数详解
运维·docker·容器·volume·prune
这儿有一堆花8 小时前
Docker编译环境搭建与开发实战指南
运维·docker·容器
LuckyLay8 小时前
Compose 高级用法详解——AI教你学Docker
运维·docker·容器
Uluoyu8 小时前
redisSearch docker安装
运维·redis·docker·容器
IT成长日记12 小时前
【Docker基础】Docker数据持久化与卷(Volume)介绍
运维·docker·容器·数据持久化·volume·
疯子的模样17 小时前
Docker 安装 Neo4j 保姆级教程
docker·容器·neo4j
虚伪的空想家17 小时前
rook-ceph配置dashboard代理无法访问
ceph·云原生·k8s·存储·rook