Workload固定IP地址
Kube-OVN支持通过annotation的“ovn.kubernetes.io/ip_pool”字段给Workload(Deployment / StatefulSet / DaemonSet / Job / CronJob)设置固定IP地址。Workload下的Pod会自动选择annotation中“ovn.kubernetes.io/ip_pool”字段指定的IP地址并保证不会冲突。
示例:
vim Deployment.yaml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
apiVersion: apps/v1 kind: Deployment metadata: namespace: product name: starter-backend labels: app: starter-backend spec: replicas: 2 selector: matchLabels: app: starter-backend template: metadata: labels: app: starter-backend annotations: ovn.kubernetes.io/ip_pool: 10.16.0.15,10.16.0.16,10.16.0.17 spec: containers: - name: backend image: nginx:alpine |
kubectl create -f Deployment.yaml
使用annotation定义Workload固定IP地址时需要注意以下几点:
- IP地址必须在所属子网的CIDR内。
- 所使用的IP地址不能和已有的IP地址冲突。
- IP地址数量小于replicas数量时,多出的Pod将无法创建,需要根据Workload的更新策略以及扩容规划调整ovn.kubernetes.io/ip_pool中的IP地址数量。
父主题: 业务部署