这是本节的多页打印视图。 点击此处打印.

返回本页常规视图.

K8s资源管理

1 - 工作负载管理

1.1 - Deployment

本文档介绍了如何在 KubeCube 上创建、使用和编辑 Deployment。

准备工作

创建一个租户,在租户下创建一个项目,在项目下创建一个命名空间,创建一个账号并赋予该命名空间操作权限。

创建 Deployment

1、选择租户和项目,选择集群和空间,展开【工作负载】菜单,点击 【Deployments】,进入 Deployment 管理页面。

deploy-apply

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。

deploy-manage

查看 Deployment 详情

在 Deployment 管理页面,点击任一 deployment 名称,可以进入到该 deployment 详情页。

deploy-detail

在 Deployment 详情页,可以查看到 deployment 的具体信息,以及该 deployment 所关联的所有副本的详情、副本的监控数据以及该 deployment 和副本的事件信息和 condition 信息。

1.2 - StatefulSet

本文档介绍了如何在 KubeCube 上创建、使用和编辑 StatefulSet。

准备工作

创建一个租户,在租户下创建一个项目,在项目下一个创建一个命名空间,创建一个账号并赋予该命名空间操作权限。

创建 StatefulSet

1、选择租户和项目,选择集群和空间,展开【工作负载】菜单,点击【Statefulsets】,进入StatefulSet 管理页面。

statefulset-apply

2、点击【部署】,编写 statefulset 的 yaml 文件。点击【确定】,即可部署该 statefulset。

statefulset 的规范可参考:https://v1-20.docs.kubernetes.io/docs/concepts/workloads/controllers/statefulset/。

管理 StatefulSet

选择租户和项目,选择集群和空间,展开【工作负载】菜单,点击【Statefulset】,进入 StatefulSet 管理页面。在管理页面,可以看到该命名空间下的所有 statefulSet。

同时也可以根据名称对列表进行搜索,或对单个 statefulset 进行副本数调整、删除,以及修改 Yaml。

statefulset-manage

查看 StatefulSet 详情

在 StatefulSet 管理页面,点击任一 statefulSet 名称,即可进入到该 statefulSet 详情页。

statefulset-detail

StatefulSet 详情页除了可以管理 StatefulSet,还可以查看 StatefulSet 的详细信息,关联的副本信息和副本的监控数据,以及 StatefulSet 和关联副本的事件和 condition 信息。

1.3 - Job

本文档介绍了如何在 KubeCube 上创建、使用和编辑 Job。

准备工作

创建一个租户,在租户下创建一个项目,在项目下一个创建一个命名空间,创建一个账号并赋予该命名空间操作权限。

创建 Job

1、选择租户和项目,选择集群和空间,展开【工作负载】菜单,点击【Job】,进入 Job 管理页面。

job-apply

2、点击【部署】,编写 job 的 yaml 文件。点击【确定】,即可部署该 job。

job 的 规范可参考:https://v1-20.docs.kubernetes.io/docs/concepts/workloads/controllers/job/。

管理 Job

选择租户和项目,选择集群和空间,展开【工作负载】菜单,点击【Job】,进入 Job 管理页面。在管理页面,可以看到该命名空间下的所有 job 名称以及对应的状态、执行情况、运行时长,并可以在该界面对 job 进行删除操作。同时也可以根据名称对 job 进行搜索。

job-manage

查看 Job 详情

在 Job 管理页面,点击任一 job 名称,即可进入到该 job 详情页。

job-detail

Job 详情页除了可以管理 Job,还可以查看 Job 的详细信息,关联的副本信息和副本的监控数据,以及 Job 和关联副本的事件和 condition 信息。

1.4 - CronJob

本文档介绍了如何在 KubeCube 上创建、使用和编辑 CronJob。

准备工作

创建一个租户,在租户下创建一个项目,在项目下一个创建一个命名空间,创建一个账号并赋予该命名空间操作权限。

