0%

基于K3S搭建DevOps

K3s安装

参考 [[K3s安装|K3s安装]]

组件配置信息

组件 端口 访问地址 说明
CoreDNS 53 DNS服务器,实现域名映射
MySQL 3306 Gitea、Harbor等组件的依赖,与PostgreSQL二选一即可。安装参考K3s安装MySQL
PostgreSQL 5432 Gitea、Harbor等组件的依赖,与MySQL二选一即可。安装参考K3s安装PostgreSQL
Cert-Manager 证书管理服务,有公网域名推荐使用,内网部署可生成自签名证书
Traefik 443 https://dashboard.example.io 负载均衡器,服务入口
Harbor https://harbor.example.io 私有镜像库,镜像缓存。安装参考K3s安装
Gitea https://gitea.example.io 源代码仓库,ssh与宿主机ssh端口冲突,需要协调
Drone https://drone.example.io 基于Docker的自动编译服务,与Gitea Runner二选一即可。
Gitea Runner Gitea 自动编译服务,与Drone 二选一即可。
SonarQube https://sonar.example.io 静态代码审查。

组件部署

MySQL

参考 K3s部署MySQL

1
2
3
4
5
6
7
8
9
10
11
# k3s使用 local-path 部署
kubectl apply -f https://gitee.com/Chemmy/kube-template/MySQL/mysql-pvc-local-path.yaml

# 部署mysql-config
kubectl apply -f https://gitee.com/Chemmy/kube-template/MySQL/mysql-config.yaml

# 部署deploy
kubectl apply -f https://gitee.com/Chemmy/kube-template/MySQL/mysql-deployment.yaml

# 部署service(NodePort 方式)
kubectl apply -f https://gitee.com/Chemmy/kube-template/MySQL/mysql-service.yaml

PostgresSQL

参考 K3s部署PostgreSQL

1
2
3
4
5
6
7
8
9
10
11
# k3s使用 local-path 部署
kubectl apply -f https://gitee.com/Chemmy/kube-template/PostgreSQL/postgres-pvc-local-path.yaml

# 部署config
kubectl apply -fhttps://gitee.com/Chemmy/kube-template/PostgreSQL/postgres-config.yaml

# 部署deploy
kubectl apply -fhttps://gitee.com/Chemmy/kube-template/PostgreSQL/postgres-deployment.yaml

# 部署service(NodePort 方式)
kubectl apply -fhttps://gitee.com/Chemmy/kube-template/PostgreSQL/postgres-service.yaml

Traefik

1
2
3
4
5
6
7
8
```

### cert-manager

参考[[Kubernetes/K3s证书管理|K3s证书管理]]

```bash

Harbor

参考K3s部署Harbor私有镜像仓库

1

Gitea

参考K3s部署Gitea

1

Drone

参考K3s部署Drone

1

SonarQube

参考K3s部署SonarQube

1

组件之间联动配置

参考

Gitea官方文档

Gitea README

Drone官方文档

Helm官方文档

Harbor官方文档

Traefik Proxy Documentation - Traefik

k3s 部署gitea+drone_golang k3s-CSDN博客

Harbor 结合 Traefik 的 HA 安装配置-腾讯云开发者社区-腾讯云 (tencent.com)

Traefik - Kubernetes 配置TCP/HTTP服务-腾讯云开发者社区-腾讯云 (tencent.com)

Drone CI使用docker插件构建和推送镜像 - wosperry - 博客园 (cnblogs.com)

在 Kubernetes 上部署 Drone 持续集成环境 | Hanggi - NGNL

Gitea 与 Drone 集成实践:完全基于 Docker 搭建的轻量级 CI/CD 系统 - Gitea - 博客园 (cnblogs.com)

Helm Chart Kubernetes安装SonarQube_helm安装sunaqube-CSDN博客