openEuler-22.03-LTS-SP3 Kubernets集群部署实战

 

一、环境介绍

1、Windows 11 专业版,VMware Workstation 17,XShell、XFtp、openEuler-22.03-LTS-SP3

2、Kubernets集群节点规划

节点名称节点IP地址集群角色处理器数量内存大小磁盘空间
k8s-master1192.168.139.136master68G100G
k8s-node1192.168.139.137worker68G100G
k8s-node1192.168.139.138worker68G100G

二、Open Euler系统安装

1、下载Open Euler系统 (Link),选择 X86_64/服务器/Offline Everything ISO

9fe1cd4ea4054462b45cbd0132998eee.png

2、启动VWmare workstation 17,创建新的虚拟机

6f276ea70d9d44d98239613a1a5dad2c.png

3、选择“典型(推荐)”选项,点击“下一步”

06432683be1b4409a19b9b01e92c3338.png

4、点击“浏览”按钮,指定OpenEuler安装包位置,点击“下一步”

47e59e00758445c98b13c0286276e2b9.png

5、由于系统无法识别安装镜像操作系统类型,所以需要指定客户机操作系统内核类型为“Linux”,版本选择“CentOS 8 64位”,然后点击“下一步”

f9043f3f18384ed1894970e84df5f72e.png

6、指定虚拟机名称,以及虚拟机文件存储位置

a3e2c98d47cc45d99dcfe3241ce6263a.png

7、指定虚拟机使用的磁盘容量:100G

1b00a0b7baba4ea2992d7315cb06c7be.png

8、点击“自定义硬件”按钮打开虚拟机硬件资源设置窗口

966875ab49c54c1aac271770be898406.png

9、拖动滑块指定内存大小:8G

18839054b3ab43b2a7eee0c2002e5f0e.png

10、点击下拉列表,选择处理器内核数量6

a8efa217bd3649d693dd9f4428e90713.png

11、设置完成后,点击“关闭”按钮,返回虚拟机创建主界面,点击绿色三角按钮,开启此虚拟机

3857f4e81ed440489cbdfd396420d349.png

f2aa8dc8ff41497194569d24c1273f9f.png

12、选择语言为“English”

aae3ad30c4f94741b7dd338846463306.png

13、一次点击对话框中黄色感叹号图标,进行参数设置

30cbaf37cb024d32951b19a71b279570.png

c12616a37d34441eb5e04fe45d05271b.png

c269fbd0229c48768fa9b60590eab327.png

ce83e2a48cfb4012b7eb0f4702fbc677.png

14、点击“Reboot System”完成系统安装

77d04f9dcb264be3819a92a6332a4e9a.png

15、系统成功后,使用root账号登录系统

4cbe3a46152146ef90aea75e587a920b.png

16、重复上述步骤,完成另外两个节点k8s-node1、k8s-node2的安装

三、初次登录虚拟机节点

1、打开XShell工具登录三台虚拟机节点

b1107bf21c8d4bd98d604f711285e411.png

2、对于所有节点,同时安装tar工具,方便后续使用

yum install tar

63f2427319434cf9a6b6f5c74934d786.png

四、为所有节点安装Docker容器

1、从Docker官方网站下载repo

cd /etc/yum.repos.d/
curl -O https://download.docker.com/linux/centos/docker-ce.repo
sed -i 's/$releasever/8/g' docker-ce.repo
yum install -y docker-ce

1aee2b6d04024c42ae6c2e8b64aa7766.png

2、配置国内资源镜像环境

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
    "registry-mirrors": [
        "https://dockerproxy.com",
        "https://hub-mirror.c.163.com",
        "https://mirror.baidubce.com",
        "https://ccr.ccs.tencentyun.com"
    ]
}
EOF

7bfe214d1e9d41f5b05ec9d9d704dffd.png

3、启动Docker容器,并检查容器运行状态

systemctl start docker
systemctl enable docker
systemctl status docker

ec9ee8bf880942678a38a20791f2a4c6.png

五、为所有节点安装cri-dockerd

