微服务持续集成之 Rancher + k3s

架构图

环境说明

主机信息

主机名 操作系统 ip 说明
public Ubuntu 20.10 192.168.1.40 安装 Docker、Rancher、GitLab、Harbor
k3s1 Ubuntu 20.10 192.168.1.41 安装 Docker、k3s server
k3s2 Ubuntu 20.10 192.168.1.42 安装 Docker、k3s agent
k3s3 Ubuntu 20.10 192.168.1.43 安装 Docker、k3s agent

软件

名称 版本
Docker 20.10.2
Rancher xx
GitLab xx
Harbor xx

安装

容器化工具 Docker(所有服务器)

简介

作用

安装

  1. 设置镜像源
1
2
3
4
5
6
7
# 设置镜像源
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
bionic \
stable"
  1. 安装
1
2
# 安装最新版 Docker,并设置为开机启动
apt-get update && apt-get -y install docker-ce docker-ce-cli containerd.io && systemctl enable docker

代码私有仓库 GitLab(仅公共服务器)

简介

GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的web服务。

作用

管理代码。

安装

1
sudo docker run --detach --hostname 192.168.1.40 --publish 80:80 --publish 23:22 --name gitlab --restart always --volume ~/docker/gitlab/config:/etc/gitlab --volume ~/docker/gitlab/logs:/var/log/gitlab --volume ~/docker/gitlab/data:/var/opt/gitlab gitlab/gitlab-ce

初始化用户名密码

  1. 访问192.168.1.10
  2. 设置密码(Root123.),再登录,用户名密码:root/Root123.

配置流水线

  1. 管理中心->设置->网络->外发请求。Allow requests to the local network from hooks and services的对勾打上

  2. 管理中心->设置->应用->New application

标题
名称 rancher
Redirect URI https://192.168.1.40/verify-auth

记下Application Id和Secret,在Rancher流水线会用到

Docker 镜像仓库 Harbor

简介

安装

  1. 下载
1
2
3
4
5
### 下载
wget https://github.com/goharbor/harbor/releases/download/v2.1.2/harbor-offline-installer-v2.1.2.tgz -P /root/soft

### 解压
tar -xvf /root/soft/harbor-offline-installer-*.tgz -C /root/soft
  1. 复制 https 证书
    将 https 证书复制到/root/soft/harbor/目录。

  2. 生成配置文件

1
2
# 生成配置文件
cp harbor.yml.tmpl harbor.yml
  1. 修改 harbor.yml 以下内容
1
2
3
4
5
6
7
8
http:
# 1. 改为81,一般只用https的443,http用不上
port: 81
https:
port: 443
# 2. https证书配置,docker push镜像默认使用https,这是在阿里云的域名,并申请的免费证书,域名解析到了内网机器
certificate: /root/soft/harbor/4986735_harbor/4986735_harbor.ciicit.com.cn.pem
private_key: /root/soft/harbor/4986735_harbor/4986735_harbor.ciicit.com.cn.key
  1. 安装
1
./root/soft/harbor/install.sh

登录

访问https://192.168.1.10,用户名密码:admin/Harbor12345

k3s

简介

容器环境,k8s精简版。

安装

  • 安装 server(仅 k3s1 执行)
1
2
3
4
5
# 安装 server,随机生成节点id,并且运行在 docker 容器中
curl -sfL http://rancher-mirror.cnrancher.com/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn sh -s - --with-node-id --docker

# 查看 token,安装 agent 需要用到
cat /var/lib/rancher/k3s/server/node-token
  • 安装 agent(仅 k3s2、k3s3 执行)
1
curl -sfL http://rancher-mirror.cnrancher.com/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn K3S_URL=https://192.168.1.40:6443 K3S_TOKEN={cat /var/lib/rancher/k3s/server/node-token 的结果} sh -s - --with-node-id --docker

容器管理 Rancher

简介

管理 k3s 容器环境。

安装

1
2
3
4
docker run -d --restart=unless-stopped \
-p 443:444 \
--privileged \
rancher/rancher:latest

配置

  • 管理 k3s 集群

  • 流水线
    流水线 -> 配置代码库 -> 认证&同步代码库 -> 立即设置 -> Gitlab -> 输入Gitlab生成的应用id和密钥;地址输入:Gitlab的地址。 -> 勾选启用自动部署的应用 -> 完成。

-

坚持原创技术分享,您的支持将鼓励我继续创作!