实操教程丨如何将一个k3集群集成到Gitlab项目中

  

关于k3s

K3s是由Rancher Labs发布的一个轻量级Kubernetes发行版,这款产品专为在资源有限的环境中运行Kubernetes的研发和运维人员设计。

它是经过认证的Kubernetes发行版,其最低的系统要求为:

  • 系统内核版本:Linux 3.10+

  • 每个Server最低RAM要求:512 MB

  • 每个节点RAM最低要求:75MB

  • 磁盘空间最低要求:200 MB

  • 支持的硬件架构:x86_64、 ARMv7、 ARM64

这些低配置的要求使得k3s非常适用于IoT相关的场景。

在GitLab中创建项目

在安装k3s之前,我们先在Gitlab上创建一个新的项目,称为api。

实操教程丨如何将一个k3s集群集成到Gitlab项目中

创建完成之后,我们点击侧边菜单栏里的Operations,并在下级菜单中选择Kubernetes。

实操教程丨如何将一个k3s集群集成到Gitlab项目中

我们现在有两个选项:

  • 在GKE上创建一个新的Kubernetes集群

  • 导入现有Kubernetes 集群的配置(无论这一集群在何处创建均可导入)

注意:在当前版本的GitLab中,新集群的创建仅限于GKE。

实操教程丨如何将一个k3s集群集成到Gitlab项目中

我们选择【Add existing cluster】这一选项卡。

实操教程丨如何将一个k3s集群集成到Gitlab项目中

在这一步中,我们需要填写几个字段来提供我们需要集成的集群配置。一直打开这个选项卡,暂时无需理会。现在,我们先去创建一个全新的Kubernetes集群。

创建一个k3s集群

我们现在将基于k3s启动一个Kubernetes集群。为什么是k3s呢?因为我想要表明设置它是多么容易。为了让步骤一目了然,我们仅仅设置一个节点的集群。

我已经配置了名为node1的Ubuntu 18.04服务器,我们在该主机上获得了一个shell之后,只需要运行以下命令来安装k3s,这是一个经过认证的Kubernetes集群。

root@node1:~ $ curl -sfL https://get.k3s.io | sh - 

上面的命令类似于用于快速码头工人安装的命令:

curl https://get.docker.com | sh

安装完毕之后,可以在/etc/牧场主k3/k3。yaml中找到连接到集群的配置文件。

root@node1: ~猫/etc/rancher/k3s/k3s.yaml美元   apiVersion: v1   集群:   ——集群:   tCg certificate-authority-data: LS0tL…==服务器:https://localhost: 6443   名称:默认   背景:   ——背景:   集群:默认   用户:默认   名称:默认   当前上下文:默认   :配置   偏好:{}   用户:   ——名称:默认   用户:   密码:48 f4b b4e7…4   用户名:admin

本地kubectl将自动使用此配置。

kubectl美元得到节点   姓名身份角色年龄版本   node1主3 m v1.14.5-k3s做好了准备。1

注意:正如我们看到的快速启动那样(https://k3s。io/),添加额外的节点并不复杂,它基本上只需要从主服务器上的/var/lib/牧场主/k3/服务器/node-token获取一个令牌,并使用以下命令即可连接其他一些节点:

美元curl https://get.k3s同声传译。io | K3S_URL=https://myserver: 6443 K3S_TOKEN=XXX sh - 在Gitlab中集成

现在让我们获取在Gitlab项目中集成全新的k3集群所需的所有信息。

<李>

集群名字:k3

<李>

API服务器的URL:在配置文件中,API服务器指定为:https://localhost 6443。为了从外部访问,我们需要提供node1外部的IP地址。

<李>

集群的CA证书:要向Gitlab提供集群CA证书,我们需要解码配置中指定的那个文件(就像它在64年基地中一样)。

kubectl美元——原始\配置视图   - o=jsonpath=' {.clusters [0] .cluster。certificate-authority-data} ' \   | base64 -解码

实操教程丨如何将一个k3集群集成到Gitlab项目中