1、下载最新版cri-dockerd rpm包

由于众所周知原因,无法直接使用wget下载,所以,直接从github镜像网站下载安装包上传到虚拟机“/toos/”目录进行安装(下载地址),本案例使用版本为:cri-dockerd-0.3.9-3.el8.x86_64.rpm

f8eac09662074aab911ce32d72302119.png

a13d36d782a942bd9b61160fb5efe8eb.png

2、安装cri-dockerd

rpm -ivh cri-dockerd-0.3.9-3.el7.x86_64.rpm

728e1b5a49a143b8baabfd104c53932c.png

3、为cri-dockerd设置国内镜像服务器

vi /usr/lib/systemd/system/cri-docker.service 

# 找到第10行ExecStart= 
# 修改为ExecStart=/usr/bin/cri-dockerd --network-plugin=cni --pod-infra-container-image=registry.aliyuncs.com/google_containers/pause:3.9

97f9f4db3d5a443dbee3e75c9d003173.png

4、启动cri-dockerd服务

systemctl start cri-docker
systemctl enable cri-docker

3ff884440dd0441894efa0e981764fc1.png

5、重启Docker容器,并检查容器运行状态

systemctl daemon-reload && systemctl restart docker cri-docker.socket cri-docker 
systemctl status docker cir-docker.socket cri-docker

0ab6f3e86b3e494fbb6386971165977d.png

六、为所有节点执行kubernetes安装前准备

1、分别登录每个节点,逐一设置节点名称

#分别登录每个节点,逐一机器配置主机名

#k8s-master
hostnamectl set-hostname k8s-master

#k8s-node1
hostnamectl set-hostname k8s-node1

#k8s-node2
hostnamectl set-hostname k8s-node2

ece5ddb4c6b543358f941719fee5de3f.png

2、分别登录每个节点,查看节点IP配置信息

cd /etc/sysconfig/network-scripts
ll

aeb296a018854822958e7a0e36967f05.png

3、分别登录每个节点,修改节点IP配置信息

vi ifcfg-ens160

#修改第4行
#BOOTPROTO=staitc

#增加下列5行,其中XXX为节点IP地址
#IPADDR=192.168.139.XXX
#PREFIX=24
#NETMASK=255.255.255.0
#GATEWAY=192.168.139.2
#6DNS=114.114.114.114

d3ecbe10bd5d4586953a9a39d8091f12.png4、分别登录每个节点,完成主机名与IP的映射

vi /etc/hosts

52217a1f898d451687eee1e48157f361.png

5、关闭所有节点防火墙,并禁止开机自动启动

systemctl stop firewalld
systemctl disable firewalld
systemctl status firewalld

ad440a933b234bae979d165a66e6e962.png

6、关闭所有节点selinux,并重启主机

sed -ri 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
cat /etc/selinux/config
reboot

7、为所有节点配置时间自动同步

#安装ntpdate软件
yum  -y install ntpdate

66a16d4e15ac40c6a44b1b0c7e90437c.png

#创建计划任务
#设置事件同步规则
#0 */1 * * * /usr/sbin/ntpdate time1.aliyun.com
crontab -e

b49e036031a343fd9d258e09e3bce9e4.png

# 启动时间同步,一个小时同步一次
ntpdate time1.aliyun.com

 8、为所有节点配置内核转发及网桥过滤

#修改内容:
#net.ipv4.ip_forward=1

vi /etc/sysctl.conf

2262b1b956ca49b48d95d458cada1f2f.png

9、配置内核参数,将桥接的IPv4流量传递到iptables的链的命令:

cat <<EOF >/etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
vm.swappiness=0
EOF
# 二次编辑,加入"net.ipv4.ip_forward = 1"
vi /etc/sysctl.d/k8s.conf

3863180357914688a52cd26b57f026aa.png

# 加载br_netfilter模块
modprobe br_netfilter
# 查看是否加载
lsmod | grep br_netfilter
#使用新添加配置文件生效
sysctl --system

 

10、为所有节点关闭swap分区

# 如果有的话,关闭swap分区
swapoff -a

