文档中心 > 使用镜像创建应用
使用镜像创建应用

最近更新时间:2022-02-11

无状态应用(Deployment)、有状态应用(Statefulset)、任务(Job)、定时任务(Cronjob)和守护进程集(DaemonSet)均支持通过镜像方式创建。

操作步骤

  1. 登录紫光云控制台。

  2. 在左侧导航栏中,依次选择“产品与服务 > 计算 > 云容器引擎”。

  3. 在集群列表页面,单击集群ID,进入集群信息页面。

  4. 在集群管理导航栏,选择“应用管理”,并根据需要选择无状态应用、有状态应用、任务、定时任务或守护进程集。

  5. 单击“使用镜像创建”。

  6. 配置应用的基本信息。

  7. 配置项

    描述

    应用类别

    定义资源对象的类型,可选择无状态、有状态、任务、定时、定时任务、守护进程集。

    应用名称

    设置应用的名称。

    命名空间

    设置应用部署所处的命名空间,默认使用default命名空间。

    副本数量

    即应用包含的Pod数量,默认数量为2。如果使用云盘存储卷,请将数量配置为1.

     

  8. 单击“下一步”,配置容器配置项。

  9. 在”容器配置”页面中,配置容器的镜像与资源、环境变量、健康检查、生命周期、数据卷。

    在容器配置页签上方,单击“新增”可以为应用的Pod设置多个容器。

    基本配置

    配置项

    描述

    基本配置

    应用安装包

    支持私有镜像、公有镜像和Docker官方镜像。选择镜像类型后,单击“选择安装包”,选择对应镜像的安装包。

    总是拉取镜像

    默认为否,请根据需要选择。

    资源启动

    即为该应用预留资源额度,包括CPU和内存两种资源,即容器独占该资源,防止因资源不足而被其他服务或进程争夺资源,导致应用不可用。

    预留的CPU和内存资源额度不能大于命名空间中设置的上限额度。

    资源限制

    可指定该应用所能使用的资源上限,包括CPU、内存资源,防止占用过多资源。

    CPU和内存资源上限不能大于命名空间中设置的上限额度。

     

    环境变量:支持通过键值对的形式为Pod配置环境变量。用于给Pod添加环境标志或传递配置等。

    配置项

    描述

    环境变量(可选)

    变量类型

    设置环境变量的类型,支持自定义、configmap、secret。

    • configmap支持键值对引用。

    • secret支持全部文件的引用。

    变量名称

    设置环境变量名称。

    变量/变量引用

    设置变量引用的值。

     

    执行命令:您可以为容器的生命周期配置启动执行、启动后处理和停止前处理。

    配置项

    描述

    执行命令

    (可选)

    启动执行命令

    为容器设置预启动命令。

    启动执行参数

    为容器设置预启动参数。

     

    健康检查:支持通过键值对的形式为Pod配置环境变量。用于给Pod添加环境标志或传递配置等。

    • 存活检查:Liveness,用于检测何时重启容器。

    • 就绪检查:Readiness,确定容器是否已经就绪,且可以接受流量。

    存活检查、就绪检查支持的请求协议及说明参考如下。

    请求类型

    配置说明

    HTTP请求

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

    • 协议:HTTP/HTTPS。

    • 路径:访问HTTP Server的路径。

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

    • 延迟探测时间(秒):即initialDelaySeconds,容器启动后第一次执行探测时需要等待多少秒,默认为3秒。

    • 执行探测频率(秒):即periodSeconds,指执行探测的时间间隔,默认为10秒,最小为1秒。

    • 超时时间(秒):即timeoutSeconds,探测超时时间。默认1秒,最小1秒。

    • 健康阈值:探测失败后,最少连续探测成功多少次才被认定为成功。默认是1,不可更改。

    • 不健康阈值:探测成功后,最少连续探测失败多少次才被认定为失败。默认是3,最小值是1。

    TCP连接

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

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

    • 延迟探测时间(秒):即initialDelaySeconds,容器启动后第一次执行探测时需要等待多少秒,默认为15秒。

    • 执行探测频率(秒):即periodSeconds,指执行探测的时间间隔,默认为10秒,最小为1秒。

    • 超时时间(秒):即timeoutSeconds,探测超时时间。默认1秒,最小1秒。

    • 健康阈值:探测失败后,最少连续探测成功多少次才被认定为成功。默认是1,不可更改。

    • 不健康阈值:探测成功后,最少连续探测失败多少次才被认定为失败。默认是3,最小值是1。

    command

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

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

    • 延迟探测时间(秒):即initialDelaySeconds,容器启动后第一次执行探测时需要等待多少秒,默认为5秒。

    • 执行探测频率(秒):即periodSeconds,指执行探测的时间间隔,默认为10秒,最小为1秒。

    • 超时时间(秒):即timeoutSeconds,探测超时时间。默认1秒,最小1秒。

    • 健康阈值:探测失败后,最少连续探测成功多少次才被认定为成功。默认是1,不可更改。

    • 不健康阈值:探测成功后,最少连续探测失败多少次才被认定为失败。默认是3,最小值是1。

     

    存储卷:增加本地存储或云存储声明PVC。

    配置项

    描述

    存储卷

    (可选)

    新增云存储

    PVC,支持挂载云存储。

    新增本地存储

    支持主机目录(hostpath)、配置项(configmap)、保密字典(secret)和临时目录,将对应的挂载源挂载到容器路径中。

     

  10. (可选)配置访问配置项。仅无状态应用、有状态应用支持该配置项。

  11. 在“访问配置”页面,设置暴露后端Pod的方式。

    配置项

    描述

    服务访问方式

    选择服务类型,即服务访问的方式。支持ClusterIP和NodePort方式访问。

    • NodePort:通过每个Node上的IP和静态端口(NodePort)暴露服务。NodePort服务会路由到ClusterIP服务,该ClusterIP服务会自动创建。通过请求<NodeIP>:<NodePort>,可以从集群的外部访问一个NodePort服务。

    • ClusterIP:指通过集群的内部IP暴露服务,选择该值,服务只能够在集群内部可以访问,这也是默认的ServiceType。

    服务名称

    输入服务的名称。建议使用“应用名称-svc”方式命名。

    映射端口

    添加服务端口、容器端口和节点端口,以及服务协议。容器端口需要与后端的Pod中暴露的容器端口一致。