全部文档
当前文档

暂无内容

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

文档中心

Pod绑定弹性公网IP

最近更新时间:2024-01-04 19:29:39

目前KCE支持在VPC-CNI模式下将Pod直接绑定弹性公网IP(EIP)。

能力与限制

  • 独占网卡、共享网卡模式下支持绑定EIP

  • 支持Deployment、Statefulset两种类型工作负载绑定EIP

前提条件

  • 在访问控制中给KsyunKCEDefaultRole授权EIP相关接口权限

  • 您已使用金山云容器服务服务创建一个正常运行的Kubernetes集群,关于如何创建集群,请参见创建集群

  • 您已经在集群中开启VPC-CNI网络模式,关于如何开启VPC-CNI网络模式,请参见配置VPC-CNI模式 。

在访问控制中给KsyunKCEDefaultRole授权EIP相关接口权限

  1. 登录访问控制,点击项目管理页签

  2. 点击指定项目的资源管理

  3. 进入成员管理中,点击添加成员,将KsyunKCEDefaultRole加入,完成授权

使用方式

通过控制台创建绑定EIP的Pod

  1. 创建Deployment类型工作负载,在部署配置中点击”展开高级配置“,选中”VPC-CNI“网络模式,在开启Pod绑定EIP,并填写EIP相关配置,完成Deployment创建。

  1. 查看效果

$:~# kubectl get pod demo-6f5557486-cztw2 -o jsonpath='{.metadata.annotations.k8s\.ksyun\.com/allocated-eipAddress}'
120.92.211.18

通过Yaml创建绑定EIP的Pod

  1. 创建Yaml文件,并通过Kubectl apply的方式创建Deployment

apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    ksyun-app: demo
  name: demo
  namespace: default
spec:
  podManagementPolicy: OrderedReady
  replicas: 1
  selector:
    matchLabels:
      ksyun-app: demo
  serviceName: ""
  template:
    metadata:
      annotations:
        k8s.ksyun.com/eip-bandwidth: "1"
        k8s.ksyun.com/eip-charge-type: "Daily"
        k8s.ksyun.com/eip-line-name: "BGP"
        k8s.ksyun.com/eip-project-id: "0"
        k8s.ksyun.com/pod-eniip: "true"
        k8s.ksyun.com/pod-with-eip: "true"
        v1.multus-cni.io/default-network: "kube-system/vpc-cni"
      creationTimestamp: null
      labels:
        ksyun-app: sts-3
    spec:
      containers:
      - image: hub.kce.ksyun.com/xiangqian/nginx:1.22.0
        imagePullPolicy: Always
        name: nginx
        resources:
          limits:
            ksyun/eni-private-ip: "1"
          requests:
            ksyun/eni-private-ip: "1"
        securityContext:
          privileged: false
        terminationMessagePath: /dev/termination-log
        terminationMessagePolicy: File
      dnsPolicy: ClusterFirst
      imagePullSecrets:
      - name: ksyunregistrykey
      restartPolicy: Always
      schedulerName: default-scheduler

EIP部分字段说明如下:

  • 给Pod分配EIP:在pod的annotations中添加 k8s.ksyun.com/pod-with-eip: "true"

  • 给EIP设置带宽:在pod的annotations中添加 k8s.ksyun.com/eip-bandwidth: "30"  ,单位i为Mbps

  • 设置EIP计费模式在pod的annotations中添加k8s.ksyun.com/eip-charge-type: "DailyPaidByTransfer" ,支持计费模式包括"Monthly"、"Peak"、"Daily"、"TrafficMonthly"、"DailyPaidByTransfer"、"HourlyInstantSettlement" ;详情见EIP计费说明

    • 当计费模式为Monthly时,需提供购买时长在pod的annotations中添加k8s.ksyun.com/eip-purchase-time: "7" 

  • 设置EIP线路:在pod的annotations中添加 k8s.ksyun.com/eip-line-name: "BGP" ,若线路不存在,则eip创建失败,如果为空,则默认为BGP

  • 设置EIP所属项目:在pod的annotation中添加k8s.ksyun.com/eip-project-id: "0"

  • 给EIP设置Tag:在pod的annotation中添加k8s.ksyun.com/eip-tags: "xx=xx,xx1=xx1",支持设置多个tag中间以逗号分隔

文档导读
纯净模式常规模式

纯净模式

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