关于 gke-app-onboarding
gke-app-onboarding 是一项指导将尚未运行在 Kubernetes 上的应用首次部署到 GKE 的技能,面向应用开发与运维人员。它涵盖从应用评估、容器化到清单部署和验证的流程。
主要功能
- 01评估技术栈与应用需求
- 02创建容器镜像并推送至 Artifact Registry
- 03生成 Kubernetes 资源清单
- 04部署并检查应用状态
适用场景
- 01准备传统应用首次迁移到 GKE
- 02为应用配置命名空间、探针和服务
- 03验证初次部署后的 Pod 与服务
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ googlecloudplatform/ gke-mcp --skill gke-app-onboarding安装后在 Claude Code 中输入/gke-app-onboarding确认已加载。
详细介绍
GKE 应用接入技能
此技能提供工作流,用于准备尚未在 Kubernetes 上运行的应用,并首次将其部署到 GKE。
工作流
1. 应用评估
在容器化之前,评估应用的需求:
- 语言与框架:确定技术栈。
- 依赖项:列出所需的库和服务。
- 配置:确定应用的配置方式(例如,环境变量、配置文件)。
- 有状态性:确定应用是否需要持久化存储(数据库、文件存储)。
- 网络:确定端口映射和协议(HTTP、TCP 等)。
2. 容器化
创建适用于该应用的容器镜像:
- Dockerfile:在项目根目录中创建
Dockerfile。 - 多阶段构建:建议使用多阶段构建,以减小生产镜像的体积并提升安全性。
- 日志记录:确保应用将日志写入
stdout和stderr,以便正确收集日志。 - 替代方案:考虑使用 Cloud Native Buildpacks 或 Skaffold,在无需编写 Dockerfile 的情况下自动进行容器化并支持开发工作流。
3. 镜像管理
构建并存储容器镜像:
- 构建:在本地或使用 CI/CD 流水线构建镜像。
- 仓库:将镜像推送到 Google Artifact Registry。
- 漏洞扫描:在 Artifact Registry 中启用自动漏洞扫描,以检测基础镜像和依赖项中的安全问题。
4. 清单生成
为应用生成 Kubernetes 清单:
- 命名空间:为应用创建专用的
Namespace,以隔离资源。- 安全性:为命名空间添加标签以强制执行 Pod 安全标准(例如,
pod-security.kubernetes.io/enforce: restricted和pod-security.kubernetes.io/enforce-version: latest)。
- 安全性:为命名空间添加标签以强制执行 Pod 安全标准(例如,
- ServiceAccount:为应用创建专用的
ServiceAccount。遵循最小权限原则,避免使用defaultServiceAccount。 - Deployment:创建
Deployment清单。- 添加资源请求和限制。
- 配置存活探针和就绪探针。
- 使用
serviceAccountName字段引用专用的ServiceAccount。
- Service:创建 Service 清单(例如,内部应用使用 ClusterIP,外部访问使用 LoadBalancer)。如需高级 L7 路由,请考虑使用 Gateway API。
5. 初始部署
应用清单并验证部署:
- 应用:使用
kubectl apply -f <manifest-file>。 - 验证:使用
kubectl get pods检查 Pod 状态,并确保 Service 可以访问。
后续步骤
应用运行后,使用 gke-productionize 技能评估其是否已做好生产环境准备。
评论
支持 Markdown