Skip to content

Workload 固定 IP

oilbeater edited this page Jun 27, 2022 · 3 revisions

Wiki 下的中文文档将不在维护,请访问我们最新的中文文档网站,获取最新的文档更新。

Kube-OVN 支持通过 annotation ovn.kubernetes.io/ip_pool 给 Workload(Deployment/StatefulSet/DaemonSet/Job/CronJob)设置固定 IP。Workload 下的 Pod 会自动选择 ovn.kubernetes.io/ip_pool 中指定的 IP 并保证不会冲突。

Deployment 固定 IP 示例

apiVersion: apps/v1
kind: Deployment
metadata:
  namespace: ls1
  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

对 Workload 使用固定 IP 需要注意以下几点:

  1. ovn.kubernetes.io/ip_pool 中的 IP 应该属于所在子网的 CIDR 内
  2. ovn.kubernetes.io/ip_pool 中的 IP 不能和已使用的 IP 冲突
  3. ovn.kubernetes.io/ip_pool 中的 IP 数量小于 replicas 数量时,多出的 Pod 将无法创建。你需要根据 Workload 的更新策略以及扩容规划调整 ovn.kubernetes.io/ip_pool 中 IP 的数量
Clone this wiki locally