未提供项目描述
项目描述
此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