0%

基于K3S搭建DevOps

K3s安装

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

组件配置信息

开放端口

端口 用途
53 CoreDNS服务,替代修改Hosts方式实现内网域名访问
5432/3306 PostgreSQL/MySQL数据库(二选一即可)
443,80 HTTPS、HTTP访问入口,Traefik
6379 Redis缓存
8022 SSH管理端口
22 git+ssh方式代码上传

域名规划

组件 访问地址 说明
Cert-Manager 证书管理服务,有公网域名推荐使用,内网部署可生成自签名证书
Traefik Dashboard https://dashboard.example.io 反向代理/负载均衡
Harbor https://harbor.example.io 私有镜像库,镜像缓存
Gitea https://gitea.example.io 源代码仓库
Tekton https://tekton.example.io 云原生持续集成
Drone https://drone.example.io 容器化持续集成
Sonar Qube https://sonar.example.io 静态代码审查。
ArgoCD https://argocd.example.io 持续部署组件

组件部署

Traefik

1
2
3
4
5
6
7
```

### ArgoCD

Helm方式部署

```bash

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

cert-manager

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

1
2
3
4
5
6
7
8
# 添加镜像源
helm repo add jetstack https://charts.jetstack.io

helm upgrade cert-manager jetstack/cert-manager \
--namespace cert-manager \
--install --create-namespace \
--set crds.enabled=true

Harbor

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

1

Gitea

参考K3s部署Gitea

1

Tekton

参考[[K3s部署Tenton]]

1
2
3
4
5
6
7
8
```

### Drone (已弃用)

参考[K3s部署Drone](K3s部署Drone.md)

```bash

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博客