ingress-controller中定义10.1.211.240的疑惑?

来源:1-2 课程介绍与学习指南

拧壶冲

2021-12-18

清风老师你好,我在学习ingress-controller.yaml文件中看到ingress-controller其实是一个service,其中有对IP地址进行设置,固定为10.1.211.240:

spec:
  clusterIP: 10.1.211.240
  externalTrafficPolicy: Cluster
  ports:
  - name: http
    nodePort: 31686
    port: 80
    protocol: TCP
    targetPort: http
  - name: https
    nodePort: 30036
    port: 443
    protocol: TCP
    targetPort: https
  selector:
    app.kubernetes.io/name: ingress-nginx
    app.kubernetes.io/part-of: ingress-nginx
  sessionAffinity: None
  type: NodePort

这里有三个疑惑:

  1. 如果是云服务器环境,不是这个ip地址,能够将clusterIP改成服务器的IP地址吗?
  2. 如果我的ingress和ingress-controller都是replicas:2,在两台nodes上都有,那么IP地址应该如何设置?
  3. 我看到有文档写,如果是云服务器环境,service应该创建成为LoadBalance类型的?
写回答

1回答

清风

2021-12-20

  1. 有些云服务不支持clusterIP,这个得具体和云厂商确认。

  2. 如果是nodeport方式,它会在每个node 的相同端口都开放服务,所以你写两个node的任何一个ip,+端口都能访问到ingress服务。

  3. 云环境都是买ELB负载均衡。

0
2
拧壶冲
做了实验,将ingress-controller中的10.1.211.240替换成服务器的ip地址,会报错: The Service "ingress-nginx" is invalid: spec.clusterIP: Invalid value: "xxx.xxx.xxx.xxx": provided IP is not in the valid range. The range of valid IPs is 10.1.0.0/16
2021-12-20
共2条回复

Kubernetes 入门到进阶实战,系统性掌握 K8s 生产实践

阿里云最有价值专家亲授,云原生时代必备技能

1501 学习 · 613 问题

查看课程