简体   繁体   English

Kubernetes部署

[英]Kubernetes Deployments

While working on creating a platform that will do microservice deployments using Kubernetes, we want to take a Dependency on the Kubernetes Deployment Object. 在创建一个使用Kubernetes进行微服务部署的平台时,我们希望对Kubernetes部署对象具有依赖性。 However, we saw the documentation http://kubernetes.io/v1.1/docs/user-guide/deployments.html says the following "Note that Deployment objects effectively have API version v1alpha1. Alpha objects may change or even be discontinued in future software releases" I am wondering if we should go about using the Deployment concept to do our deployments, essentially rolling updates or since it could be discontinued or change, should we just reimplement the same concepts ourselves like , creating a rc with new labels, create new pods with different labels then both old rc and new rc, scale down the old rc by slowly removing pods from the old rc and slowly adding new pods into the new rc. 但是,我们在文档http://kubernetes.io/v1.1/docs/user-guide/deployments.html上看到以下内容:“请注意,部署对象实际上具有API版本v1alpha1。Alpha对象可能会更改,甚至在未来的软件版本”,我想知道我们是否应该继续使用Deployment概念来进行部署,本质上是滚动更新,还是因为它可能会中断或更改,所以我们是否应该自己重新实现相同的概念,创建带有新标签的rc,创建具有不同标签的新容器,然后同时使用旧容器和新容器,通过从旧容器中缓慢移除容器并将容器缓慢添加到新容器中来缩小容器的尺寸。 What is the plan or proposed changes for Deployment or that concept is going away for a better concept ? 部署的计划或提议的变更是什么?或者该概念正在消失以寻求更好的概念? Also i am wondering why OpenShift did not use the Deployment object, was it not ready at that time ? 我也想知道为什么OpenShift不使用Deployment对象,那时它还没有准备好吗?

OpenShifts deployment object preceded the upstream Kube object (being feature complete in the March 2015 time frame). OpenShifts部署对象位于上游Kube对象之前(该功能已在2015年3月的时间范围内完成)。 Once Kube Deployments support the remaining features in OpenShift deployments, we'll automatically migrate them. 一旦Kube部署支持OpenShift部署中的其余功能,我们将自动迁移它们。 Some things OpenShift deployments support that are not upstream yet OpenShift部署尚不支持的某些功能

  • Automatic deployment when Docker registry tags change Docker注册表标签更改时自动部署
  • Custom deployments (run your own deployment logic in a pod) 自定义部署(在Pod中运行您自己的部署逻辑)
  • Deployment hooks - execute "bundle exec rake db:migrate" before or after deploying your app 部署挂钩-在部署您的应用之前或之后执行“ bundle exec rake db:migrate”
  • Recreate deployment strategy 重新创建部署策略
  • Ability to pause or "hold" a deployment so it does not automatically run (so admins can choose to deploy). 能够暂停或“保留”部署,使其不会自动运行(因此管理员可以选择部署)。
  • Ability for deployments to "fail" and be recorded (so that end users know that the code they pushed failed to start). 部署“失败”并被记录的能力(以便最终用户知道他们推送的代码无法启动)。

It will take time to add those remaining options. 添加剩余的选项将需要一些时间。

As of now, the Deployment concept has been moved to "v1beta1". 到目前为止,部署概念已移至“ v1beta1”。 The concept will most probably be continued, because it is a declarative approach (vs. the imperative approach with the older replication controller etc.). 该概念很可能会继续,因为它是一种声明性方法(与使用较旧复制控制器的命令性方法等)。

Can't tell anything about OpenShift but on GKE it works for me pretty well! 关于OpenShift,什么也不能说,但是在GKE上,它对我来说很有效!

Deployment is planned to graduate to beta in 1.2 release. 计划将部署部署到1.2版中的beta版。 See related issue #15313 for the changes to be made. 有关更改,请参见相关问题#15313 We will also have new kubectl commands for rolling update which uses Deployment, see issue #17168 and the proposal . 我们还将有新的kubectl命令用于滚动更新,该命令使用Deployment,请参见问题#17168proposal

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM