1. 主页
  2. 文档
  3. HCaaS操作指南
  4. 工作负载
  5. 工作负载操作

工作负载操作

当创建了工作负载比如无状态、有状态副本集、任务这类资源对象后,HCaaS支持对其执行查看、启停、删除、升级、回滚、资源监控等基本操作。

升级:

在Docker Hub上发布新版本的应用程序镜像后,您可以将运行旧版本应用程序的所有工作负载升级到新版本。

  1. 在左侧菜单导航栏中,点击工作负载,进入工作负载列表页面;
  2. 找到您要升级的工作负载,然后在操作列点击编辑
  3. 将Docker镜像更新为需要选择的镜像版本;
  4. 更改你所需要更改的其他任何选项;
  5. 单击右上角升级按钮;若有多个容器,选择你需要升级的容器即可;
  6. 结果:工作负载开始根据您的规范升级其容器。 请注意,扩大部署规模或更新升级/扩展策略不会导致Pod重新创建。

回滚
有时出于调试目的或因为升级未按计划进行而需要回滚到应用程序的先前版本。

  1. 在左侧菜单导航栏中,点击工作负载,进入工作负载列表页面;
  2. 找到您要回滚的工作负载,然后在操作列下拉菜单中点击回滚
  3. 选择要回滚的版本。
  4. 单击【回滚】
  5. 结果:您的工作负载将还原为您选择的先前版本。 等待几分钟,以完成操作。

删除
只有一个容器作为主容器时,不能被删除,若有多个容器,可删除辅容器。

  1. 在左侧菜单导航栏中,点击工作负载,进入工作负载列表页面;
  2. 找到您要删除的容器所在的工作负载,然后在操作列下拉菜单中点击编辑】;
  3. 进入容器选择页面,找到需要删除的辅容器,点击【删除】

添加容器

操作步骤

  1. 点击工作负载操作列【添加容器】;
  2. 填写基本信息。用户可以根据需求填写部署的基本信息。

    名称:为添加的容器起一个简洁明了的名称,便于用户浏览和搜索。容器名称应包含 1-63个字符,可包含数字、小写英文字符或连字符(-)。
    辅容器类型:标准容器和Init容器。Init容器区别于标准容器在于Init 容器总是运行到成功完成为止,以及每个 Init 容器都必须在下一个 Init 容器启动之前成功完成。如果 Pod 的 Init 容器失败,Kubernetes 会不断地重启该 Pod,直到 Init 容器成功为止。然而,如果 Pod 对应的 restartPolicy 为 Never,它不会重新启动。
    Docker镜像:镜像的选择操作如下:

     (1) 首先下拉选择镜像的来源,有Dockerhub、本项目仓库和镜像地址;
     (2) 其次选择镜像,镜像选择有两种方法,一是在输入框内输入镜像的完整信息,包括镜像的Tag,例如:nginx:latest ; 二是点击右侧的图标下拉选择镜像,下拉列表如下:

    在下拉镜像列表里可搜索镜像,点击即可选中该镜像,然后可查看该镜像的详细信息,该过程会有一段时间的加载。

    镜像详情详细展示了该镜像的描述信息,来源,端口和该镜像的tag。注意:当镜像来源选择为镜像地址或者自定义输入镜像名时,按回车键可直接搜索该镜像并展示详细信息。

    镜像拉取策略:为你的镜像更新选择一个操作策略,提供总是拉取、从不、不存在则拉取三种策略,默认的镜像拉取策略是总是拉取。
    • 总是拉取:需要每次拉取仓库中的镜像。
    • 不存在则拉取:默认使用本地镜像,若本地无该镜像则远程拉取该镜像;
    • 从不:只使用本地镜像,若本地没有该镜像将报异常。
  3. 容器规格
    为了实现集群的资源被有效调度和分配同时提高资源的利用率,平台采用了 预留和限制两种限制类型对资源进行分配。
    • 容器规格:提供2X、4X、8X、16X和32X快捷选择,如不选择默认2X配置;根据实际需要,可自定义容器规格,
    • 资源预留:即为该应用预留资源额度,包括 CPU 和内存两种资源,即容器独占该资源,防止因资源不足而被其他服务或进程争占资源,导致应用不可用。
    • 资源限制:可指定该应用所能使用的资源上限,包括 CPU 和内存两种资源,防止占用过多资源。

  4. 端口映射
    即设置容器的访问策略,指定容器需要暴露的端口并自定义端口名称,端口协议可以选择 TCP 和 UDP。
  5. 数据卷
    支持添加新的PVC、使用现有PVC、映射节点目录、secret卷、configmap卷。可自定添加多个卷,将对应的挂载源挂载到容器路径中,并为每个容器路径设置权限。点击添加数据卷,选择卷类型填写即可,再次点击卡片可进行卷的编辑和删除。
  6. 自定义设置
    (1)命令:可自定义容器的启动的运行命令
    (2)环境变量:环境变量是指容器运行环境中设定的一个变量, 以添加键值对的形式来设置环境变量。
    注意:变量名只能包含大小写字母、数字及下划线,并且不能以数字开头。

    (3)健康检查:用户可以为容器设置健康检查探针来检查容器的健康状态。因为 kubelet 会根据用户定义的这个健康检查探针的返回值,来决定容器的状态。
    •  存活状态检查(liveness):用于检测容器是否存活,kubelet 根据用户定义的周期进行周期性地对容器的健康状态进行检查,如果检查失败,容器会重启,若检查成功则不执行任何操作。
    •  就绪状态检查(readiness):用于检测结果的成功与否,检测容器是否准备好开始处理用户请求。监测到容器实例不健康时,将工作负载设置为未就绪状态,业务流量不会导入到该容器中。

    HTTP请求

    即向容器发送一个 HTTPget 请求,支持的参数包括:

    • 路径:访问 HTTP server 的路径
    • 端口:容器暴露的访问端口或端口名,端口号必须介于 1~65535。

    HTTPS请求

    即向容器发送一个 HTTPSget 请求,支持的参数包括:

    • 路径:访问 HTTPS server 的路径
    • 端口:容器暴露的访问端口或端口名,端口号必须介于 1~65535。

    TCP端口检查

    即向容器发送一个 TCP Socket,kubelet 将尝试在指定端口上打开容器的套接字。 如果可以建立连接,容器被认为是健康的,如果不能就认为是失败的。支持的参数包括:

    • 端口:容器暴露的访问端口或端口名,端口号必须介于 1~65535。

    状态码检查

    通过在容器中执行探针检测命令,来检测容器的健康情况。支持的参数包括:

    • 命令行:用于检测容器健康情况的探测命令。

    (4)安全/节点设置:根据需求自定义进行安全、节点设置。

  7. 点击【部署】完成容器的添加。
  8. 升级辅容器
    找到该辅容器所在的主容器工作负载,点击【编辑】,选择要升级的辅容器,点击【升级】即可。
  9. 删除辅容器
    找到该辅容器所在的主容器工作负载,点击【编辑】,选择要删除的辅容器,点击【删除】即可。

