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集群完成。