IPAMDofTKE_QCSRole,单击角色名称进入角色详情页面。QcloudAccessForIPAMDRoleInQcloudAllocateEIP, 然后勾选已创建的预设策略 QcloudAccessForIPAMDRoleInQcloudAllocateEIP。单击确定,完成为 IPAMD 组件角色添加 EIP 接口访问权限操作。该策略包含了 IPAMD 组件操作弹性公网 IP 所需的所有权限。apiVersion: apps/v1kind: StatefulSetmetadata:labels:k8s-app: busyboxname: busyboxnamespace: defaultspec:replicas: 1selector:matchLabels:k8s-app: busyboxqcloud-app: busyboxserviceName: ""template:metadata:annotations:tke.cloud.tencent.com/networks: "tke-route-eni"tke.cloud.tencent.com/eip-attributes: '{"Bandwidth":"100","ISP":"BGP"}'tke.cloud.tencent.com/eip-claim-delete-policy: "Never"creationTimestamp: nulllabels:k8s-app: busyboxqcloud-app: busyboxspec:containers:- args:- "10000000000"command:- sleepimage: busyboximagePullPolicy: Alwaysname: busyboxresources:limits:tke.cloud.tencent.com/eni-ip: "1"tke.cloud.tencent.com/eip: "1"requests:tke.cloud.tencent.com/eni-ip: "1"tke.cloud.tencent.com/eip: "1"
tke.cloud.tencent.com/eip,从而让调度器保证 Pod 调度到的节点仍有 EIP 资源可使用。tke.cloud.tencent.com/eip-attributes: '{"Bandwidth":"100","ISP":"BGP"}':当前只支持配置带宽和线路类型两个参数。ISP 参数可配置为 BGP、CMCC、CTCC、CUCC,分别对应普通线路 BGP IP、静态单线 IP(网络运营商中国移动、中国电信、中国联通)。若不填写,则默认值为 100 Mbps 和 BGP。流量按小时后付费。apiVersion: apps/v1kind: StatefulSetmetadata:labels:k8s-app: busyboxname: busyboxnamespace: defaultspec:replicas: 1selector:matchLabels:k8s-app: busyboxqcloud-app: busyboxserviceName: ""template:metadata:annotations:tke.cloud.tencent.com/networks: "tke-route-eni"tke.cloud.tencent.com/eip-id-list: "eip-xxx1,eip-xxx2"creationTimestamp: nulllabels:k8s-app: busyboxqcloud-app: busyboxspec:containers:- args:- "10000000000"command:- sleepimage: busyboximagePullPolicy: Alwaysname: busyboxresources:limits:tke.cloud.tencent.com/eni-ip: "1"tke.cloud.tencent.com/eip: "1"requests:tke.cloud.tencent.com/eni-ip: "1"tke.cloud.tencent.com/eip: "1"
eip-xxx1的 EIP,第二个副本使用 eipID 为 eip-xxx2的 EIP。当前解析指定策略:Pod按照其名字末尾的编号依次选用注解中的 EIP,若名字末尾无编号(如deployment类型),则随机选用,冲突时只能有一个Pod关联成功。推荐无编号的 Pod 只指定单个 EIP。tke.cloud.tencent.com/eip,从而让调度器保证 Pod 调度到的节点仍有 EIP 资源可使用。ip-masq-agent 组件,该组件默认会对集群内 Pod 的主动外访流量以所在节点的地址做 SNAT。此外,如果 vpc 内配置了 NAT 网关,则其对 Pod 的主动外访流量也有影响。因此,如需让 Pod 的主动外访流量走其关联的 EIP,则需修改相关配置和路由策略以达到效果。kubectl -n kube-system edit cm ip-masq-agent-config
data.config字段中加入键为NonMasqueradeSrcCIDRs的新字段,值为已关联 EIP 的 Pod 的内网 IP 网段列表,如 IP 为172.16.0.2,则要填写172.16.0.2/32。以下为样例:apiVersion: v1data:config: '{"NonMasqueradeCIDRs":["172.16.0.0/16","10.67.0.0/16"],"NonMasqueradeSrcCIDRs":["172.16.0.2/32"],"MasqLinkLocal":true,"ResyncInterval":"1m0s","MasqLinkLocalIPv6":false}'kind: ConfigMapmetadata:name: ip-masq-agent-confignamespace: kube-system
EIPClaim。该对象描述 Pod 对 EIP 的需求。EIPClaim 也会被销毁,Pod 关联的 EIP 随之销毁回收。而对于固定 EIP 的 Pod,其 Pod 销毁后 EIPClaim 仍然保留,EIP 也因此保留。同名的 Pod 启动后会使用同名的 EIPClaim 关联的 EIP,从而实现 EIP 保留。

kubectl edit deploy tke-eni-ipamd -n kube-system。spec.template.spec.containers[0].args 中加入/修改启动参数。- --claim-expired-duration=1h # 可填写不小于 5m 的任意值
kubectl delete eipc <podname> -n <namespace>
kubectl edit deploy tke-eni-ipamd -n kube-system 。spec.template.spec.containers[0].args 中加入启动参数:- --enable-ownerref
文档反馈