openEuler22.03(LTS-SP1)系统搭建Kubernetes1.20.2集群

openEuler操作系统介绍

openEuler 是开放原子开源基金会(OpenAtom Foundation)孵化及运营的开源项目

欧拉操作系统(openEuler, 简称“欧拉”,“开源欧拉”)是面向数字基础设施的操作系统,支持服务器、云计算边缘计算、嵌入式等应用场景,支持多样性计算,致力于提供安全、稳定、易用的操作系统。通过为应用提供确定性保障能力,支持OT领域应用及OT与ICT的融合。 

欧拉开源社区通过开放的社区形式与全球的开发者共同构建一个开放、多元和架构包容的软件生态体系,孵化支持多种处理器架构、覆盖数字设施全场景,推动企业数字基础设施软硬件、应用生态繁荣发展。

2024年11月15日,在操作系统大会2024期间,开放原子开源基金会宣布,2024年openEuler系操作系统新增装机量超过500万套,五年累计装机量突破1000万套。 

kubernetes集群搭建

Master

192.168.104.196

Node1

192.168.104.197

Node2

192.168.104.199

1.更改主机名,添加映射文件

[root@localhost ~]# hostnamectl set-hostname master

[root@localhost ~]# hostnamectl set-hostname node1

[root@localhost ~]# hostnamectl set-hostname node2

[root@master ~]# vi /etc/hosts

192.168.104.196 master

192.168.104.197 node1

192.168.104.199 node2

2.关闭防火墙

[root@master ~]# systemctl stop firewalld && systemctl disable firewalld

Removed "/etc/systemd/system/multi-user.target.wants/firewalld.service".

Removed "/etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service".

[root@master ~]# setenforce 0

[root@master ~]# sed -ri 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config

[root@master ~]# firewall-cmd --state

not running

3.配置时间同步

[root@master ~]#timedatactl set-datazone Asia/Shanghai

4.配置内核转发及网桥过滤

[root@master ~]sed -i 's/net.ipv4.ip_forward=0/net.ipv4.ip_forward=1/g' /etc/sysctl.conf

[root@master ~]cat > /etc/sysctl.d/k8s.conf << EOF

net.bridge.bridge-nf-call-ip6tables = 1

net.bridge.bridge-nf-call-iptables = 1

net.ipv4.ip_forward = 1

vm.swappiness = 0

EOF

# 配置加载br_netfilter模块

[root@master ~] cat <<EOF | sudo tee /etc/modules-load.d/k8s.conf

overlay

br_netfilter

EOF

#加载br_netfilter overlay模块

[root@master ~]modprobe br_netfilter

[root@master ~]modprobe overlay

#查看是否加载

[root@master ~] lsmod | grep br_netfilter

br_netfilter           22256  0

bridge                151336  1 br_netfilter

# 使其生效

[root@master ~] sysctl --system

# 使用默认配置文件生效

[root@master ~]sysctl -p

# 使用新添加配置文件生效

[root@master ~]sysctl -p /etc/sysctl.d/k8s.conf  

5.安装ipset及ipvsadm

安装ipset及ipvsadm

yum -y install ipset ipvsadm

#配置ipvsadm模块加载方式.添加需要加载的模块

cat > /etc/sysconfig/modules/ipvs.module <<EOF

modprobe -- ip_vs

modprobe -- ip_vs_sh

modprobe -- ip_vs_rr

modprobe -- ip_vs_wrr

modprobe -- nf_conntrack

EOF

授权、运行、检查是否加载

chmod 755 /etc/sysconfig/modules/ipvs.module &&  /etc/sysconfig/modules/ipvs.module

查看对应的模块是否加载成功# lsmod | grep -e ip_vs -e nf_conntrack_ipv4

6.安装Docker

[root@master ~]# yum -y install docker

[root@master ~]# systemctl enable docker && systemctl start docker

Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/docker.service.

[root@master ~]# vi /etc/docker/daemon.json

{

  "registry-mirrors": [

          "https://rtgofewn.mirror.aliyuncs.com",

          "https://docker.m.daocloud.io"],

  "exec-opts": ["native.cgroupdriver=systemd"]

}

[root@master ~]# systemctl daemon-reload

[root@master ~]# systemctl restart docker

[root@master ~]# systemctl status docker

7.安装kubelet组件

[root@master ~]# dnf install -y kubernetes-kubeadm kubernetes-kubelet kubernetes-master

[root@node1 ~]# dnf install -y kubernetes-kubeadm kubernetes-kubelet kubernetes-node

[root@master ~]# systemctl enable kubelet

8.初始化K8s集群

[root@master ~]# kubeadm init --apiserver-advertise-address=192.168.104.196 --image-repository registry.aliyuncs.com/google_containers --kubernetes-version v1.20.2 --service-cidr=10.96.0.0/12 --pod-network-cidr=10.244.0.0/16  --ignore-preflight-errors=all

创建必要文件

[root@master ~]mkdir -p $HOME/.kube

[root@master ~]sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config

[root@master ~]sudo chown $(id -u):$(id -g) $HOME/.kube/config

Node节点加入K8s集群

[root@node1 ~]# kubeadm join 192.168.104.196:6443 --token 5h1s4d.5x0srbo3gv8lc77d     --discovery-token-ca-cert-hash sha256:39530ef91b777396025e606c201ea9121eb7e45218743ad06a78a89685a48017

查看集群节点

[root@master ~]# kubectl get nodes

NAME     STATUS     ROLES                  AGE   VERSION

master   NotReady   control-plane,master   64s   v1.20.2

node1    NotReady   <none>                 20s   v1.20.2

node2    NotReady   <none>                 7s    v1.20.2

8.安装网络插件Calico

[root@master ~]# wget https://docs.projectcalico.org/v3.16/manifests/calico.yaml

执行文件

[root@master ~]# kubectl apply -f calico.yaml

等待一段时间拉取镜像,再次查看集群节点,发现所有节点准备就绪,所有POD正常运行

[root@master ~]# kubectl get nodes

NAME     STATUS   ROLES                  AGE     VERSION

master   Ready    control-plane,master   10m     v1.20.2

node1    Ready    <none>                 10m     v1.20.2

node2    Ready    <none>                 9m47s   v1.20.2

openEuler系统搭建K8s集群完成。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值