27.3. 配置集群以使用唯一外部 IP
在非云集群中,ingressIPNetworkCIDR
被默认设置为 172.29.0.0/16
。如果您的集群环境还没有使用这个私有范围,您可以使用默认值。但是,如果要使用不同的范围,则必须在分配入口 IP 前在 /etc/origin/master/master-config.yaml 文件中设置 ingressIPNetworkCIDR
。然后,重启 master 服务。
分配给 LoadBalancer
类型的服务的外部 IP 将始终在 ingressIPNetworkCIDR
范围内。如果更改了 ingressIPNetworkCIDR
,则分配的外部 IP 不再范围内,受影响的服务将被分配与新范围兼容的新外部 IP。
如果您使用高可用性,则此范围必须小于 255 个 IP 地址。
Sample /etc/origin/master/master-config.yaml
networkConfig: ingressIPNetworkCIDR: 172.29.0.0/16
27.3.1. 为服务配置 Ingress IP
分配入口 IP:
为 LoadBalancer 服务创建一个 YAML 文件,通过
loadBalancerIP
设置请求特定 IP:LoadBalancer 配置示例
apiVersion: v1 kind: Service metadata: name: egress-1 spec: ports: - name: db port: 3306 loadBalancerIP: 172.29.0.1 type: LoadBalancer selector: name: my-db-selector
在 pod 上创建 LoadBalancer 服务:
$ oc create -f loadbalancer.yaml
检查服务是否有外部 IP。例如,对于名为
myservice
的服务:$ oc get svc myservice
当您的 LoadBalancer-type 服务分配了外部 IP 时,输出会显示 IP:
NAME CLUSTER-IP EXTERNAL-IP PORT(S) AGE myservice 172.30.74.106 172.29.0.1 3306/TCP 30s