# JPD集群部署完成报告 ## 🎉 部署成功! **部署时间**: 2026-02-04 **集群名称**: JPD K3s Cluster **部署状态**: ✅ 成功 --- ## 📊 集群信息 ### 节点状态 | 节点 | 主机名 | 公网IP | 内网IP | 角色 | 状态 | 版本 | |------|--------|--------|--------|------|------|------| | Master | jp1 | 149.13.91.216 | 10.198.0.112 | control-plane | ✅ Ready | v1.28.5+k3s1 | | Worker1 | jp2 | 149.13.91.64 | 10.198.0.175 | worker | ✅ Ready | v1.28.5+k3s1 | | Worker2 | jp3 | 149.13.91.59 | 10.198.0.111 | worker | ✅ Ready | v1.28.5+k3s1 | ### 已部署组件 #### 核心组件 (kube-system) - ✅ CoreDNS - DNS服务 - ✅ Traefik - Ingress控制器 (LoadBalancer) - ✅ Metrics Server - 资源监控 - ✅ Local Path Provisioner - 本地存储 #### Gitea (gitea namespace) - ✅ Gitea主服务 - 1个Pod - ✅ PostgreSQL HA - 3个实例 - ✅ Valkey Cluster (Redis) - 3个实例 - ✅ PgPool - 1个实例 - **总计**: 8个Pod,全部Running #### ArgoCD (argocd namespace) - ✅ argocd-server - Web UI和API - ✅ argocd-repo-server - Git仓库管理 - ✅ argocd-application-controller - 应用控制器 - ✅ argocd-dex-server - SSO认证 - ✅ argocd-redis - 缓存 - ✅ argocd-applicationset-controller - ApplicationSet控制器 - ✅ argocd-notifications-controller - 通知控制器 - **总计**: 7个Pod,全部Running --- ## 🔑 访问信息 ### Gitea Git仓库服务 **访问地址**: - NodePort: http://149.13.91.216:30080 - 域名: http://git.jpd.net3w.com (需配置DNS) **登录凭证**: ``` 用户名: gitea_admin 密码: GitAdmin@2026 邮箱: admin@jpd.net3w.com ``` **测试访问**: ```bash curl http://149.13.91.216:30080 # 或 curl http://git.jpd.net3w.com ``` ### ArgoCD GitOps平台 **获取访问地址**: ```bash ssh fei@149.13.91.216 export KUBECONFIG=/etc/rancher/k3s/k3s.yaml # 配置NodePort kubectl patch svc argocd-server -n argocd -p '{"spec": {"type": "NodePort"}}' # 获取端口 kubectl get svc argocd-server -n argocd ``` **获取admin密码**: ```bash kubectl -n argocd get secret argocd-initial-admin-secret \ -o jsonpath="{.data.password}" | base64 -d && echo ``` **登录凭证**: ``` 用户名: admin 密码: (使用上面命令获取) ``` --- ## 🌐 网络配置 ### 当前端口映射 | 服务 | 类型 | 内部端口 | 外部端口 | 访问地址 | |------|------|----------|----------|----------| | Gitea HTTP | NodePort | 3000 | 30080 | http://149.13.91.216:30080 | | Traefik HTTP | LoadBalancer | 80 | 31637 | http://149.13.91.216:31637 | | Traefik HTTPS | LoadBalancer | 443 | 30672 | https://149.13.91.216:30672 | | ArgoCD | ClusterIP | 80/443 | - | 需配置NodePort或Ingress | ### DNS配置建议 在域名服务商控制台添加以下记录: ``` # 泛域名解析(推荐) *.jpd.net3w.com A 149.13.91.216 # 或单独配置 git.jpd.net3w.com A 149.13.91.216 argocd.jpd.net3w.com A 149.13.91.216 *.jpd1.net3w.com A 149.13.91.216 *.jpd2.net3w.com A 149.13.91.64 *.jpd3.net3w.com A 149.13.91.59 ``` --- ## 📝 常用管理命令 ### 在本地机器上通过SSH执行 ```bash # 查看所有Pod sshpass -p '1' ssh fei@149.13.91.216 "export KUBECONFIG=/etc/rancher/k3s/k3s.yaml && kubectl get pods --all-namespaces" # 查看所有Service sshpass -p '1' ssh fei@149.13.91.216 "export KUBECONFIG=/etc/rancher/k3s/k3s.yaml && kubectl get svc --all-namespaces" # 查看节点状态 sshpass -p '1' ssh fei@149.13.91.216 "export KUBECONFIG=/etc/rancher/k3s/k3s.yaml && kubectl get nodes -o wide" # 查看资源使用 sshpass -p '1' ssh fei@149.13.91.216 "export KUBECONFIG=/etc/rancher/k3s/k3s.yaml && kubectl top nodes" ``` ### 在Master节点上执行 ```bash # SSH到master节点 ssh fei@149.13.91.216 # 配置环境变量 export KUBECONFIG=/etc/rancher/k3s/k3s.yaml # 查看所有资源 kubectl get all --all-namespaces # 查看特定命名空间 kubectl get pods -n gitea kubectl get pods -n argocd # 查看日志 kubectl logs -n gitea kubectl logs -n argocd # 查看Pod详情 kubectl describe pod -n gitea ``` --- ## 🚀 下一步操作 ### 1. 配置ArgoCD访问 ```bash # SSH到master节点 ssh fei@149.13.91.216 export KUBECONFIG=/etc/rancher/k3s/k3s.yaml # 方式1: 配置NodePort kubectl patch svc argocd-server -n argocd -p '{"spec": {"type": "NodePort"}}' ARGOCD_PORT=$(kubectl get svc argocd-server -n argocd -o jsonpath='{.spec.ports[0].nodePort}') echo "ArgoCD访问地址: https://149.13.91.216:$ARGOCD_PORT" # 方式2: 创建Ingress (推荐) cat < Repositories -> Connect Repo 4. 添加Gitea仓库URL ### 6. 部署测试应用 参考 `MANUAL-DEPLOYMENT-GUIDE.md` 创建和部署应用。 --- ## 🔍 故障排查 ### Pod无法启动 ```bash # 查看Pod状态 kubectl get pods -n # 查看Pod详情 kubectl describe pod -n # 查看Pod日志 kubectl logs -n # 查看事件 kubectl get events -n --sort-by='.lastTimestamp' ``` ### 服务无法访问 ```bash # 检查Service kubectl get svc -n # 检查Ingress kubectl get ingress -n # 测试内部访问 kubectl run test-pod --rm -it --image=curlimages/curl -- \ curl http://..svc.cluster.local ``` ### 重启服务 ```bash # 重启Deployment kubectl rollout restart deployment/ -n # 重启StatefulSet kubectl rollout restart statefulset/ -n # 删除Pod强制重建 kubectl delete pod -n ``` --- ## 📈 监控和维护 ### 查看资源使用 ```bash # 节点资源 kubectl top nodes # Pod资源 kubectl top pods --all-namespaces # 持续监控 watch kubectl top pods --all-namespaces ``` ### 备份集群 ```bash # 备份etcd ssh fei@149.13.91.216 sudo k3s etcd-snapshot save --name jpd-backup-$(date +%Y%m%d) # 查看备份 sudo ls -lh /var/lib/rancher/k3s/server/db/snapshots/ # 下载备份到本地 scp fei@149.13.91.216:/var/lib/rancher/k3s/server/db/snapshots/jpd-backup-* ./backups/ ``` ### 更新组件 ```bash # 更新Gitea helm upgrade gitea gitea-charts/gitea -n gitea # 更新ArgoCD kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml ``` --- ## 📚 相关文档 - [JPD集群部署指南](./JPD-CLUSTER-DEPLOYMENT.md) - [后续步骤指南](./JPD-NEXT-STEPS.md) - [手动部署指南](./MANUAL-DEPLOYMENT-GUIDE.md) - [集群迁移指南](./CLUSTER-MIGRATION-GUIDE.md) - [Nginx应用指南](./NGINX-APP-GUIDE.md) --- ## ✅ 部署检查清单 - [x] K3s集群部署完成 - [x] 所有节点Ready - [x] 核心组件运行正常 - [x] Gitea部署完成 - [x] ArgoCD部署完成 - [ ] DNS配置完成 - [ ] ArgoCD NodePort/Ingress配置 - [ ] cert-manager部署 - [ ] HTTPS证书配置 - [ ] 测试应用部署 --- ## 🎯 成功指标 ✅ **集群健康**: 3/3节点Ready ✅ **Gitea**: 8/8 Pods Running ✅ **ArgoCD**: 7/7 Pods Running ✅ **核心组件**: 9/9 Pods Running ✅ **总计**: 24个Pod全部正常运行 --- **部署完成时间**: 约15分钟 **集群状态**: 🟢 健康运行 **下一步**: 配置DNS和HTTPS 🎉 **恭喜!JPD集群GitOps自动化环境部署成功!**