全部文档
当前文档

暂无内容

如果没有找到您期望的内容,请尝试其他搜索词

文档中心

KCI Pod Annotation

最近更新时间:2023-11-08 16:42:33

Serverless容器集群支持用户通过annotation的形式,支持为Pod绑定安全组、定义Pod规格、开启Kube-proxy、为容器实例配置带宽限速等能力。

备注:

  • 本文介绍的annotation仅对调度到虚拟节点上的KCI Pod生效。
  • annotation需要配置在PodSpec中,而不是DeploymentSpec中。

指定KCI容器实例的规格

支持用户创建工作负载时,指定KCI容器实例的规格。

Annotation Key 是否必填 Annotation Value示例 描述
k8s.ksyun.com/kci-instance-cpu 1 指定容器实例CPU核数,单位:核。如填写需要和k8s.ksyun.com/kci-instance-memory注解同时填写
k8s.ksyun.com/kci-instance-memory 2 指定容器实例内存,单位:GiB。如填写需要和k8s.ksyun.com/kci-instance-cpu注解同时填写

示例

如下创建一个实例规格1C2GiB的工作负载,实例的规格必须满足KCI容器实例支持的实例规格。

apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx
  labels:
    app: nginx
spec:
  replicas: 1
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
        annotations:
            "k8s.ksyun.com/kci-instance-cpu" : "1"
            "k8s.ksyun.com/kci-instance-memory" : "2"
        labels:
            app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx:latest
      nodeName: virtual-node

指定KCI实例的安全组

支持用户指定KCI实例所属的安全组

Annotation Key 是否必填 Annotation Value示例 描述
k8s.ksyun.com/kci-security-group-id xxxxxxxx 支持填写多个,创建Serverless集群,会选择集群默认的安全组。在创建KCI容器实例时,若不指定安全组,则KCI实例默认使用创建集群时选择的安全组。如果用户希望使用同VPC下其他安全组创建KCI实例,需要通过注解方式显示指定安全组

示例

apiVersion: apps/v1beta2
kind: Deployment
metadata:
  name: nginx
  labels:
    app: nginx
spec:
  replicas: 1
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
        annotations:
            "k8s.ksyun.com/kci-security-group-id" : "${your_security_group_id}"
        labels:
            app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx:latest
      nodeName: virtual-node

为KCI实例开启Kube-proxy

支持通过annotation定义是否为容器实例开启kube-proxy,以支持该pod具备访问clusterIP类型服务的能力。

Annotation Key 是否必填 Annotation Value示例 描述
k8s.ksyun.com/kci-kube-proxy-enabled 'true' / 'false' 默认值:‘false’。当为true时,为该pod开启kube-proxy,使该pod具备访问集群内clusterIP类型服务的能力;否则不开启。

示例:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx
  labels:
    app: nginx
spec:
  replicas: 1
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
        annotations:
          "k8s.ksyun.com/kci-kube-proxy-enabled" : "true"
        labels:
          app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx:latest
      nodeName: virtual-node

为KCI实例配置带宽限速

在集群中创建资源时,可通过pod annotation为指定pod限制出入方向带宽限速值。

Annotation Key 是否必填 Annotation Value示例 描述
kubernetes.io/ingress-bandwidth 100M 指定容器实例入方向带宽限速值。单位支持:G、M、k。如果未填写单位,则默认对应的单位为bit。
限速值支持范围1-1024Mbps,默认值为1024Mbps。
kubernetes.io/egress-bandwidth 100M 指定容器实例出方向带宽限速值。单位支持:G、M、k。如果未填写单位,则默认对应的单位为bit。
限速值支持范围1-1024Mbps,默认值为1024Mbps。

示例

apiVersion: apps/v1beta2
kind: Deployment
metadata:
  name: nginx
  labels:
    app: nginx
spec:
  replicas: 1
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
        annotations:
          kubernetes.io/ingress-bandwidth: "100M"  # 范围为1-1024Mbps
          kubernetes.io/egress-bandwidth: "200M"   # 范围为1-1024Mbps
        labels:
          app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx:latest
      nodeName: virtual-node
文档导读
纯净模式常规模式

纯净模式

点击可全屏预览文档内容
文档反馈