在OpenEuler24.03 LTS-SP1中安装Rancher2.11.0安装以及kubernetes

OpenEuler24.03 LTS-SP1 + Rancher2.10.1+Jenkins+GitLab安装

机器规则

注:机器至少是2核2G的配置

机器可以是虚拟机、也可以是四台物理机器。我使用的是四台OpenEuler24.03 LTS-SP1的虚拟机!

hostnameip地址用途配置
k8s-master01192.168.28.161master节点2核4G
k8s-worker01192.168.28.171worker01节点2核8G
k8s-worker02192.168.28.172worker02节点2核8G
k8s-ranncher192.168.28.181rancher节点2核8G

搭建教程

除特别说明外,以下命令需在四台机器中都执行,建议找一个可以同时在多台机器中执行命令的工具(采用xshell工具)

1. 配置教程

配置机器的host文件

#添加如下内容
192.168.28.161 k8s-master01 
192.168.28.171 k8s-worker01
192.168.28.172 k8s-worker02 
192.168.28.181 k8s-ranncher

执行ping k8s-master01 看配置是否成功

修改k8s-master01的主机名

hostnamectl set-hostname k8s-master01

修改k8s-worker01的主机名

hostnamectl set-hostname k8s-worker01

修改k8s-worker02的主机名

hostnamectl set-hostname k8s-worker02

修改k8s-ranncher的主机名

hostnamectl set-hostname k8s-ranncher

2. 禁用防火墙

#docker会产生很多端口规则,为了引起不必要的麻烦,自己关闭掉(反正这个环境只是学习使用的,生成环境不要这么做)
systemctl stop firewalld
systemctl disable firewalld
systemctl stop iptables
systemctl disable iptables

3. 禁用linux系统的安全服务

selinux是linux下的一个安全服务,安装软件会产生各种奇葩问题,直接禁用掉

vi /etc/selinux/config
#设置如下内容
SELINUX=disabled

4.禁用swap分区

作用是在物理内存使用完之后虚拟磁盘空间作为内存使用,开启此会产生性能影响,在搭建k8s集群的时候如果开启的话还需要特别说明

vi /etc/fstab
#注释最后一行(/dev/mapper/centos-swap swap  

5.修改linux内核参数

#加载网桥过滤模块
modprobe br_netfilter
echo “br_netfilter” > /etc/modules-load.d/br_netfilter.conf

查看网桥过滤模块是否加载成功

lsmod|grep br_netfilter

#修改linux内核参数,添加网桥过滤和地址转发功能
vi /etc/sysctl.d/kubernetes.conf
# 添加如下配置
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1

#  重新加载配置
sysctl --system

6.配置ipvs功能

#安装ipset、ipvsadm
yum -y install ipset ipvsadm
#添加需要加载的模块,写入到脚本文件中
vi /etc/sysconfig/modules/ipvs.modules
#内容如下
#!/bin/bash
modprobe -- ip_vs
modprobe -- ip_vs_rr
modprobe -- ip_vs_wrr
modprobe -- ip_vs_sh
modprobe -- nf_conntrack_ipv4

#为脚本文件添加执行权限
chmod +x /etc/sysconfig/modules/ipvs.modules
#执行脚本文件
/bin/bash /etc/sysconfig/modules/ipvs.modules
#查询对应模块是否加载成功
lsmod |grep -e ip_vs -e nf_conntrack_ipv4

7.安装docker

1)配置docker源(用于安装docker)

  • 1.安装相关依赖
    yum install -y yum-utils device-mapper-persistent-data lvm2
  • 2.下载官方的docker yum源文件
    yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
  • 3.替换yum源地址
    sed -i 's+download.docker.com+mirrors.tuna.tsinghua.edu.cn/docker-ce+' /etc/yum.repos.d/docker-ce.repo
  • 4.并修改/etc/yum.repos.d/docker-ce.repo/etc/yum.repos.d/docker-ce.repo将其中$releasever替换为9
 vim /etc/yum.repos.d/docker-ce.repo/etc/yum.repos.d/docker-ce.repo  

输入:s/$releasever/9/g,保存退出。

vim /etc/yum.repos.d/docker-ce.repo/etc/yum.repos.d/docker-ce.repo
[docker-ce-stable]
name=Docker CE Stable - $basearch
baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/9/$basearch/stable
enabled=1
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg

[docker-ce-stable-debuginfo]
name=Docker CE Stable - Debuginfo $basearch
baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/9/debug-$basearch/stable
enabled=0
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg

