7.3.2. 指定每个项目自定义持续时间
除了为运行一次 pod 指定全局最长持续时间外,管理员还可以向特定项目添加注解(openshift.io/active-deadline-seconds-override
),以覆盖全局默认值。
对于新项目,在项目 specification .yaml 文件中定义注解。
apiVersion: v1 kind: Project metadata: annotations: openshift.io/active-deadline-seconds-override: "1000" 1 name: myproject
- 1
- 将运行一次 pod 的默认活跃期限秒数覆盖为 1000 秒。请注意,覆盖的值必须以字符串形式指定。
对于现有项目,
运行
oc edit
并添加openshift.io/active-deadline-seconds-override:1000
注解。$ oc edit namespace <project-name>
或者
使用
oc patch
命令:$ oc patch namespace <project_name> -p '{"metadata":{"annotations":{"openshift.io/active-deadline-seconds-override":"1000"}}}'
7.3.2.1. 部署 Egress Router Pod
例 7.1. Egress 路由器的 Pod 定义示例
apiVersion: v1 kind: Pod metadata: name: egress-1 labels: name: egress-1 annotations: pod.network.openshift.io/assign-macvlan: "true" spec: containers: - name: egress-router image: openshift3/ose-egress-router securityContext: privileged: true env: - name: EGRESS_SOURCE 1 value: 192.168.12.99 - name: EGRESS_GATEWAY 2 value: 192.168.12.1 - name: EGRESS_DESTINATION 3 value: 203.0.113.25 nodeSelector: site: springfield-1 4
pod.network.openshift.io/assign-macvlan 注释
在主网络接口上创建一个 Macvlan 网络接口,然后在启动 egress-router 容器前将它移到 pod 的网络命名空间中。
保留 "true"
上的引号。省略它们将导致错误。
pod 包含一个容器,它使用 openshift3/ose-egress-router 镜像,该容器会特权运行,以便它可以配置 Macvlan 接口并设置 iptables
规则。
环境变量告知 egress-router 镜像要使用的地址;它将配置 Macvlan 接口,以将 EGRESS_SOURCE 用作
其 IP 地址,并将 EGRESS_GATEWAY
作为其网关。
设置 NAT 规则,以便将到 Pod 集群 IP 地址上的任何 TCP 或 UDP 端口的连接重定向到 EGRESS_DESTINATION
上的相同端口。
如果集群中只有部分节点能够声明指定的源 IP 地址并使用指定的网关,您可以指定一个 nodeName
或 nodeSelector
来表示哪些节点可以接受。