欢迎来到云服务器租用和托管数据中心

网络技术

使用Kubernetes部署有什么好处?

Kubernetes 部署 用于告诉 Kubernetes 如何创建或修改包含容器化应用程序的 pod 实例。部署可以扩展副本 pod 的数量,以受控方式推出更新的代码,或者在必要时回滚到早期的部署版本。 

使用Kubernetes部署有什么好处?

使用 Kubernetes 部署有什么好处?

Kubernetes 自动化了生产中部署、扩展和更新应用程序所涉及的工作和重复的手动功能。由于 Kubernetes 部署控制器始终监控 Pod 和节点的健康状况,它可以替换发生故障的 Pod 或绕过节点,替换这些 Pod 以确保关键应用程序的连续性。部署会自动启动 pod 实例,并确保它们按照定义在集群中的所有节点上运行。更多的自动化转化为更快的部署和更少的错误。

什么是 Kubernetes 部署策略?

Kubernetes 提供了多种部署策略来处理广泛的应用程序开发和部署需求。一旦您定义了应用程序的所需状态,部署控制器就会以受控的变化率进行所需的更改。 

什么是 Kubernetes 重新创建部署?

重新创建策略会终止当前运行的 pod 实例并使用新版本“重新创建”它们。通常用于用户活动不是问题的开发环境中。
重新创建完全刷新了 pod 和应用程序的状态。因此,存在与旧部署的关闭和新部署实例的启动相关的停机时间。

什么是 Kubernetes 滚动更新部署?

滚动更新策略允许从一个应用程序版本到新版本的有序、渐进式迁移。在此部署中,启动了具有新版本的新 ReplicaSet,并且随着新版本的副本的启动,旧版本的副本被终止。最终,所有旧版本的 Pod 都被终止并被新版本取代。滚动更新可实现版本之间的有序转换,但转换可能需要一些时间。

使用Kubernetes部署有什么好处?

什么是 Kubernetes 蓝/绿部署?

一旦新版本在生产中进行测试,蓝/绿策略提供了从旧应用程序版本到新应用程序版本的快速过渡。在这里,新的“绿色”版本与现有的“蓝色”版本一起部署。当确信“绿色”版本按设计工作时,版本标签将在执行负载平衡的 Kubernetes 服务对象的选择器字段中替换。这会立即将流量切换到新版本。尽管这提供了避免版本控制问题的快速推出,但此策略需要两倍的资源利用率,因为两个版本都在运行直到切换。

什么是 Kubernetes 金丝雀部署?

在金丝雀部署中,较小的用户组被路由到应用程序的新版本,该应用程序在较小的 pod 子集上运行以测试生产环境中的功能。一旦确信测试没有错误,新版本的副本就会被放大,从而有条不紊地替换旧版本。Canary 部署非常适合在一小部分用户上测试新功能,并且很容易回滚。因此,金丝雀部署可以很好地衡量新代码将如何影响系统的整体运行。

Kubernetes 部署的用例是什么?

部署是管理和扩展应用程序在集群上运行方式的最简单方法,Kubernetes 的开放 API 简化了与 CI/CD 管道的集成。 

一些常见的部署用例:

  • Kubernetes 的一个流行用例是运行无状态 Web 服务器,例如流行的开源 nginx。部署可以请求实例化固定数量的 pod 副本,Kubernetes 将在部署期间维护该数量的 pod。
  • 需要像数据库实例这样的持久存储的应用程序将使用 StatefulSet 类型部署并挂载持久卷以确保数据完整性和寿命。
  • 随着工作负载的增加,部署可以自动扩展集群中的副本数量,自动平衡副本之间的传入请求,随着需求的增加创建新的副本,并在需求下降时终止副本。

使用Kubernetes部署有什么好处?

如何创建 Kubernetes 部署?

与大多数 Kubernetes 功能一样,部署在 YAML(或 JSON)文件中描述,然后使用 kubectl apply 创建。

例如,一个名为“web-deployment”的 nginx 部署的 YAML 具有 4 个副本,如下所示:

api版本:应用程序/v1;

种类:部署

元数据:

名称:网络部署规范:

选择器:

匹配标签:

应用程序:nginx

复制品:4

模板:

元数据:

标签:

应用程序:nginx

规格:

容器:

- 名称:nginx

图片:nginx:1.17.0

端口:- 容器端口:80

一旦定义了部署,它就会从 YAML 文件中创建:kubectl apply -f https://[location/web-deployment.yaml]

Kubernetes 中的 JSON 和 YAML 有什么区别?

YAML(YAML Ain't Markup Language)和 JSON(JavaScript Object Notation)都可以用来定义 Kubernetes 资源。许多用户更喜欢 YAML 的可读性。但是,由于 YAML 是 JSON 的超集,因此任何有效的 JSON 文件也是有效的 YAML 文件。

如何更新 Kubernetes 部署?

可以通过更改部署中的 Pod 模板规范来更新部署,这会自动导致更新推出。更改 Pod 模板将导致正在运行的 pod 停止接受请求,因此可以缩减它们,直到可以终止所有 pod。一旦它们被终止,更新的 pod 模板将用于创建新的 pod。

使用Kubernetes部署有什么好处?

如何回滚 Kubernetes 部署?

如果部署被认为不稳定或部署中有错误,则使用以下命令回滚到以前的版本:

Kubectl rollout undo [deployment_name]添加参数–to-revision=将回滚到该特定版本的部署

如何扩展 Kubernetes 部署?

随着特定应用程序的需求增加,部署对于扩展副本数量很有用,并且可以通过 kubectl scale 命令完成。例如,要将部署扩展到 20 个副本,可以使用:

Kubectl scale [deployment-name] –replicas 20

Copyright © 2003-2020 香港服务器和服务器租用 梦飞数据中心 版权所有