有状态
有状态应用即Statefulset。Statefulset的详细介绍内容,请参考kubernets官方文档-Statefulsets。
Pod是Kubernetes的最小编排单位,有状态statefulset主要用于部署实例之间有不对等关系,以及实例对外部数据有依赖关系的有状态应用。基于statefulset部署的应用有以下特点:
- 基于statefulset部署的pod是有顺序的,pod的迁移或销毁重建后,仍保持顺序;
- 如需要持久化存储,可以基于PVC实现持久化存储;
- 基于headless service实现稳定网络标志;
入口:在云管平台单击左上角导航菜单,在弹出的左侧菜单栏中单击 “容器/应用/有状态” 菜单项,进入有状态页面。
查看有状态应用
该功能用于基于集群、命名空间筛选有状态应用信息。
在有状态页面,默认查看一个集群下所有命名空间的有状态应用信息。
当环境中存在多个集群时,单击列表上方集群右侧输入框,选择其他集群,查看其他集群下的所有命名空间的有状态应用信息。
当集群下存在多个命名空间时,单击列表上方命名空间右侧输入框,选择命名空间,查看指定命名空间下的有状态应用信息。
新建有状态应用
该功能用于通过镜像创建有状态应用Statefulset。
在有状态页面,单击列表上方 “新建” 按钮,进入新建有状态应用页面。
设置以下参数:
- 名称:Statefulset的名称。
- 集群:选择有状态应用所属集群。
- 命名空间:选择有状态应用所属命名空间。命名空间用于逻辑划分集群,deployment、pod、service等都属于某一命名空间。在云管平台中命名空间对应项目。Kubernetes集群创建完成后默认将生成default、kube-system、kube-public等命名空间。
- 容器组个数:设置容器组Pod的个数,对应yaml文件中spec.replicas值。
- 镜像密钥:访问私有仓库时需要设置密钥,支持新建和选择已有密钥。
- 服务:设置有状态应用以及容器组的访问方式,包括集群内部访问和集群外部访问。
- 内部:将自动生成一个ClusterIP供集群内部和容器组之间访问。
- 目标端口:目标端口是pod上的端口。
- 服务端口:用户访问端口。
- 协议:选择应用使用的协议,包括TCP和UDP。
- 外部:将配合负载均衡功能使用,供集群外部访问。使用外部服务之前需要先在负载均衡中创建负载均衡集群以及节点,创建外部服务时将同步在负载均衡中创建一个负载均衡实例。
- 负载均衡网络:选择IP子网,系统将自动从IP子网中分配一个IP地址作为访问IP。
- 目标端口:目标端口是pod上的端口。
- 服务端口:外部用户访问端口。
- 协议:选择应用使用的协议,包括TCP和UDP。
- 内部:将自动生成一个ClusterIP供集群内部和容器组之间访问。
- 重启策略:仅支持always,即容器退出时总是重启容器。
- 高级配置:根据需求配置标签和备注。
- 标签:自定义设置有状态应用的标签。
- 备注:自定义设置有状态应用的备注信息。
- 容器:可根据需求为deployment中的一个pod设置一个或多个不同的容器。
名称:自定义容器名称。
容器镜像:若仅输入镜像名称,则默认使用dockerhub上的镜像,如需要使用私有仓库镜像,需要设置仓库/镜像。本例直接输入nginx。
CPU/内存:设置容器占用的CPU、内存大小。
容器命令、命令参数:设置容器命令和参数。其中容器命名对应spec.containers.command,参数对应spec.containers.args。如yaml文件中command: [“perl”, “-Mbignum=bpi”, “-wle”, “print bpi(2000)"],需要在表单容器命令中输入以下信息。
$ perl -Mbignum=bpi -wle print bpi(2000)
数据卷:通过键值对的形式为Pod中容器设置存储声明和挂载点,需要提前在集群下的命名空间中创建存储卷声明。
环境变量:通过键值对的形式为Pod配置环境变量。用于给Pod添加环境标志或传递配置等。
特权模式:特权模式的容器内部进程与容器外部进程的权限相同。
单击 “部署” 按钮,部署nginx应用。
设置镜像
该功能用于修改有状态应用的容器镜像。
- 在有状态页面,单击有状态应用右侧操作列 “设置镜像” 按钮,弹出设置镜像对话框。
- 设置镜像,单击 “确定” 按钮,修改应用的容器镜像。
设置副本数
该功能用于修改有状态应用的容器副本数。
- 在有状态页面,单击有状态应用右侧操作列 “设置副本数” 按钮,弹出设置副本数对话框。
- 设置副本数,单击 “确定” 按钮,设置容器组副本数。
查看/编辑
该功能用于查看或者编辑有状态应用的yaml文件。
- 在有状态页面,单击有状态应用右侧操作列 “更多” 按钮,选择下拉菜单 “查看/编辑” 菜单项,弹出查看/更新对话框。
- 支持查看和编辑有状态应用的yaml文件信息。
- 编辑yaml文件后,单击 “确定” 按钮,即可生效。
删除有状态应用
该功能用于删除有状态应用,以及通过有状态应用创建的容器组(pod)。
单个删除
- 在有状态页面,单击有状态应用右侧操作列 “更多” 按钮,选择下拉菜单 “删除” 菜单项,弹出的操作确认对话框。
- 单击 “确定” 按钮,删除有状态应用以及相关资源。
批量删除
- 在有状态列表中选择一个或多个有状态应用,单击列表上方 “删除” 按钮,弹出的操作确认对话框。
- 单击 “确定” 按钮,删除有状态应用以及相关资源。
查看有状态应用详情
该功能用于查看有状态应用详细信息。
- 在有状态页面,单击有状态应用名称项,进入有状态应用详情页面。
- 查看以下信息:包括云上ID、ID、名称、状态、集群、命名空间、容器组、镜像、初始化镜像、标签、创建时间等。
查看容器组
该功能用于查看有状态应用创建的容器组,并支持管理容器组。
查看/编辑
该功能用于查看容器组的yaml文件。
- 在有状态页面,单击有状态应用名称项,进入有状态应用详情页面。
- 单击“容器组”页签,进入容器组页面。
- 单击容器组右侧操作列 “查看/编辑” 按钮,弹出查看/更新对话框。
- 支持查看和编辑有状态应用的yaml文件信息。
- 编辑yaml文件后,单击 “确定” 按钮,即可生效。
删除
该功能用于删除容器组。容器组删除后将会根据yaml文件设置重新部署新的容器组。
- 在有状态页面,单击有状态应用名称项,进入有状态应用详情页面。
- 单击“容器组”页签,进入容器组页面。
- 单击容器组右侧操作列 “删除” 按钮,弹出操作确认对话框。
- 单击 “确定” 按钮,完成操作。
查看服务
该功能用于查看有状态应用创建的服务,只有当创建时设置了内部或外部服务,才能查看对应服务。
查看/编辑
该功能用于查看服务的yaml文件。
- 在有状态页面,单击有状态应用名称项,进入有状态应用详情页面。
- 单击“服务”页签,进入服务页面。
- 单击服务右侧操作列 “查看/编辑” 按钮,弹出查看/更新对话框。
- 支持查看和编辑有状态应用的yaml文件信息。
- 编辑yaml文件后,单击 “确定” 按钮,即可生效。
删除
该功能用于删除服务。
- 在有状态页面,单击有状态应用名称项,进入有状态应用详情页面。
- 单击“服务”页签,进入服务页面。
- 单击服务右侧操作列 “删除” 按钮,弹出操作确认对话框。
- 单击 “确定” 按钮,完成操作。
查看事件
该功能用于记录资源对象事件发生的记录,包括内容、来源、原因、创建时间,用于排除故障。
- 在有状态页面,单击有状态应用名称项,进入有状态应用详情页面。
- 单击“事件”页签,进入事件页面。
- 查看事件的内容、来源、原因以及创建时间等。
查看源信息
该功能用于查看并编辑有状态应用的yaml信息。
- 在有状态页面,单击有状态应用名称项,进入有状态应用详情页面。
- 单击“源信息”页签,进入源信息页面。
- 单击 “复制内容” 按钮,复制节点的yaml文件信息。
- 更新yaml文件后,单击 “更新” 按钮。
查看操作日志
该功能用于查看有状态应用相关的操作日志。
- 在有状态页面,单击有状态应用名称项,进入有状态应用详情页面。
- 单击“操作日志”页签,进入操作日志页面。
- 加载更多日志:在操作日志页面,列表默认显示20条操作日志信息,如需查看更多操作日志,请单击 “加载更多” 按钮,获取更多日志信息。
- 查看日志详情:单击操作日志右侧操作列 “查看” 按钮,查看日志的详情信息。支持复制详情内容。
- 查看指定时间段的日志:如需查看某个时间段的操作日志,在列表右上方的开始日期和结束日期中设置具体的日期,查询指定时间段的日志信息。
- 导出日志:目前仅支持导出本页显示的日志。单击右上角图标,在弹出的导出数据对话框中,设置导出数据列,单击 “确定” 按钮,导出日志。