文档

快速部署Serverless应用

更新时间:

本文以Hello World示例为您介绍如何通过Knative快速部署一个Serverless应用。

前提条件

步骤一:部署Knative服务

  1. 登录容器服务管理控制台,在左侧导航栏选择集群

  2. 集群列表页面,单击目标集群名称,然后在左侧导航栏,选择应用 > Knative

  3. 单击服务管理页签,在服务管理页面顶部选择服务所属的命名空间。然后部署Knative服务。

    支持交互式部署和YAML部署两种方式部署服务,您可按需选择。

    方式一:交互式部署

    1. 服务管理页面的右上角,单击创建服务

      配置项

      说明

      服务名称

      自定义该服务的名称。

      镜像名称

      您可以单击选择镜像,在弹出的对话框中选择所需的镜像并单击确定。您还可以填写私有registry。填写的格式为domainname/namespace/imagename:tag

      本例中为registry.cn-hangzhou.aliyuncs.com/knative-sample/helloworld-go

      镜像版本

      您可以单击选择镜像版本。本例中为73fbdd56

      访问协议

      支持HTTPgRPC两种访问协议。

      容器端口

      设置暴露的容器访问端口,端口号必须介于1~65535。

      高级设置

      单击高级设置,设置相关配置项。

      展开查看相关配置项

      • 仅内部访问:选中仅内部访问后,不支持通过公网访问该服务。

      • 请求最大并发数:容器允许的最大请求并发数。默认0,表示不限制并发数。

      • 最小缩容实例数:在无访问请求的情况下,最小缩容的运行实例数。设置为0时,表示没有访问请求时,实例缩为0。

      • 最大扩容实例数:允许扩容出来的最多实例个数。

      • 资源限制:可指定该应用所能使用的资源上限,包括CPU、内存和GPU三种资源,防止占用过多资源。其中,CPU资源的单位为cores,即一个核;内存的单位为Bytes,可以为MiB。

      • 生命周期:包含命令(Command)和参数(Args),配置说明如下:

        • 如果均不配置,则使用镜像默认的命令和参数。

        • 如果仅配置参数,则使用镜像默认的命令及新配置的参数。

        • 如果均配置,则会覆盖镜像默认的配置。

      • 环境变量:支持通过键值对的形式配置环境变量。

      • 数据卷:支持增加本地存储和云存储声明(PVC)。

        • 本地存储:支持主机目录(hostpath)、配置项(configmap)、保密字典(secret)和临时目录,将对应的挂载源挂载到容器路径中。更多信息参见volumes。

        • 云存储声明(PVC):支持云存储。

    2. 单击创建

      创建完成后,您可以在服务管理页签的列表中,看到新创建的服务。

    方式二:YAML部署

    1. 服务管理页面的右上角,单击使用模板创建

    2. 将需要部署服务的YAML编写至模板,然后单击创建

      例如将如下YAML粘贴至模板,创建一个名为helloworld-go的服务。

      apiVersion: serving.knative.dev/v1
      kind: Service
      metadata:
        name: helloworld-go
      spec:
        template:
          spec:
            containers:
            - image: registry-vpc.cn-beijing.aliyuncs.com/knative-sample/helloworld-go:73fbdd56
              env:
              - name: TARGET
                value: "Knative"

    服务创建完成后,您可以在服务管理页签对服务进行查看、编辑或删除操作。

步骤二:访问服务

  1. 服务管理页签,单击服务名称。

    您可以在Knative服务详情页的基本信息区域,查看访问网关及域名。新服务

  2. 将访问网关地址与需要访问的域名进行Host绑定,在Hosts文件中添加绑定信息。

    绑定样例如下。

    121.xx.xxx.xx helloworld-go.default.example.com
  3. 完成Host绑定后,可通过域名直接对服务进行访问。访问服务

更多示例

关于Knative更多示例请参见Knative系列文章

  • 本页导读 (1)