创建 CronJob

1、选择租户和项目,选择集群和空间,展开【工作负载】菜单,点击【CronJob】,进入 CronJob 管理页面。

cronjob-apply

2、点击【部署】,编写 CronJob 的 yaml 文件。点击【确定】,即可部署该 CronJob。

CronJob 的 规范可参考:https://v1-20.docs.kubernetes.io/docs/concepts/workloads/controllers/cron-jobs/。

管理 CronJob

选择租户和项目,选择集群和空间,展开【工作负载】菜单,点击【CronJob】,进入 CronJob 管理页面。在管理页面,可以看到该命名空间下的所有 CronJob ,包括对应的名称、空间、状态、定时调度设置、正在运行的任务数以及创建时间。并可以在该界面对 CronJob 进行删除和修改操作。同时也可以根据名称对 CronJob 进行搜索。

cronjob-manage

查看 CronJob 详情

在 CronJob 管理页面,点击任一 CronJob 名称,即可进入到该 CronJob 详情页。

cronjob-detail

CronJob 详情页除了可以管理 CronJob,还可以查看 CronJob 的详细信息,根据状态过滤该 CronJob 关联的任务列表,以及查看该 CronJob 和该 CronJob 所关联的副本的事件。

1.5 - Pod

本文档介绍了如何在 KubeCube 上管理 Pods。

准备工作

创建一个租户,在租户下创建一个项目,在项目下一个创建一个命名空间,创建一个账号并赋予该命名空间操作权限。

管理 Pod

选择租户和项目,选择集群和空间,展开【工作负载】菜单,点击【Pod】,进入 Pod 管理页面。在管理页面,可以看到该命名空间下的所有 pod,包括每个 pod 的名称、IP、状态、重启次数、CPU 使用量、内存使用量以及创建时间。

同时也可以根据名称对列表进行搜索,或对单个 pod 进行查看和删除。

pod-manage

1.6 - CRD

准备工作

创建一个租户,在租户下创建一个项目,在项目下一个创建一个命名空间,创建一个账号并赋予该命名空间操作权限。

创建 CRD

选择租户和项目,选择集群和空间,点击左侧【自定义资源 CRD】,进入自定义资源列表页面。点击【创建自定义资源】可以以 YAML 的模式创建自定义资源 CRD。

manage

创建 CR

在 CRD 列表页面,点击具体一条记录的版本,进入 CRD 关联的实例页面,可以管理和创建相应的 CR。

creatercr

1.7 - DaemonSet

本文档介绍了如何在 KubeCube 上创建、使用和编辑 DaemonSet。

准备工作

创建一个租户,在租户下创建一个项目,在项目下创建一个命名空间,创建一个账号并赋予该命名空间操作权限。

创建 DaemonSet

1、选择租户和项目,选择集群和空间,展开【工作负载】菜单,点击 【DaemonSets】,进入 DaemonSet 管理页面。

daemonset-apply

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-manage

查看 DaemonSet 详情

在 DaemonSet 管理页面,点击任一 daemonSet 名称,可进入到该 daemonSet 详情页。

daemonset-detail

在 DaemonSet 详情页,可以查看到 daemonSet 的具体信息,以及该 daemonSet 所关联的所有副本的详情、副本的监控数据以及该 daemonSet 和副本的事件信息和 condition 信息。

2 - 服务与发现

2.1 - Service

本文档介绍了如何在 KubeCube 上创建、使用和编辑 Service。

准备工作

创建一个租户,在租户下创建一个项目,在项目下一个创建一个命名空间,在命名空间下创建一个 Deployment,创建一个账号并赋予该命名空间操作权限。

创建 Service

1、选择租户和项目,选择集群和空间,展开【服务与发现】菜单,点击【Services】菜单按钮,进入 Service 管理页面。

manage.png

2、点击【创建服务】按钮,进入创建服务页面,填写信息后,点击【立即创建】按钮,即可创建一个 Service。

