没有项目描述

zalando-deploy-cli的Python项目详细描述


PyPI DownloadsLatest PyPI versionLicense

这个cli为“autobahn”部署api提供了一个自以为是的高级包装器:

  • 它只提供高级命令
    • 仅支持CI/CD管道所需的内容
    • 通过zkubectl
  • 它使用Mustache作为模板
    • Zalando用户很熟悉:我们已经在Senza
    • 语言不可知:用户可以在不更改清单的情况下切换到其他工具

CI/CD管道所需的步骤

  • 应用有状态资源
    • 云形成模板
    • Kubernetes清单
    • 应该可以用于整个目录
  • 创建kubernetes部署
  • 切换“流量/逐箱扩展部署
    • 需要检查pod“readynes”
  • 删除旧部署
  • 缩放展开(手动触发)

为什么选择另一个cli?

ci/cd管道还可以直接调用“autobahn”部署api,但是:

  • ci/cd管道(jenkinsfile)将包含大量代码和逻辑,以便直接与autobahn api交互
  • 如果不运行ci/cd(jenkins),很难测试与autobahn api的交互
  • 没有Kubernetes清单的标准模板-第一种方法依赖于另一个第三方工具(sigil)
  • 切换到另一个ci/cd需要从jenkinsfile重新实现逻辑

用法

与“autobahn”部署api交互的所有命令都需要--execute标志(用于立即批准和执行)或对approveexecute的附加调用。

$ 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 122/10 --execute
$ zdeploy wait-for-deployment kio cd53 12
$ zdeploy switch-deployment kio cd53 123/10 --execute
$ # ..
$ zdeploy switch-deployment kio cd53 1210/10 --execute
$ zdeploy delete-old-deployments kio cd53 12 --execute
$ zdeploy scale-deployment kio cd53 1215 --execute # manual scaling

您也可以手动使用Mustache模板插值:

$ zdeploy render-template my-manifest.yaml foo=bar var2=123

为群集配置

您可以使用 群集别名:

$ 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

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
如何加载。java文件到编译器?   java写入文件和I/O   java日历返回错误的当前日期安卓   if语句if变量等于1(java)   java很难让Joda有时间使用我的bukkit插件   json如何创建基于java的应用程序,该应用程序将从网站获取输入   java如何在多页中打印大型JPanel   java my spinner在添加从firebase数据库中选择的多个值时被覆盖   java用Play框架覆盖HTTP方法   试图获取所有用户时,java错误请求400。Dto和表格   java支持bean加载图像后javascript自动调用JS函数   java在MTOM的@StreamingAttachment(Metro)中,Parsely的意思是什么   具有可抢占线程队列的多线程java执行器   Java Opencv connectedComponentsWithStats   java如何向数组中添加2D数组的数目   eclipse为什么我的Java Zork克隆不能正确循环?   java在哪里放置定制的第二个web。xml   java如何更改最近应用列表中显示的快照?   java Browser#getText()返回空字符串