工作负载管理
- 1: Deployment
- 2: StatefulSet
- 3: Job
- 4: CronJob
- 5: Pod
- 6: CRD
- 7: DaemonSet
1 - Deployment
本文档介绍了如何在 KubeCube 上创建、使用和编辑 Deployment。
准备工作
创建一个租户,在租户下创建一个项目,在项目下创建一个命名空间,创建一个账号并赋予该命名空间操作权限。
创建 Deployment
1、选择租户和项目,选择集群和空间,展开【工作负载】菜单,点击 【Deployments】,进入 Deployment 管理页面。
2、点击【部署】,进入创建 Deployment 页面,填写信息后,点击【立即创建】,即可创建一个 Deployment。
- 基本信息
- 名称:由小写字母、数字或中划线组成,长度1~63位,以字母开头,字母或数字结尾;
- 副本数:默认为1个;
- 更新策略
- 最短就绪时间:新创建的副本准备就绪后,被视为可用前需要保持正常的时间下限,单位(秒);
- 最大超预期副本数:可创建的最大超过所需副本的副本数量或百分比;
- 最大不可用副本数:更新过程中不可使用的副本数上限个数或百分比;
- 容器配置
- 容器名称:副本运行的容器名称;
- 镜像:容器运行的镜像 ;
- 配置:配额设置,包括请求配额(基础配置)、最大配额(配置上限),以及 GPU 配置;
- 挂载数据卷:选择已创建的数据卷,并设置挂载目录和子路径等;
- 环境变量:配置副本的环境变量;
- 容器类型:分为业务容器和 init 容器,init 容器不支持就绪探针,必须可以执行结束。一个 pod 可以有多个 init 容器,它们将依次在业务容器运行前执行。
- 启动命令:容器启动时即执行该命令;
- 启动命令参数:执行启动命令时所需的参数;
- 存活探针:可以开启存活探测器,并配置,具体配置方法可参考 https://v1-19.docs.kubernetes.io/zh/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/。
- 就绪探针:可以开启就绪探测器,并配置,具体配置方法可参考 https://v1-19.docs.kubernetes.io/zh/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/。
- 生命周期-停止前:在容器因 API 请求或者管理事件(诸如存活态探针、启动探针失败、资源抢占、资源竞争等) 而被终止之前,此命令会被调用。
- 生命周期-启动后:这个回调在容器被创建之后立即被执行。 但是,不能保证回调会在容器入口点(ENTRYPOINT)之前执行。 没有参数传递给处理程序。
- 容器端口:需要在副本的 IP 地址上公开的端口;
- 镜像拉取策略:可以选择 Always、Never、IfNotPresent;
- 高级配置
- 仓库密钥:如果配置的镜像需要密钥拉取,选择已创建的 Secret;
- 标签:给该 Deployment 添加标签;
- 注释:给该 Deployment 添加注释;
- 部署策略:给该 Deployment 添加节点亲和性、副本亲和性、副本反亲和性、容忍等部署规则。
管理 Deployment
选择租户和项目,选择集群和空间,展开【工作负载】菜单,点击【Deployments】,进入 Deployment 管理页面,可以看到该命名空间下的所有 deployment 名称以及状态。
这里的状态指的是该 deployment 下所有副本的状态。
- desired:预期的副本数;
- updated:已经是最新版本的副本数;
- available:可用副本数;
- unavailable:不可用副本数;
- total:总副本数。
同时也可以根据名称对列表进行搜索,或对单个 deployment 进行副本数调整、滚动更新、删除,以及修改 Yaml。
查看 Deployment 详情
在 Deployment 管理页面,点击任一 deployment 名称,可以进入到该 deployment 详情页。
在 Deployment 详情页,可以查看到 deployment 的具体信息,以及该 deployment 所关联的所有副本的详情、副本的监控数据以及该 deployment 和副本的事件信息和 condition 信息。
2 - StatefulSet
本文档介绍了如何在 KubeCube 上创建、使用和编辑 StatefulSet。
准备工作
创建一个租户,在租户下创建一个项目,在项目下一个创建一个命名空间,创建一个账号并赋予该命名空间操作权限。
创建 StatefulSet
1、选择租户和项目,选择集群和空间,展开【工作负载】菜单,点击【Statefulsets】,进入StatefulSet 管理页面。
2、点击【部署】,编写 statefulset 的 yaml 文件。点击【确定】,即可部署该 statefulset。
statefulset 的规范可参考:https://v1-20.docs.kubernetes.io/docs/concepts/workloads/controllers/statefulset/。
管理 StatefulSet
选择租户和项目,选择集群和空间,展开【工作负载】菜单,点击【Statefulset】,进入 StatefulSet 管理页面。在管理页面,可以看到该命名空间下的所有 statefulSet。
同时也可以根据名称对列表进行搜索,或对单个 statefulset 进行副本数调整、删除,以及修改 Yaml。
查看 StatefulSet 详情
在 StatefulSet 管理页面,点击任一 statefulSet 名称,即可进入到该 statefulSet 详情页。
StatefulSet 详情页除了可以管理 StatefulSet,还可以查看 StatefulSet 的详细信息,关联的副本信息和副本的监控数据,以及 StatefulSet 和关联副本的事件和 condition 信息。
3 - Job
本文档介绍了如何在 KubeCube 上创建、使用和编辑 Job。
准备工作
创建一个租户,在租户下创建一个项目,在项目下一个创建一个命名空间,创建一个账号并赋予该命名空间操作权限。
创建 Job
1、选择租户和项目,选择集群和空间,展开【工作负载】菜单,点击【Job】,进入 Job 管理页面。
2、点击【部署】,编写 job 的 yaml 文件。点击【确定】,即可部署该 job。
job 的 规范可参考:https://v1-20.docs.kubernetes.io/docs/concepts/workloads/controllers/job/。
管理 Job
选择租户和项目,选择集群和空间,展开【工作负载】菜单,点击【Job】,进入 Job 管理页面。在管理页面,可以看到该命名空间下的所有 job 名称以及对应的状态、执行情况、运行时长,并可以在该界面对 job 进行删除操作。同时也可以根据名称对 job 进行搜索。
查看 Job 详情
在 Job 管理页面,点击任一 job 名称,即可进入到该 job 详情页。
Job 详情页除了可以管理 Job,还可以查看 Job 的详细信息,关联的副本信息和副本的监控数据,以及 Job 和关联副本的事件和 condition 信息。
4 - CronJob
本文档介绍了如何在 KubeCube 上创建、使用和编辑 CronJob。
准备工作
创建一个租户,在租户下创建一个项目,在项目下一个创建一个命名空间,创建一个账号并赋予该命名空间操作权限。
创建 CronJob
1、选择租户和项目,选择集群和空间,展开【工作负载】菜单,点击【CronJob】,进入 CronJob 管理页面。
2、点击【部署】,编写 CronJob 的 yaml 文件。点击【确定】,即可部署该 CronJob。
CronJob 的 规范可参考:https://v1-20.docs.kubernetes.io/docs/concepts/workloads/controllers/cron-jobs/。
管理 CronJob
选择租户和项目,选择集群和空间,展开【工作负载】菜单,点击【CronJob】,进入 CronJob 管理页面。在管理页面,可以看到该命名空间下的所有 CronJob ,包括对应的名称、空间、状态、定时调度设置、正在运行的任务数以及创建时间。并可以在该界面对 CronJob 进行删除和修改操作。同时也可以根据名称对 CronJob 进行搜索。
查看 CronJob 详情
在 CronJob 管理页面,点击任一 CronJob 名称,即可进入到该 CronJob 详情页。
CronJob 详情页除了可以管理 CronJob,还可以查看 CronJob 的详细信息,根据状态过滤该 CronJob 关联的任务列表,以及查看该 CronJob 和该 CronJob 所关联的副本的事件。
5 - Pod
本文档介绍了如何在 KubeCube 上管理 Pods。
准备工作
创建一个租户,在租户下创建一个项目,在项目下一个创建一个命名空间,创建一个账号并赋予该命名空间操作权限。
管理 Pod
选择租户和项目,选择集群和空间,展开【工作负载】菜单,点击【Pod】,进入 Pod 管理页面。在管理页面,可以看到该命名空间下的所有 pod,包括每个 pod 的名称、IP、状态、重启次数、CPU 使用量、内存使用量以及创建时间。
同时也可以根据名称对列表进行搜索,或对单个 pod 进行查看和删除。
6 - CRD
准备工作
创建一个租户,在租户下创建一个项目,在项目下一个创建一个命名空间,创建一个账号并赋予该命名空间操作权限。
创建 CRD
选择租户和项目,选择集群和空间,点击左侧【自定义资源 CRD】,进入自定义资源列表页面。点击【创建自定义资源】可以以 YAML 的模式创建自定义资源 CRD。
创建 CR
在 CRD 列表页面,点击具体一条记录的版本,进入 CRD 关联的实例页面,可以管理和创建相应的 CR。
7 - DaemonSet
本文档介绍了如何在 KubeCube 上创建、使用和编辑 DaemonSet。
准备工作
创建一个租户,在租户下创建一个项目,在项目下创建一个命名空间,创建一个账号并赋予该命名空间操作权限。
创建 DaemonSet
1、选择租户和项目,选择集群和空间,展开【工作负载】菜单,点击 【DaemonSets】,进入 DaemonSet 管理页面。
2、点击【部署】,编写 daemonSet 的 yaml 文件。点击【确定】,即开始部署该 daemonSet。
daemonSet 的 规范可参考:https://v1-20.docs.kubernetes.io/zh/docs/concepts/workloads/controllers/daemonset/。
注意,daemonSet 的 namespace 应与当前所在 namespace 一致。
管理 DaemonSet
选择租户和项目,选择集群和空间,展开【工作负载】菜单,点击【DaemonSets】,进入 DaemonSet 管理页面,可以看到该命名空间下的所有 daemonSet,包括名称、级别以及创建时间。
同时也可以根据名称对列表进行搜索,或对单个 daemonSet 进行删除或修改。
查看 DaemonSet 详情
在 DaemonSet 管理页面,点击任一 daemonSet 名称,可进入到该 daemonSet 详情页。
在 DaemonSet 详情页,可以查看到 daemonSet 的具体信息,以及该 daemonSet 所关联的所有副本的详情、副本的监控数据以及该 daemonSet 和副本的事件信息和 condition 信息。