create.png

  • 名称:输入服务名称

  • 类型:选择服务类型为 ClusterIP 或者 NodePort

  • 使用方式:对于 ClusterIP 类型,需要选择使用方式为常规服务、Headless 服务或外部服务

  • Selector:选择关联的工作负载,支持高级自定义

  • 标签:定义标签

  • Ports:添加应用端口与服务端口的映射关系

  • 会话保持:开通/关闭会话保持

管理 Service

选择租户和项目,选择集群和空间,展开【服务与发现】菜单,点击【Services】菜单按钮,进入 Service 管理页面,可以对 Service 列表进行设置重编辑,删除和 Yaml 设置。

manage.png

查看 Service 详情

在 Service 管理页面,点击具体一条服务名称,进入 Service 详情页面。

servicedetail.png

Service 详情页面除了可以管理 Service,还可以查看 Service 的详细信息、关联的副本信息和事件信息,支持设置 Nginx Ingress 类型的对外服务端口供外部访问。

2.2 - Ingress

本文档介绍了如何在 KubeCube 上创建、使用和编辑 Ingress。KubeCube 默认使用 Nginx Ingress。

准备工作

创建一个租户,在租户下创建一个项目,在项目下一个创建一个命名空间,命名空间下创建一个 Service,创建一个账号并赋予该命名空间操作权限。

创建 Ingress

1、选择租户和项目,选择集群和空间,展开【服务与发现】菜单,点击【Ingresses】菜单按钮,进入 Ingress 管理页面。

manage.png

2、点击【创建负载均衡】按钮,进入创建负载均衡页面,填写信息后,点击【立即创建】按钮,即可创建一个 Ingress。

create.png

  • 名称:输入 Ingress 名称

  • 端口:选择对外暴露访问的端口

  • 调度算法:选择负载均衡轮询策略

  • 转发规则:设置 Host,设置 Path 与 Service 端口的映射关系,可以添加多条转发规则

  • 会话保持:开通/关闭会话保持

管理 Ingress

选择租户和项目,选择集群和空间,展开【服务与发现】菜单,点击【Ingresses】菜单按钮,进入 Ingress 管理页面,可以对 Ingress 列表进行设置重编辑,删除和 Yaml 设置。

manage.png

查看 Ingress 详情

在 Ingress 管理页面,点击具体一条 Ingress 记录的名称,进入详情页面。

ingressdetail.png

Ingress 详情页面除了可以管理 Ingress,还可以查看 Ingress 的详细信息、关联的 Service 信息和事件信息。

3 - 配置管理

3.1 - Secret

本文档介绍了如何在 KubeCube 上创建、使用和编辑 Secret。

Kubernetes Secret 用于存储和管理一些敏感数据,比如密码密钥等敏感信息。它把 Pod 想要访问的加密数据存放到 Etcd 中。然后用户就可以通过在 Pod 的容器里挂载 Volume 的方式或者环境变量的方式访问 Secret 里保存的信息。

准备工作

创建一个租户,在租户下创建一个项目,在项目下一个创建一个命名空间,创建一个账号并赋予该命名空间操作权限。

创建 Secret

1、选择租户和项目,选择集群和空间,展开【配置】菜单,点击【Secret】菜单按钮,进入 Secret 管理页面。

manage.png

2、点击【创建 Secret】按钮,进入创建 Secret 页面,填写信息后,点击【立即创建】按钮,即可创建一个 Secret。

create.png

  • 名称:输入 Secret 名称。
  • 类型:
    • Opaque:base64 编码格式的 Secret,用来存储密码、密钥等。
    • DockerConfigJson : 用来存储私有 docker registry 的认证信息。
    • IngressTLS:配置 Ingress TLS 密钥。
  • 根据选择的类型,输入相应的信息。

查看 Secret 详情

在 Secret 管理页面,点击具体一条 Secret 记录的名称,进入详情页面查看 Secret 的详细信息。

