当前位置: 首页 > article >正文

k8s ingress 无法找到端点

文章目录

  • ingress rule无法找到端点
      • 这个注解是什么意思呢?
      • 为何不生效呢?端点无法更新?
      • 如何确认ingressclass呢?
      • 修复端点无法发现的问题
      • 多个ingress controller 架构

ingress rule无法找到端点

在vnnox-cn集群创建ingress,kubernetes.io/ingress.class 指定的是service-internal-lan.

这个注解是什么意思呢?

这个注解告诉 Kubernetes 集群应该由哪个 Ingress 控制器来处理该 Ingress 资源.

集群中三个ingress controller

k -n kube-system get po
NAME                                                 READY   STATUS    RESTARTS   AGE
nginx-ingress-controller-569654cb59-j2nvg            1/1     Running   0          238d
nginx-ingress-controller-internal-65598959c8-lnr9v   1/1     Running   2          3y73d
nginx-ingress-controller-nova-657f857948-zkthm       1/1     Running   4          3y30d

# 10.201.92.105 这是一个私网CLB
k -n kube-system get svc
NAME                        TYPE           CLUSTER-IP      EXTERNAL-IP     PORT(S)                                     AGE                                484d
nginx-ingress-lb            LoadBalancer   172.19.14.18    47.110.xx    80:31571/TCP,443:31892/TCP,1935:31893/TCP   3y218d
nginx-ingress-lb-internal   LoadBalancer   172.19.5.159    10.201.92.105   80:31473/TCP,443:32509/TCP                  3y222d
nginx-ingress-lb-nova       LoadBalancer   172.19.14.25    47.111.xx   80:30253/TCP,443:32492/TCP                  3y30d

需要创建的是一个内部ingress : vnnox-consul-cn.vnnox.internal,这个域名在PrivateZone中解析. (和coreDNS 的作用类似,可以自定义一级域名,服务比自己维护更稳定。)

参考其他集群的annotation写的是service-internal-lan。

为何不生效呢?端点无法更新?

无法更新是因为annotation无法找到对应的kubernetes.io/ingress.class 。也就是ingressclass配置不正确。

如何确认ingressclass呢?

1.18 后的集群增加了ingressclass资源,直接kubectl get ingress即可。

目前的vnnox-cn 集群版本是1.16.6. 无法直接查询ingress-class 的名字。

可以查看kube-system ns下ingress controller pod中nginx-ingress-controller的启动参数确定。

spec:
  containers:
  - args:
    - /nginx-ingress-controller
...
    **- --ingress-class=service-internal**

修复端点无法发现的问题

将注解 kubernetes.io/ingress.class修改正确,端点即可自动发现。

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  annotations:
    kubernetes.io/ingress.class: service-internal
  creationTimestamp: "2023-11-30T03:33:40Z"
  generation: 3
  name: consul
  namespace: cn
  resourceVersion: "4773203542"
  selfLink: /apis/extensions/v1beta1/namespaces/cn/ingresses/consul
  uid: 57df1f48-b7c4-4af1-a2bf-767d6bc3aaf4
spec:
  rules:
  - host: vnnox-consul-cn.vnnox.XXX
    http:
      paths:
      - backend:
          serviceName: vnnox-consul
          servicePort: 8500
        path: /
status:
  loadBalancer:
    ingress:
    - ip: 10.201.92.105

多个ingress controller 架构

在这里插入图片描述


http://www.kler.cn/a/152608.html

相关文章:

  • 机器学习的复习笔记3-回归的细谈
  • 芯片技术探索:了解构芯片的设计与制造之旅
  • 竞赛选题 题目:基于深度学习的人脸表情识别 - 卷积神经网络 竞赛选题 代码
  • docker-compose;私有镜像仓库harbor搭建;镜像推送到私有仓库harbor
  • 张秋民老师11月27号給中国工商银行讲授《公文写作》圆满结束
  • Redis(一):初始Redis
  • 企业数字化转型应对传统网络挑战的关键策略
  • QT线程的使用 循环中程序的等待
  • npm install报错常用解题思路
  • 震坤行:数字驱动食品农副行业采购的新兴趋势与实践
  • NoSql非关系型数据库
  • 【HTTP协议】简述HTTP协议的概念和特点
  • php爬虫实现把目标页面变成自己的网站页面
  • 大数据-之LibrA数据库系统告警处理(ALM-37017 数据库连接数超限)
  • 自动驾驶学习笔记(十一)——高精地图
  • 唯创知音WTN6系列语音芯片:高音频采样率与精细音量控制赋能广泛应用
  • 数据结构---堆
  • 勒索解密后oracle无法启动故障处理----惜分飞
  • 考试复习
  • Himall商城OrderApplication