StatefulSet管理

最近更新时间:2020-10-21 15:38:57

概述

StatefulSet主要用于部署有状态服务的工作负载,相应pod具有稳定的标识符,并支持稳定持久的存储,有序的部署、删除和伸缩。

本模块提供了基于Kubernetes原生的StatefulSet的创建、配置、删除等生命周期的管理指南。

创建StatefulSet

您可以在容器服务控制台通过镜像创建一个StatefulSet

a)基本信息配置

b)StatefulSet配置

c)StatefulSet访问方式配置

进入金山云容器服务控制台,点击左侧导航栏【工作负载】-【StatefulSet】,点击页面左上角的【新建】,即可进入创建StatefulSet的流程。

基本信息配置

  • 名称:用户自定义StatefulSet的名称,不超过63个字符,只能包含小写字母、数字、和“-”,并且必须以小写字母开头,小写字母或数字结尾
  • 地域:选择您部署StatefulSet所在的地域
  • 部署集群:选择StatefulSet运行的集群
  • 命名空间:选择StatefulSet所在集群的命名空间
  • 描述:创建StatefulSet的相关信息,用户自定义填写

部署配置

存储卷

目前支持使用主机路径、本地路径、金山云云硬盘、文件存储、已有PVC等存储类型。 StatefulSet管理

  • 类型:包含主机路径、本地路径、金山云云硬盘、文件存储、已有PVC、使用ConfigMap/Secret

  • 存储卷名称:存储卷的名称

  • 资源名称:选择相应存储资源的名称

  • 其他信息:指定容器要挂载的路径

    备注:

    使用本地硬盘时,若不指定源路径,则默认分配临时路径(对应k8s存储中EmpytDir)

    当使用云硬盘作为存储卷时,存储卷的名称为云硬盘的id,不可修改

容器配置

设置运行的容器信息 StatefulSet管理

  • 名称:容器的名称,不超过63个字符,只能包含小写字母、数字、和“-”,并且必须以小写字母开头,小写字母或数字结尾
  • 镜像:点击【选择镜像】,从镜像仓库中选择;或输入镜像仓库地址
  • 镜像版本:镜像的tag
  • 资源限制:设定容器所使用的CPU和内存资源的限制
  • 环境变量:在容器中添加环境变量,一般用于通过环境变量设置参数,目前仅支持手动添加
  • 实例数量:一个实例由相关的一个或多个容器构成,用户自定义实例数量

镜像访问凭证

目前支持从私有镜像仓库拉取镜像时,为容器配置镜像访问凭证(对应yaml中的imagePullSecret)。 StatefulSet管理

  • 初始状态下提供默认选项ksyunregistrykey,可以匹配金山云镜像仓库中的私有镜像
  • 若您使用的镜像来自第三方私有镜像仓库,可以通过【添加镜像访问凭证】-【使用新的访问凭证】-【设置访问凭证信息】,设置新的访问凭证的名称,以及第三方仓库的域名、用户名、密码,即完成添加第三方私有镜像仓库访问凭证 StatefulSet管理

访问设置

StatefulSet管理

  • 取消开启关联Service:不提供任何从前端服务访问到容器的入口
  • 公网访问:通过金山云公网负载均衡暴露服务,可以直接被公网访问
  • VPC内网访问:通过金山云私网负载均衡暴露服务,可以被同一VPC下其他集群或者云服务器访问
  • 集群内访问:通过集群的内部IP暴露服务,服务只能在集群内部访问
  • 主机端口访问:通过任意一个节点的ip:nodeport,可以从集群外访问

配置完成后,点击【创建】,返回StatefulSet列表页面,查询StatefulSet的状态。

StatefulSet基本操作

更新部署

点击容器控制台左侧导航栏,进入【StatefulSet】列表页面,点击【更新】,进入更新部署页面,用户可以根据业务需要更新StatefulSet的配置。 StatefulSet管理

更新策略:

  • 滚动更新:对实例进行逐个更新,这种方式可以让您不中断业务实现对服务的更新,您可自定义滚动更新的参数。
  • Ondelete:默认的更新策略,用户手动删除旧pod后触发新pod的创建。

Pod管理策略:

  • OrderedReady:StatefulSet的默认管理策略,即按照顺序启动或终止所有的Pod,启动或者终止其他Pod前,需要等待Pod进入Running/Ready/完全停止状态。
  • Parallel:并行的启动或终止所有的Pod,启动或终止其他Pod前,无需等待Pod进入Running/Ready/完全停止状态。

调节实例数量

点击容器控制台左侧导航栏,进入【Deployment】列表页面,点击【调节实例数量】,执行调节实例数量的操作。 StatefulSet管理

当前版本仅支持对StatefulSet数量的手动调节,点击【+】、【-】或者直接输入实例数量调节。

StatefulSet管理

删除StatefulSet

点击容器控制台左侧导航栏,进入【StatefulSet】列表页面,点击【删除】,执行删除StatefulSet的操作。

StatefulSet管理

弹窗如下:

StatefulSet管理

金山云,开启您的云计算之旅

免费注册