# 修改fstab文件,永久关闭swap分区
# 注释掉fstab中包含swap的这一行
# /dev/mapper/centos-swap swap                    swap    defaults        0 0
vi /etc/fstab 

11、为所有节点安装ipset及ipvsadm,并重启节点

yum -y install ipset ipvsadm
#配置ipvsadm模块加载方式
cat > /etc/sysconfig/modules/ipvs.module <<EOF
#!/bin/bash
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 && bash /etc/sysconfig/modules/ipvs.module && lsmod | grep -e ip_vs -e nf_conntrack

cee6675f8d7543ed9c88c9e7cd8e50f9.png 七、安装Kubernetes集群

1、为所有节点配置kubernetes源,安装kubelet、kubeadm、kubectl、kubernetes-cni

# 此操作会覆盖 /etc/yum.repos.d/kubernetes.repo 中现存的所有配置
cat <<EOF | sudo tee /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://pkgs.k8s.io/core:/stable:/v1.28/rpm/
enabled=1
gpgcheck=1
gpgkey=https://pkgs.k8s.io/core:/stable:/v1.28/rpm/repodata/repomd.xml.key
#exclude=kubelet kubeadm kubectl cri-tools kubernetes-cni
EOF
#安装kubelet、kubeadm、kubectl、kubernetes-cni
yum install -y kubelet kubeadm kubectl kubernetes-cni

systemctl enable kubelet.service

b2ab5fefe87f4e06bca5ede0dfb0f7e5.png 2、在k8s-master节点执行kubeadm初始化操作

kubeadm init --node-name=k8s-master \
--image-repository=registry.aliyuncs.com/google_containers \
--cri-socket=unix:///var/run/cri-dockerd.sock \
--apiserver-advertise-address=192.168.139.136 \
--pod-network-cidr=10.244.0.0/16 \
--service-cidr=10.96.0.0/12

545667cfa24448c088c50f1e25827d06.pngYour Kubernetes control-plane has initialized successfully!

To start using your cluster, you need to run the following as a regular user:

  mkdir -p $HOME/.kube
  sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
  sudo chown $(id -u):$(id -g) $HOME/.kube/config

Alternatively, if you are the root user, you can run:

  export KUBECONFIG=/etc/kubernetes/admin.conf

You should now deploy a pod network to the cluster.
Run "kubectl apply -f [podnetwork].yaml" with one of the options listed at:
  https://kubernetes.io/docs/concepts/cluster-administration/addons/

Then you can join any number of worker nodes by running the following on each as root:

kubeadm join 192.168.139.136:6443 --token 9osa78.wfdxqa557cuelrfp \
    --discovery-token-ca-cert-hash sha256:947adc517abfdd9c665b2454aeed5c9275c6444e86e09959d5c37ae7183fa751 

 

  • 22
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
回答: 你提到的问题是关于git提交后发生冲突的情况。这种情况通常是因为同一个项目的不同员工在相同位置提交了不同的更改,导致冲突发生。解决这个问题的方法有几种。一种方法是使用git pull命令来合并远程的更改到本地仓库。你可以使用命令"git pull origin master --allow-unrelated-histories"来告诉git允许合并不相关的历史。执行这个命令后,你可能需要提供一些合并信息并保存。另一种方法是在初次push之前,先使用git pull命令来将远程的更改合并到本地仓库,然后再进行push操作。这样可以避免冲突的发生。\[2\]至于你提到的链接"https://gitee.com/src-openeuler/kernel/repository/archive/openEuler-22.03-LTS-SP1.zip",它是一个压缩文件的链接,可能与git提交冲突的问题无关。 #### 引用[.reference_title] - *1* [git提交冲突:To https://gitee.com/men_zi_qi/practical-training.git ! [rejected] dev -> dev (fetch ...](https://blog.csdn.net/Menqq/article/details/114034902)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [git项目初次push提示error: failed to push some refs to https://gitee.com/xxxx/gittest.git’解决方案](https://blog.csdn.net/qq_41853988/article/details/122933694)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值