云服务器内容精选

  • 状态码 状态码 描述 200 OK 201 Created 202 Accepted 400 BadRequest 401 Unauthorized 403 Forbidden 404 NotFound 405 MethodNotAllowed 406 NotAcceptable 409 AlreadyExists 415 UnsupportedMediaType 422 Invalid 429 TooManyRequests 500 InternalError 503 ServiceUnavailable 504 ServerTimeout
  • 请求示例 动态创建独占带宽类型的EIPPool,资源池中EIP数量为2。 { "apiVersion" : "crd.yangtse.cni/v1", "kind" : "EIPPool", "metadata" : { "name" : "eippool-test" }, "spec" : { "amount" : 2, "eipAttributes" : { "bandwidth" : { "chargeMode" : "bandwidth", "name" : "eippool-test", "shareType" : "PER", "size" : 5 }, "ipVersion" : 4, "networkType" : "5_g-vm" } } }
  • 响应示例 状态码: 201 Created { "apiVersion" : "crd.yangtse.cni/v1", "kind" : "EIPPool", "metadata" : { "creationTimestamp" : "2023-04-23T06:36:06Z", "generation" : 1, "name" : "eippool-test", "namespace" : "auto-test-namespace", "resourceVersion" : "290279663", "selfLink" : "/apis/crd.yangtse.cni/v1/namespaces/auto-test-namespace/eippools/eippool-test", "uid" : "446b63bb-c1f1-4eb2-8bdf-b77823881d37" }, "spec" : { "amount" : 2, "eipAttributes" : { "bandwidth" : { "chargeMode" : "bandwidth", "name" : "eippool-test", "shareType" : "PER", "size" : 5 }, "ipVersion" : 4, "networkType" : "5_g-vm" } } }
  • URI POST /apis/crd.yangtse.cni/v1/namespaces/{namespace}/eippools 表1 路径参数 参数 是否必选 参数类型 描述 namespace 是 String object name and auth scope, such as for teams and projects 表2 Query参数 参数 是否必选 参数类型 描述 dryRun 否 String When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed fieldManager 否 String fieldManager is a name associated with the actor or entity that is making these changes. The value must be less than or 128 characters long, and only contain printable characters, as defined by https://golang.org/pkg/unicode/#IsPrint. pretty 否 String If 'true', then the output is pretty printed.
  • 创建动态EIPPool 动态EIPPool,即根据用户在EIPPool中填写的配置,动态创建底层的EIP资源,同时在CCI命名空间下创建相应的EIP对象。 以下示例创建了一个名为eippool-demo1的动态EIPPool,具体字段含义见表1。 动态创建独占带宽类型的EIPPool,无需指定带宽ID,示例如下: apiVersion: crd.yangtse.cni/v1 kind: EIPPool metadata: name: eippool-demo1 namespace: xxx # EIPPool所在的命名空间,与Pod保持一致 spec: amount: 3 # EIP资源池中的EIP数量 eipAttributes: networkType: 5_bgp ipVersion: 4 bandwidth: name: cci-eippool-demo1 chargeMode: bandwidth shareType: PER size: 5 动态创建共享带宽类型的EIPPool,必须指定带宽ID且只需填写该字段,示例如下: apiVersion: crd.yangtse.cni/v1 kind: EIPPool metadata: name: eippool-demo1 namespace: xxx spec: amount: 3 eipAttributes: networkType: 5_bgp ipVersion: 4 bandwidth: id: xxx shareType: WHOLE #带宽类型为共享带宽时,必须指定带宽ID。 表1 参数说明 参数 参数含义 约束 name EIPPool的名称 建议EIPPool的名字长度不超过29个字节,超过字段将被截断,但不影响使用。 namespace EIPPool所在的命名空间 与Pod的命名空间保持一致。 amount EIP资源池中的EIP数量 取值范围为0~500。 networkType EIP的类型 取值范围:5_telcom(电信),5_union(联通),5_bgp(全动态BGP),5_sbgp(静态BGP),5_ipv6。 必须是系统具体支持的类型。 ipVersion 弹性公网IP的版本 取值范围:4、6,分别表示创建ipv4和ipv6。 必须是系统具体支持的类型 不填或空字符串时,默认创建ipv4。 chargeMode 按流量计费还是按带宽计费 取值范围:bandwidth,traffic,bandwidth表示按宽带计费,traffic表示按流量计费,不填或者为空时默认是bandwidth。其中IPv6国外默认是bandwidth,国内默认是traffic。 shareType 带宽类型 取值范围:PER,WHOLE(PER为独占带宽,WHOLE是共享带宽)。 该字段为WHOLE时,必须指定带宽ID。 id 带宽ID 取值范围:WHOLE类型的带宽ID。 size 带宽大小 取值范围:1-200。 单位:Mbit/s。 具体范围以各区域配置为准,请参见控制台对应页面显示。 对于以上YAML文件中的EIP相关字段,您还可以在EIP参数界面查看参数具体的功能描述,取值范围和约束。 执行以下命令,查看EIPPool详情,-n表示EIPPool所在的命名空间。 回显信息中有名称为eippool-demo1的EIPPool,表示动态EIPPool已创建成功。 # kubectl get eippool -n $namespace_name NAME EIPS USAGE AGE eippool-demo1 0/3 39m 父主题: 创建EIPPool
  • 约束与限制 一个Pod只能绑定一个EIP。 绑定EIP的Pod,如果要被公网成功访问,需要添加放通相应公网请求流量的安全组规则。 EIPPool正在被Pod使用时,不支持直接删除EIPPool,需删除关联Pod,再删除EIPPool。 EIPPool为namespace级别资源,不可跨namespace使用。 工作负载滚动升级时,默认策略是逐步创建新Pod然后删除旧Pod(请参见升级策略),则可能会由于EIPPool中EIP数量不足而升级失败。建议:EIPPool池的大小略大于使用该EIPPool的所有的Deployment副本数之和,或者maxSurge配置为0,可支持工作负载先减后增滚动升级。
  • 创建静态EIPPool 静态EIPPool,即根据用户指定的多个未使用的EIP,静态纳管底层的EIP资源,同时在CCI命名空间下创建相应的EIP对象。如果EIPPool中的EIP已经被NAT或者ELB使用,则会纳管失败。 以下示例创建了一个名为eippool-demo2的静态EIPPool,并在此EIPPool中纳管10.246.173.254和10.246.172.3两个公网IP。示例如下: apiVersion: crd.yangtse.cni/v1 kind: EIPPool # 创建的对象类别 metadata: # 资源对象的元数据定义 name:eippool-demo2 spec: # EIPPool的配置信息 eips: # 纳管的公网IP - 10.246.173.254 - 10.246.172.3 父主题: 创建EIPPool