|
|
||
|---|---|---|
| .. | ||
| README.md | ||
| drone-ingress.yaml | ||
| drone-runner-deployment.yaml | ||
| drone-server-deployment.yaml | ||
| drone-server-service.yaml | ||
| install-drone.sh | ||
README.md
Drone Kubernetes 部署配置
本目录包含在Kubernetes集群中部署Drone CI/CD的配置文件。
文件说明
1. drone-server-deployment.yaml
Drone Server的主要部署配置:
- nodeSelector: 确保Drone Server只在主节点(control-plane)上运行
- image: 使用官方Drone镜像
drone/drone:2 - ports: 80端口用于Web界面
- volumes:
/opt/drone/data数据存储目录(主机路径) - env: 配置Gitea集成、RPC通信等环境变量
2. drone-server-service.yaml
Drone Server服务配置:
- type: ClusterIP(集群内部访问)
- ports: 暴露80端口
- selector: 匹配app=drone-server的pod
3. drone-runner-deployment.yaml
Drone Runner部署配置:
- image: 使用
drone/drone-runner-kube:latest - env: 配置与Drone Server的RPC通信
- volumes: 挂载ConfigMap配置
5. drone-ingress.yaml
Drone外部访问配置:
- host: drone-ops.t-aaron.com(外部访问域名)
- annotations: 配置Traefik入口点和TLS
- tls: 使用tls Secret启用HTTPS
6. install-drone.sh
一键安装脚本:
- 按顺序应用所有yaml文件
- 等待部署完成
- 显示访问信息
部署步骤
- 确保k3s集群正常运行 openssl rand -hex 16 生产: d3c911a6c227e59f4f86f33db6943dc4
- 确保Gitea已部署并运行
- 在Gitea中创建OAuth应用:
- 应用名称: Drone
- 重定向URI: https://drone-ops.t-aaron.com/login
- 更新yaml文件中的OAuth配置:
替换 drone-server-deployment.yaml 脚本里面的下面内容
- name: DRONE_GITEA_CLIENT_ID value: "87ef56d3-c8ef-40d3-9dd5-d9214fdac09f"
- name: DRONE_GITEA_CLIENT_SECRET value: "tHe6Cq3dNpelsCA2NRTaGB3EueIFRkyLxh9USwBbxe4A"
- name: DRONE_RPC_SECRET value: "your-rpc-secret" 替换 drone-runner-devployment 中如下内容
- name: DRONE_RPC_SECRET value: "d3c911a6c227e59f4f86f33db6943dc4"
- 运行安装脚本:
./install-drone.sh - 访问 https://drone-ops.t-aaron.com 进行Drone初始化 tuoheng@qq.com tuoheng tuoheng
注意事项
- Drone数据存储在主机
/opt/drone/目录 - 确保主节点有足够的存储空间
- 需要先在Gitea中配置OAuth应用
- 所有服务都运行在
default命名空间 - 使用相同的TLS证书确保HTTPS访问