详情页标题前

阿里云容器服务ACK在Knative中使用ECI-云淘科技

详情页1

通过Knative和虚拟节点组件使用弹性容器实例ECI(Elastic Container Instance),可以实现按需使用资源。本文介绍如何在Knative中使用ECI。

前提条件

  • 已创建ACK Serverless集群或ACK托管集群。具体操作,请参见创建ACK Serverless集群、创建Kubernetes托管版集群。

  • 已为集群部署Knative。具体操作,请参见在ACK集群中部署Knative、在ACK Serverless集群中部署Knative。

  • 已在ACK集群中部署ACK Virtual Node组件。

  • 获取集群KubeConfig并通过kubectl工具连接集群。

使用ECI

方式一:在Knative中直接使用ECI

  1. 为集群创建一个名称为vk的命名空间,并设置命名空间的变量名和变量值为virtual-node-affinity-injection=enabled

    具体操作,请参见创建命名空间。

  2. 创建Knative Service资源对象。

    配置annotation指定ECI规格,然后直接创建ECI Pod。

    示例配置模板如下:

    apiVersion: serving.knative.dev/v1
    kind: Service
    metadata:
      name: helloworld-go
      namespace: vk
    spec:
      template:
        metadata:
          annotations:
            k8s.aliyun.com/eci-use-specs: "2-4Gi"
        spec:         
          containers:
          - env:
            - name: TARGET
              value: "Knative"
            image: registry.cn-hangzhou.aliyuncs.com/knative-sample/helloworld-go:73fbdd56

方式二:在Knative中指定ECS节点且支持自动创建ECI

通过设置节点亲和性nodeAffinity,在Knative中可以指定添加标签的ECS节点,且Knative支持自动创建ECI,实现同一个服务的Pod既可以部署在ECS中,也可以部署在ECI中。

  1. 为集群创建一个名称为vk的命名空间,并设置命名空间的变量名和变量值为virtual-node-affinity-injection=enabled

    具体操作,请参见创建命名空间。

  2. 给ECS节点添加标签。具体步骤请参见管理节点标签。

    本文给ECS节点添加标签的示例为:resource-role:ecs

  3. 在Service资源对象模板中,配置节点亲和性nodeAffinity。

    通过配置nodeAffinity指定添加标签的ECS和Virtual Kubelet。

    示例配置模板如下。

    apiVersion: serving.knative.dev/v1
    kind: Service
    metadata:
      name: helloworld-go
      namespace: vk
    spec:
      template:
        metadata:
          annotations:
            k8s.aliyun.com/eci-use-specs: "2-4Gi"
        spec:
          containerConcurrency: 10
          affinity:
            nodeAffinity:
              requiredDuringSchedulingIgnoredDuringExecution:
                nodeSelectorTerms:
                - matchExpressions:
                  - key: resource-role
                    operator: In
                    values:
                    - ecs
                - matchExpressions:
                  - key: type
                    operator: In
                    values: 
                    - virtual-kubelet                
          containers:
          - env:
            - name: TARGET
              value: "Knative"
            image: registry.cn-hangzhou.aliyuncs.com/knative-sample/helloworld-go:73fbdd56

执行结果

执行以下命令,可以看到成功创建2个ECI Pod。

kubectl -n vk get pod -o wide

预期输出:

NAME                                              READY   STATUS    RESTARTS   AGE   IP             NODE                 NOMINATED NODE   READINESS GATES
helloworld-go-dqqhv-deployment-6d54c9c8dc-hkjwn   2/2     Running   0          40s   192.1xx.x.xx   virtual-node-eci-0              

内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家

阿里云企业补贴进行中: 马上申请

腾讯云限时活动1折起,即将结束: 马上收藏

同尘科技为腾讯云授权服务中心。

购买腾讯云产品享受折上折,更有现金返利:同意关联,立享优惠

转转请注明出处:https://www.yunxiaoer.com/171255.html

(0)
上一篇 2023年12月10日 下午2:01
下一篇 2023年12月10日 下午2:02
详情页2

相关推荐

  • 阿里云容器服务ACK在Knative中使用HPA-云淘科技

    Knative支持HPA的弹性能力。您可以在Knative Service中设置CPU指标阈值,满足在突发高负载的场景下,自动扩缩容资源的诉求。本文介绍如何在Knative中使用HPA。 前提条件 部署Knative操作步骤创建ksvc-hpa.yaml。在Knative Service指定使用HPA弹性策略,以下为配置示例。 apiVersion: ser…

    2023年12月10日
  • 阿里云容器服务ACK通过云效实现Knative服务持续交付-云淘科技

    Knative提供了简单的应用模型,并且支持流量管理能力,支持根据流量百分比进行灰度发布。通过云效持续交付Knative服务,可以简化应用部署、灰度发布等操作,为应用的持续交付提供基础保障,让您专注于业务开发,降低发布成本。本文介绍如何通过云效实现Knative服务持续交付。 前提条件 已创建ACK集群。具体操作,请参见创建Kubernetes托管版集群。 …

    2023年12月10日
  • 阿里云容器服务ACKECI Pod Annotation-云淘科技

    在Kubernetes集群中创建ECI类型的Pod(即ECI实例)时,为充分使用ECI提供的功能,在不改变Kubernetes语义的前提下,您可以根据需求为Pod添加Annotation。 本文为您介绍ECI实例支持的和追加的Annotation及其配置示例。 ECI Pod支持的Annotation 创建ECI Pod时,支持添加的Annotation如下…

    阿里云容器服务 2023年12月10日
  • 阿里云容器服务ACKServerless数据访问概述-云淘科技

    Serverless云平台提供的极致弹性能力,为相关基础设施带来巨大的压力和挑战,因此阿里云容器服务联合多个产品,提供以ECI为例的数据访问优化方案。本文介绍Serverless数据访问面临的挑战以及数据访问优化方案。 Serverless数据访问面临的挑战 Serverless云平台为用户提供秒级弹性的核心能力,包括资源和应用(业务)等的秒级弹性,即用户开…

    2023年12月10日
  • 信息流广告,信息流部分建议宽度830px,只针对默认列表样式,顺序随机
  • 阿里云容器服务ACKECI Pod Annotation-云淘科技

    在Kubernetes集群中创建ECI类型的Pod(即ECI实例)时,为充分使用ECI提供的功能,在不改变Kubernetes语义的前提下,您可以根据需求为Pod添加Annotation。 本文为您介绍ECI实例支持的和追加的Annotation及其配置示例。 ECI Pod支持的Annotation 创建ECI Pod时,支持添加的Annotation如下…

    阿里云容器服务 2023年12月10日

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
本站为广大会员提供阿里云、腾讯云、华为云、百度云等一线大厂的购买,续费优惠,保证底价,买贵退差。