极狐GitLab 管理 K3S 集群实践指南

K3S 是一个轻量级的 Kubernetes 发行版,安装运行所需的资源比完整的 Kubernetes 少,因此在一些资源受限制的场景中会经常用到,比如边缘计算。本文将演示如何用极狐GitLab 管理 K3S 集群。具体的步骤包括 Kubernetes 集群的创建、极狐GitLab Kubernetes Agent 的创建、极狐GitLab Kubernetes Agent 的安装以及 Kubernetes Cluster Dashboard 的配置和管理。K3S 的流程和步骤也是类似的。

极狐GitLab 为 GitLab 的中国发行版,可以一键安装部署,部署详情可以查看官方指南 https://dl.gitlab.cn/uz3208dj

整体步骤

  • 安装好一个可用的 K3S集群;
  • 极狐GitLab Kubernetes Agent 的注册;
  • 极狐GitLab Kubernetes Agent 的安装;
  • K3S Cluster Dashboard 的配置和管理;

K3S 的安装和集群的搭建

根据 K3S 官网指南,使用如下命令即可完成 K3S 集群的安装:

$ curl -sfL https://get.k3s.io | sh -

安装完毕以后,可以对 K3S 集群进行查看:

$ k3s --version
k3s version v1.30.4+k3s1 (98262b5d)
go version go1.22.5

$ export KUBECONFIG=/etc/rancher/k3s/k3s.yaml
$ kubectl  get nodes
NAME             STATUS   ROLES                  AGE   VERSION
vm-20-9-ubuntu   Ready    control-plane,master   34h   v1.30.4+k3s1
$ kubectl  get ns
NAME                      STATUS   AGE
default                   Active   34h
gitlab-agent-k3s-gitlab   Active   22m
kube-node-lease           Active   34h
kube-public               Active   34h
kube-system               Active   34h

极狐GitLab Kubernetes Agent 的注册

在极狐GitLab 项目中添加一个 agent 文件夹,诸如 .gitlab/agent/k3s-gitlab:

在其中添加 config.yaml文件,内容如下:

observability:
  logging:
    level: info
user_access:
  access_as:
    agent: {}
  projects:
    - id: xiaomage-devops/Kubernetes-Agent
    - id: jh-xiaomage-devops/go-demo
  groups:
    - id: xiaomage-devops
    - id: jh-xiaomage-devops

以上步骤就完成了极狐GitLab Kubernetes Agent 的注册。下面对 Agent 进行安装。

极狐GitLab Kubernetes Agent 的安装

项目 --> 运维 --> Kubernetes 集群中选择连接集群:

此时,需要选择一个代理,选择在上面创建的代理即可,也就是 k3s-gitlab:

选择 k3s-gitlab然后点击注册即可:

拷贝上述命令并在命令行终端中直接执行:

$ helm repo add gitlab https://charts.gitlab.io
$ helm repo update
$ helm upgrade --install k3s-gitlab gitlab/gitlab-agent \
    --namespace gitlab-agent-k3s-gitlab \
    --create-namespace \
    --set image.tag=v17.3.0 \
    --set config.token=glagent-token \
    --set config.kasAddress=wss://kas.jihulab.com
"gitlab" has been added to your repositories
Hang tight while we grab the latest from your chart repositories...
...Successfully got an update from the "gitlab" chart repository
Update Complete. ⎈Happy Helming!⎈
Release "k3s-gitlab" does not exist. Installing it now.
NAME: k3s-gitlab
LAST DEPLOYED: Sun Aug 25 09:59:33 2024
NAMESPACE: gitlab-agent-k3s-gitlab
STATUS: deployed
REVISION: 1
TEST SUITE: None
NOTES:
Thank you for installing gitlab-agent.

Your release is named k3s-gitlab.

## Changelog

### 1.17.0

- The default replica count has been increased from `1` to `2` to allow a zero-downtime upgrade experience.
  You may use `--set replicas=1` to restore the old default behavior.

查看 Agent 的状态:

kubectl  -n gitlab-agent-k3s-gitlab get pods
NAME                                          READY   STATUS    RESTARTS   AGE
k3s-gitlab-gitlab-agent-v2-6686cc78d4-6rrzx   1/1     Running   0          34m
k3s-gitlab-gitlab-agent-v2-6686cc78d4-r7d5v   1/1     Running   0          34m

接着可以在项目 --> 运维 --> Kubernetes 集群中查看集群的状态:

K3S 集群已安装成功。

添加 K3S cluster Dashboard

在极狐GitLab 项目 --> 运维 --> 环境中选择新建环境:

填写环境名称、选择代理(k3s-gitlab),然后点击保存:

就可以看到该 k3s 集群下面的所有资源都在极狐GitLab 上展示了:

点击 pod右侧的 View logs可以查看 pod 的日志:

点击 pod右侧的三个点,还可以对 pod进行删除:

本文由博客群发一文多发等运营工具平台 OpenWrite 发布