Menu Close

Red Hat Training

A Red Hat training course is available for OpenShift Container Platform

27.3. 将集群配置为使用唯一外部 IP

在非云集群中,ingressIPNetworkCIDR 默认被设置为 172.29.0.0/16。如果您的集群环境还没有使用此私有范围,您可以使用默认值。但是,如果要使用不同的范围,则必须在 /etc/origin/master/master-config.yaml 文件中设置 ingressIPNetworkCIDR,然后才能分配入口 IP。然后,重新启动 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:

  1. 为 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

  2. 在 pod 上创建一个 LoadBalancer 服务:

    $ oc create -f loadbalancer.yaml
  3. 检查 服务是否有外部 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