添加容器的方式添加自定义监控

第一步:添加用于配置工作负载的配置映射,若已经存在则跳过该步骤。

  1. 在左侧菜单导航栏选择【资源】,然后选二级菜单【配置映射】,新建配置映射。以nginx为例,填写nginx的配置文件。
  2. 保存配置映射。

第二步:新建工作负载

  1. 在工作负载列表点击【部署服务】;
  2. 填写基本信息。注意选择命名空间必须和步骤一所在的配置映射在同一个命名空间下,Docker镜像选择以nginx为例。
  3. 配置端口,将端口暴露给外部。
  4. 挂载数据卷。选择Configmap卷,添加Configmap卷时,配置映射名选择步骤一新建的配置映射,并填写容器路径,nginx容器路径为:/etc/nginx/conf.d/ 
  5. 点击【部署】完成住容器工作负载的部署。

第三步:添加辅容器

  1. 在工作负载列表找到步骤二,依次点击【更多】 >【添加容器】;
  2. 填写辅容器基本信息。名称以nginx-exporter为例,辅容器类型默认为标准容器,辅容器Docker镜像选择时,必须能把主容器选择的镜像暴露给监控,例如:nginx/nginx-prometheus-exporter:0.6.0
  3. 端口映射。9113是nginx_exporter监听的端口,prometheus通过9113访问metrics。
  4. 【下一步】配置命令。配置启动nginx-exporter的命令,例如:-nginx.scrape-uri=http://localhost/stub_status。

  5. 点击【部署】完成对辅容器的部署。

第四步:配置自定义监控

    1. 在工作负载列表点击【编辑】,选择编辑主容器。
    2. 点击【下一步】,转到配置监控告警和自定义监控。
    3. 在监控告警和自定义监控页面,点击【添加自定义监控】,然后添加自定义指标,暴露9113端口。
    4. 自定义监控/告警配置。填写名称,在“表达式”处选择前面建的nginx-exporter后,选择业务监控所需的的指标即可出现图表信息。以nginx_connections_active为例。
      4.1未加入伸缩的自定义监控告警的图表如下所示:

      图表名称:为图表起一个简洁明了的名称,便于用户浏览和搜索。
      名称应包含 1-63个字符,可包含数字、小写英文字符或连字符(-),支持中文字符。

      4.2开启加入伸缩后的图标。
      弹性伸缩开启的前提:开启弹性伸缩。弹性伸缩只有创建的工作负载类型为有状态StatefulSet和无状态Deployment时才有弹性伸缩,其他类型没有弹性伸缩
      • 开启弹性伸缩,需填写HPA最大最小副本数,最大副本数必须大于最小副本数,以及在工作负载配置项询问是否加入伸缩;
      • 关闭弹性伸缩,将不再询问是否加入伸缩,页面不显示配置伸缩项。

      4.3开启自定义监控告警如下所示:

第五步:点击工作负载名称,查看自定义监控详细图表和配置信息。

这篇文章对您有用吗?

Leave a Reply

电子邮件地址不会被公开。 必填项已用*标注