[docker-ce-stable-source]
name=Docker CE Stable - Sources
baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/9/source/stable
enabled=0
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg

[docker-ce-test]
name=Docker CE Test - $basearch
baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/9/$basearch/test
enabled=0
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg

[docker-ce-test-debuginfo]
name=Docker CE Test - Debuginfo $basearch
baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/9/debug-$basearch/test
enabled=0
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg

[docker-ce-test-source]
name=Docker CE Test - Sources
baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/9/source/test
enabled=0
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg

[docker-ce-nightly]
name=Docker CE Nightly - $basearch
baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/9/$basearch/nightly
enabled=0
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg

[docker-ce-nightly-debuginfo]
name=Docker CE Nightly - Debuginfo $basearch
baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/9/debug-$basearch/nightly
enabled=0
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg

[docker-ce-nightly-source]
name=Docker CE Nightly - Sources
baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/9/source/nightly
enabled=0
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg
  • 5.安装docker-ce
    yum install -y docker-ce
  • 6.启动docker
    systemctl enable --now docker
    #检查
    docker version

修改docker境像

sudo tee /etc/docker/daemon.json <<EOF
{
    "registry-mirrors": [
        "https://docker.1ms.run",
        "https://hub.rat.dev",
        "https://docker.1panel.live"
    ]
}
EOF

sudo systemctl daemon-reload
sudo systemctl restart docker

2)自动补全

sudo dnf install -y bash-completion

部署devops应用

1.部署Rancher2.10.1

1)开放80和443端口

firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --zone=public --add-port=443/tcp --permanent
firewall-cmd --reload

2)创建挂载目录

mkdir -p /opt/data/rancher-home/rancher
mkdir -p /opt/data/rancher-home/log
mkdir -p /opt/data/rancher-home/cni
mkdir -p /opt/data/rancher-home/kubelet

3)启动容器

#采用阿里云
docker run -d --restart=unless-stopped \
  -p 80:80 -p 443:443 --privileged \
  -v /opt/data/rancher-home/rancher:/var/lib/rancher \
  -v /opt/data/rancher-home/rancher/log:/var/log \
  -v /opt/data/rancher-home/rancher/cni:/var/lib/cni \
  -v /opt/data/rancher-home/rancher/kubelet:/var/lib/kubelet \
  -e CATTLE_SYSTEM_DEFAULT_REGISTRY=registry.cn-hangzhou.aliyuncs.com \
  --name rancher -e JAVA_OPTS="-Xmx1024m" registry.cn-hangzhou.aliyuncs.com/rancher/rancher:v2.11.0


#采用默认
docker run -d --restart=unless-stopped \
  -p 80:80 -p 443:443 --privileged \
  -v /opt/data/rancher-home/rancher:/var/lib/rancher \
  -v /opt/data/rancher-home/rancher/log:/var/log \
  -v /opt/data/rancher-home/rancher/cni:/var/lib/cni \
  -v /opt/data/rancher-home/rancher/kubelet:/var/lib/kubelet \
  --name rancher -e JAVA_OPTS="-Xmx1024m" rancher/rancher:laster

参数说明:

-d 后台运行
–name 容器名称
-p 端口映射: 主机:容器内部
-v 数据卷:主机:容器内部
–restart 自启动选项: unless-stopped-表示容器退出时总是重启,但是不考虑docker守护进程运行时就已经停止的容器
– privileged 使用privileged标志时,容器内的进程将具有以下能力:

1、拥有访问主机上所有设备的权限。
2、可以使用主机的所有内核功能。
3、可以使用主机上所有的文件系统

2.安装jenkins

在rancher的部署页中做如下操作

  • 1.输入名称 jenkins
  • 2.输入镜像名称 jenkins/jenkins:alpine
  • 3.添加端口映射 30000(主机):8080(容器)和30001(主机):30001(容器)
  • 4.添加一个路径映射卷,卷名为jenkins-home
    主机路径的话就是填入先前创建的/water/runfile/docker_volume/jenkins-home,选择为现有目录并映射到容器路径/var/jenkins_home上档路径,
    选择为现有目录并映射到容器路径/var/jenkins_home目录路径
  • 4.0.1后面maven的配置文件
  • 4.1因为要在jenkins下执行docker命令,所以再挂载两个宿言主机的路径/var/run/docker.sock:/var/run/docker.sock和/usr/bin/docker:/usr/bin/docker
  • 4.2因为jennkins里要执行docker命令,所以将用户设置为uid为0的用户启动。点击container-0,安全性上下文,用户uid填写0
  • 5.点击启动按钮

