enrise/kube-toolbox适用于多种云提供商的Kubernetes工具箱,集成了一系列常用命令行工具,旨在简化Kubernetes集群在不同云平台上的部署与管理流程。支持Google Cloud Platform(GCP)和Amazon Web Services(AWS)部署,未来可轻松扩展支持Microsoft Azure等其他云提供商。
aws:Amazon Web Services命令行工具docker:Docker客户端和服务器gcloud:Google Cloud命令行工具kubectl:Kubernetes命令行工具helm:Helm Kubernetes包管理器envsubst '${ENV_VAR_1} ${ENV_VAR_2}' < dev/kube/production.yml > production.yml:将文件中的指定环境变量替换后输出到新文件jq:JSON字符串格式化工具未来可轻松添加新的云提供商,如Microsoft Azure。
适用于在CI/CD流程(如GitLab CI)中实现Kubernetes集群在Google Cloud Platform或Amazon Web Services上的部署、配置与管理,尤其适合需要跨云平台操作的Kubernetes管理场景。
需在流水线中添加部署阶段:
ymlstages: - deploy
ymldeploy to google cloud platform: stage: deploy image: enrise/kube-toolbox:latest environment: name: production url: [***] only: - master before_script: - connect-google-cloud $SERVICE_ACCOUNT_KEY_FILE "<region>" "<project>" "<cluster_name>" script: - envsubst < dev/kube/manifest.yml > manifest.yml - kubectl apply -f manifest.yml - kubectl rollout status deployment -n "<namespace>" "<deployment-name>"
确保$SERVICE_ACCOUNT_KEY_FILE是服务账号JSON文件的路径,包含连接账户所需的所有密钥。在GitLab项目设置中,可将密钥变量配置为直接作为文件提供。
若仅获取文件内容,可先手动创建密钥文件:
yamlbefore_script: - echo $SERVICE_ACCOUNT_JSON_KEY > /tmp/.gcloud_private_key - connect-google-cloud /tmp/.gcloud_private_key "<region>" "<project>" "<cluster_name>"
ymldeploy to amazon web services: stage: deploy image: enrise/kube-toolbox:latest environment: name: production url: [***] only: - master before_script: - connect-aws "<aws_access_key_id>" "<aws_secret_access_key>" "<region>" "<cluster_name>" script: - envsubst < dev/kube/manifest.yml > manifest.yml - kubectl apply -f manifest.yml - kubectl rollout status deployment -n "<namespace>" "<deployment-name>"
enrise/kube-toolbox容器与旧版enrise/gcloudtoolbox容器完全向后兼容,但已移除旧的wait-for-rollout脚本。只需更新部署配置,使用kubectl rollout status deployment替代,如上述示例所示。
若从enrise/gcloudtoolbox迁移,仍可使用原始命令:
ymllegacy deployment to google cloud platform: stage: deploy image: enrise/kube-toolbox:latest environment: name: production url: [***] only: - master before_script: - echo $GCLOUD_SERVICE_ACCOUNT_KEY > /tmp/.gcloud_private_key - gcloud auth activate-service-account --key-file /tmp/.gcloud_private_key - gcloud container clusters get-credentials example-gcloud-id --project example-project --zone europe-example script: - envsubst < dev/kube/example.yml > example.yml - kubectl apply -f example.yml - kubectl rollout status deployment -n example-namespace example-deployment-name

manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务