未提供项目描述
项目描述
此CLI为“Autobahn”部署API提供一个有偏见的、高级包装器
- 它只提供高级命令 - 仅支持CI/CD管道所需的功能 
- 由zkubectl提供的Kubernetes的低级别访问 
 
- 它使用Mustache进行模板化 - 对Zalando用户来说很熟悉:我们已经在Senza中使用它 
- 语言无关:用户可以在不更改其清单的情况下切换到其他工具 
 
CI/CD管道所需的步骤
- 应用有状态资源 - 云Formation模板 
- Kubernetes清单 
- 整个目录应该可以实现 
 
- 创建Kubernetes部署 
- 切换“流量”/逐个伸缩部署的Pod - 需要检查Pod的“就绪”状态 
 
- 删除旧部署 
- 伸缩部署(手动触发) 
为什么还要另一个CLI?
CI/CD管道也可以直接调用“Autobahn”部署API,但是
- CI/CD管道(Jenkinsfile)将包含大量与Autobahn API直接交互的代码和逻辑 
- 在没有运行CI/CD(Jenkins)的情况下很难测试与Autobahn API的交互 
- 没有Kubernetes清单的标准模板——第一种方法依赖于另一个第三方工具(sigil) 
- 切换到另一个CI/CD将需要重新实现Jenkinsfile中的逻辑 
使用方法
所有与“Autobahn”部署API交互的命令都需要使用--execute标志(用于立即批准和执行)或额外的调用approve和execute。
$ sudo pip3 install -U zalando-deploy-cli
$ zdeploy configure \
    --deploy-api=https://deploy-api.example.org \
    --aws-account=aws:7.. \
    --aws-region=eu-central-1 \
    --kubernetes-cluster=aws:7..:kube-1
$ zdeploy apply ./apply/my-service.yaml --execute \
    application=kio version=cd53 release=12
$ zdeploy create-deployment deployment.yaml kio cd53 12 --execute
$ zdeploy wait-for-deployment kio cd53 12
$ zdeploy switch-deployment kio cd53 12 2/10 --execute
$ zdeploy wait-for-deployment kio cd53 12
$ zdeploy switch-deployment kio cd53 12 3/10 --execute
$ # ..
$ zdeploy switch-deployment kio cd53 12 10/10 --execute
$ zdeploy delete-old-deployments kio cd53 12 --execute
$ zdeploy scale-deployment kio cd53 12 15 --execute # manual scaling您也可以手动使用Mustache模板插值
$ zdeploy render-template my-manifest.yaml foo=bar var2=123为集群配置
您可以使用集群的别名自动设置Kubernetes集群特定的配置
$ zdeploy configure-for-cluster ALIAS
New configuration:
  aws_account: aws:7..
  kubernetes_api_server: https://kube-1.example.org
  kubernetes_cluster: aws:7..:kube-1如果您没有配置zkubectl,则需要提供集群注册表URL
$ zdeploy configure-for-cluster --cluster-registry-url https://registry.example.org ALIAS