mcpField
G
gke-app-onboarding

gke-app-onboarding

github.com/googlecloudplatform云与 DevOps16949 次安装3 天前更新
代码仓库

关于 gke-app-onboarding

gke-app-onboarding 是一项指导将尚未运行在 Kubernetes 上的应用首次部署到 GKE 的技能,面向应用开发与运维人员。它涵盖从应用评估、容器化到清单部署和验证的流程。

主要功能

  1. 01评估技术栈与应用需求
  2. 02创建容器镜像并推送至 Artifact Registry
  3. 03生成 Kubernetes 资源清单
  4. 04部署并检查应用状态

适用场景

  1. 01准备传统应用首次迁移到 GKE
  2. 02为应用配置命名空间、探针和服务
  3. 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)。
  • ServiceAccount:为应用创建专用的 ServiceAccount。遵循最小权限原则,避免使用 default ServiceAccount。
  • 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