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:

  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
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.