以上部署其实对应docker容器中就如下面的命令:

docker run -d --restart unless-stopped --name jenkins \
  -p 30000:8080 -p 30001:30001 \
  -v /water/runfile/docker_volume/jenkins-home:/var/jenkins_home \
  jenkins/jenkins:alpine

刷新等待,直到等到服务状态为Active后说明部署成功

3.安装gitlab

1)开放端口

#开放服务端端口
firewall-cmd --zone=public --add-port=9980/tcp --permanent
firewall-cmd --zone=public --add-port=9922/tcp --permanent

#重启防火墙
firewall-cmd --reload

2)创建挂载目录

mkdir -p /opt/soft/docker/gitlab/etc
mkdir -p /opt/soft/docker/gitlab/log
mkdir -p /opt/soft/docker/gitlab/opt

3)启动容器

docker run -itd  \
 -p 9980:80 \
 -p 9922:22 \
 -v /opt/soft/docker/gitlab/etc:/etc/gitlab  \
 -v /opt/soft/docker/gitlab/log:/var/log/gitlab \
 -v /opt/soft/docker/gitlab/opt:/var/opt/gitlab \
 --restart always \
 --privileged=true \
 --name gitlab gitlab/gitlab-ce

参数说明:

-i 以交互模式运行容器,通常与 -t 同时使用命令解释
-t 为容器重新分配一个伪输入终端,通常与 -i 同时使用
-d 后台运行容器,并返回容器ID
-p 9980:80 将容器内80端口映射至宿主机9980端口,这是访问gitlab的端口
-p 9922:22 将容器内22端口映射至宿主机9922端口,这是访问ssh的端口
-v /opt/soft/docker/gitlab/etc:/etc/gitlab 将容器/etc/gitlab目录挂载到宿主机/opt/soft/docker/gitlab/etc目录下,若宿主机内此目录不存在将会自动创建,其他两个挂载同这个一样
–restart alway 容器自启动
–privileged=true 让容器获取宿主机root权限
–name gitlab 设置容器名称为gitlab
gitlab/gitlab-ce 镜像的名称,这里也可以写镜像ID

### 如何在 openEuler 24.03 LTS SP1 上配置本地 Yum 源 #### 准备工作 为了成功配置本地 Yum 源,需要准备以下资源: - 已经下载好的 openEuler 的 ISO 文件或者 RPM 包集合。 - 系统能够访问这些文件的路径。 --- #### 配置步骤说明 ##### 创建挂载目录 创建一个用于挂载 ISO 文件的目录,并将其挂载到该目录下。此操作可以通过以下命令完成: ```bash sudo mkdir /mnt/openEulerISO sudo mount -o loop /path/to/your/openEuler.iso /mnt/openEulerISO/ ``` 上述命令中的 `/path/to/your/openEuler.iso` 是实际存储 ISO 文件的位置[^1]。 --- ##### 编辑 Yum 源配置文件 进入系统的 Yum 源配置目录 `etc/yum.repos.d/` 并新建或修改对应的 `.repo` 文件。例如可以命名为 `local-openEuler.repo`,其内容如下所示: ```ini [LocalOpenEuler] name=Local OpenEuler Repository baseurl=file:///mnt/openEulerISO enabled=1 gpgcheck=0 ``` 解释各字段含义: - `[LocalOpenEuler]`: 定义了一个新的 Yum 软件源名称。 - `name`: 对软件源的一个描述性命名。 - `baseurl`: 设置为本地挂载点地址,这里指向的是之前挂载的 ISO 文件位置。 - `enabled`: 是否启用这个软件源,设置为 `1` 表示启用。 - `gpgcheck`: 是否验证 GPG 密钥,默认关闭设为 `0` 可简化流程[^2]。 --- ##### 清理缓存并测试新源 执行清理旧有元数据以及重新加载的新命令来确认更改生效与否: ```bash sudo yum clean all sudo yum makecache ``` 如果一切正常,则会看到系统正在读取来自指定本地路径下的包信息提示消息[^3]。 --- #### 注意事项 - 如果遇到权限不足的情况,请确保以 root 用户身份运行以上指令。 - 当不再使用 ISO 映像作为临时介质时记得卸载它以免占用额外空间: ```bash sudo umount /mnt/openEulerISO ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值