Skip to main content

🚀 部署指南 | Deployment Guide

本文档提供在 K3s 集群上部署服务的详细步骤和操作指南。
部署前请确保已阅读 YAML 规范,确保配置文件符合标准。

📋 前置准备 | Prerequisites

1

访问集群

确保已配置 kubectl 并能够访问 K3s 集群。
2

选择命名空间

根据服务类型选择合适的命名空间(npm / infra / apps / monitoring)。
3

准备配置文件

准备符合规范的 YAML 配置文件。

🚀 快速部署 | Quick Deployment

部署基础设施服务

# 部署 PostgreSQL 数据库
kubectl apply -f manifests/infra/postgres/db.yaml

# 部署 Nginx Proxy Manager
kubectl apply -f manifests/infra/npm/npm.yaml

# 部署 Grafana 监控
kubectl apply -f manifests/infra/grafana/grafana.yaml

部署业务应用

# 部署 Ghost 博客
kubectl apply -f manifests/apps/ghost/ghost.yaml

# 部署 n8n 自动化工作流
kubectl apply -f manifests/apps/n8n/n8n.yaml
建议先部署基础设施服务(数据库、网关),再部署依赖这些服务的业务应用。

📊 查看服务状态 | Check Service Status

查看 Pod 状态

# 查看所有命名空间的 Pod
kubectl get pods -A

# 查看特定命名空间的 Pod
kubectl get pods -n apps
kubectl get pods -n infra

查看服务状态

# 查看所有命名空间的服务
kubectl get svc -A

# 查看特定服务的详细信息
kubectl describe svc <service-name> -n <namespace>

查看部署状态

# 查看所有部署
kubectl get deployments -A

# 查看特定部署的详细信息
kubectl describe deployment <deployment-name> -n <namespace>

🔍 故障排查 | Troubleshooting

# 查看 Pod 日志
kubectl logs <pod-name> -n <namespace>

# 查看 Pod 详细信息
kubectl describe pod <pod-name> -n <namespace>
# 检查 Service 配置
kubectl get svc -n <namespace>

# 检查 Ingress 配置
kubectl get ingress -n <namespace>
# 查看节点资源使用情况
kubectl top nodes

# 查看 Pod 资源使用情况
kubectl top pods -A

🏷️ 命名空间使用指南 | Namespace Usage

npm 命名空间

用于部署流量网关和管理服务:
kubectl apply -f manifests/infra/npm/ -n npm

infra 命名空间

用于部署基础设施服务(数据库、缓存等):
kubectl apply -f manifests/infra/postgres/ -n infra
kubectl apply -f manifests/infra/redis/ -n infra

apps 命名空间

用于部署业务应用:
kubectl apply -f manifests/apps/ghost/ -n apps
kubectl apply -f manifests/apps/n8n/ -n apps

monitoring 命名空间

用于部署监控系统:
kubectl apply -f manifests/infra/grafana/ -n monitoring

📝 部署检查清单 | Deployment Checklist

部署前请确认:
  • 配置文件符合 YAML 规范
  • 已选择正确的命名空间
  • 资源限制已合理配置
  • 健康检查探针已配置
  • 服务依赖关系已考虑(如数据库先于应用部署)
  • 配置文件已通过语法检查

🔄 更新和回滚 | Update and Rollback

更新服务

# 更新部署配置
kubectl apply -f manifests/apps/ghost/ghost.yaml

# 查看更新状态
kubectl rollout status deployment/<deployment-name> -n <namespace>

回滚服务

# 查看部署历史
kubectl rollout history deployment/<deployment-name> -n <namespace>

# 回滚到上一个版本
kubectl rollout undo deployment/<deployment-name> -n <namespace>

# 回滚到指定版本
kubectl rollout undo deployment/<deployment-name> --to-revision=2 -n <namespace>

基础设施概览

了解集群架构和服务访问方式

YAML 规范

学习配置文件的标准格式

团队协作

了解开发流程和 Git 工作流

快速开始

快速上手项目部署
遇到问题?查看我们的 开发指南 或通过 GitHub Issues 联系团队。