2.4 命令式容器应用编排

本节将使用示例镜像“ikubernetes/myapp:v1”来演示容器应用编排的基本操作:应用部署、访问、查看、服务暴露和扩缩容等。一般来说,Kubernetes之上应用程序的基础管理操作由如下几个部分组成。

  1. 通过合用的 Controller 类的资源(如 Deployment 或 ReplicationController)创建并管控 Pod 对象以运行特定的应用程序,如 Nginx 或 Tomcat 等。无状态(stateless)应用的部署和控制通常使用 Deployment 控制器进行,而有状态应用则需要使用 StatefulSet 控制器。

  2. 为 Pod 对象创建 Service 对象,以便向客户端提供固定的访问路径,并借助于 CoreDNS 进行服务发现。

  3. 随时按需获取各资源对象的简要或详细信息,以了解其运行状态。

  4. 如有需要,则手动对支持扩缩容的 Controller 组件进行扩容或缩容;或者,为支持 HPA 的 Controller 组件(如 Deployment 或 ReplicationController)创建 HPA 资源对象以实现 Pod 副本数目的自动伸缩。

  5. 滚动跟新:当应用程序的镜像出现新版本时,对其执行更新操作;必要时,为 Pod 对象中的容器更新其镜像版本;并根据需要执行回滚操作。

本节中的操作示例仅演示了前三个部分的功能,即应用的部署、服务暴露及相关信息的查看。应用的扩缩容、升级及回滚等操作会再后面的章节中进行详细介绍。

以下操作命令在任何部署了 kubectl 并能正常访问到 Kubernetes 集群的主机上均可执行,包括集群外的主机。复制 master 主机上的 /etc/kubernetes/admin.conf 至相关用户主目录下的 .kube/config 文件即可正常执行,具体方法请参考 kubeadm init 命令结果中的提示。

results matching ""

    No results matching ""