detail.png

3.2 - ConfigMap

本文档介绍了如何在 KubeCube 上创建、使用和编辑 ConfigMap。

准备工作

创建一个租户,在租户下创建一个项目,在项目下一个创建一个命名空间,创建一个账号并赋予该命名空间操作权限。

创建 ConfigMap

1、选择租户和项目,选择集群和空间,展开【配置】菜单,点击【ConfigMap】菜单按钮,进入 ConfigMap 管理页面。

manage.png

2、点击【创建 ConfigMap】按钮,进入创建 ConfigMap 页面,填写信息后,点击【立即创建】按钮,即可创建一个 ConfigMap。

create.png

  • 名称:输入 ConfigMap 名称。
  • 数据:输入键值对形式的数据信息。

管理 ConfigMap

选择租户和项目,选择集群和空间,展开配置菜单,点击 ConfigMap 菜单按钮,进入 ConfigMap 管理页面。在 ConfigMap 管理页面可以对 ConfigMap 进行设置、删除和 Yaml 设置。

manage2.png

查看 ConfigMap 详情

在 ConfigMap 管理页面,点击具体一条 ConfigMap 记录的名称,进入详情页面查看 ConfigMap 的详细信息。

detail.png

4 - 存储管理

4.1 - PVC

本文档介绍了如何在 KubeCube 上创建、使用和编辑 PVC(Persistent Volume Claim)。

准备工作

创建一个租户,在租户下创建一个项目,在项目下一个创建一个命名空间,创建一个账号并赋予该命名空间操作权限。

创建 PVC

1、选择租户和项目,选择集群和空间,点击【存储】菜单,进入 PVC 管理页面。在管理页面可以进行 PVC 记录的添加、设置、删除和 Yaml 设置。

manage1.png

2、点击【创建存储声明】,弹出创建存储声明的窗口。

create.png

  • 存储类别:选择存储类别,存储类别可以在集群管理页面添加
  • 名称:存储声明名称
  • 容量:填写所需存储容量
  • 模式:独占读写( ReadWriteOnce:读写权限,并且只能被单个节点挂载 )、只读共享( ReadOnlyMany:只读权限,允许被多个节点挂载 )、共享读写( ReadWriteMany:读写权限,允许被多个节点挂载 )

查看 PVC 详情

在 PVC 管理页面选择一条 PVC 记录,可以查看该 PVC 记录的详细信息,可以查看绑定的副本信息和监控信息。并且可以管理操作,包括删除、设置和 Yaml 设置。

detail.png

5 - 其他

5.1 - 密钥管理

本文档介绍了如何在 KubeCube 上进行密钥管理。

密钥管理提供 AccessKey 和 SecretKey 供用户系统调用 OpenAPI 接口时进行认证。

管理密钥

用户登录后,鼠标移动到右上角用户名称,在下拉菜单中点击【密钥管理】,进入密钥管理页面。在密钥管理页面可以添加密钥、删除密钥和查看密钥信息。

keymanage.png

使用密钥

使用 AccessKey 和 SecretKey 可以获取用户 token,将token放到请求头可以请求 KubeCube 的 OpenAPI 接口。

HTTP Request:

GET /api/v1/cube/key/token

Query Parameters:

ParameterDescription
accessKeyAccessKey
secretKeySecretKey

Response:

CodeInfo
200{“token”: “token info”}

5.2 - Yaml 编排

本文档介绍了如何在 KubeCube 上使用 YAML 编排。

准备工作

创建一个租户,在租户下创建一个项目,在项目下一个创建一个命名空间,创建一个账号并赋予该命名空间操作权限。

YAML 编排

选择租户和项目,选择集群和空间,点击【 YAML 编排】 菜单,弹出 YAML 编排界面。

yamlcreate.png

填写要创建的资源的 YAML 格式定义,或者从文件导入,或者从已有资源导入,编辑完成后点击【确定】完成 YAML 编排。