用途
Helm Development 技能用于开发、测试和发布面向 EKS 部署的 Helm Chart。其覆盖范围包括 Chart 脚手架、values 管理、Chart 测试、lint 检查、安全扫描以及 Chart 发布,并针对 EKS 与 Keycloak 集成场景提供了结构参考。
主要能力
- Chart 结构参考:给出面向 EKS + Keycloak 的目录结构,包含 Chart.yaml、Chart.lock、values.yaml、多环境 values 文件、.helmignore、templates 目录(deployment、service、ingress、serviceaccount、hpa、pdb、configmap、secret、external-secret、networkpolicy、tests)以及 ci 目录。
- Chart.yaml 模板:提供 apiVersion、name、description、type、version、appVersion、kubeVersion、keywords、home、sources、maintainers、dependencies、annotations 等字段示例。
- Values 管理:提供 values.yaml 默认值示例,涵盖 replicaCount、image、serviceAccount、podAnnotations、podSecurityContext、securityContext、service、ingress、resources、autoscaling、nodeSelector、tolerations、affinity、keycloak、aws、externalSecrets、env、envFrom、livenessProbe、readinessProbe、podDisruptionBudget、networkPolicy 等配置项。
- 模板辅助函数:提供 _helpers.tpl 示例,包括 name、fullname、chart、labels、selectorLabels、serviceAccountName、keycloakEnv 等 define 块。
- 开发命令:涵盖创建 Chart、lint、模板渲染、测试、打包与发布、ct 测试、安全扫描等命令示例。
- Chart Testing 配置:提供 ct.yaml 示例,包含 remote、target-branch、chart-dirs、chart-repos、helm-extra-args、validate-maintainers、check-version-increment 等配置。
- 安全扫描:提供 Trivy、Checkov、Kubesec、Polaris 的扫描命令示例。
- Values 校验 Schema:提供 JSON Schema 示例,用于校验 values 中的 image、service、keycloak 等字段。
- 多环境 values 模式:提供 values-dev.yaml 与 values-prod.yaml 的示例,展示不同环境的副本数、镜像、ingress、Keycloak、资源限制和自动扩缩容配置。
- 故障排查:提供模板语法错误、values 未生效、release 卡住、CRD 问题、依赖问题等常见问题的排查方向。
使用方式
该技能以参考文档形式提供 Helm Chart 开发所需的模板、配置和命令示例。开发者可按照给出的目录结构创建 Chart,使用 helm create、helm lint、helm template、helm test、helm package、helm push 等命令进行开发、验证和发布,并可结合 ct、Trivy、Checkov、Kubesec、Polaris 等工具进行测试与安全扫描。
适用场景
适用于需要为 EKS 部署编写 Helm Chart 的团队,尤其是需要集成 Keycloak 认证、使用 AWS Secrets Manager 外部密钥、配置 IRSA、多环境 values 管理以及通过 OCI registry(如 ECR)发布 Chart 的场景。
限制
资料中未提供该技能的安装方式、收费模式、价格、平台支持范围、实际运行效果或具体使用步骤的完整说明。部分内容为示例模板和命令,实际使用时需根据具体环境调整。