Kubernetes-Ingress、Ingress Controller、Ingress Class

这篇具有很好参考价值的文章主要介绍了Kubernetes-Ingress、Ingress Controller、Ingress Class。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

概念

1.Ingress 是对K8S集群中服务的外部访问进行管理的 API 对象。Ingress 公开从集群外部到集群内服务的 HTTP 和 HTTPS 路由。 流量路由由 Ingress 资源上定义的规则控制。
2.Ingress Controller 通常负责通过负载均衡器来实现 Ingress。
3.必须拥有一个 Ingress Controller 才能满足 Ingress 的要求。 仅创建 Ingress 资源本身没有任何效果。

Ingress

Ingress和Ingress Controller是两回事

  • ingress定义路由规则;
  • ingress用于监听pod的变化,注入ingress controller。

Kubernetes-Ingress、Ingress Controller、Ingress Class

当一个负载均衡器Pod要代理多个服务的时候:

后端服务Pod要通过Service分类(Service此时只起到分类的作用),ingress基于service的分类识别出有几个Pod和Pod IP地址,并且把Pod的IP地址返回注入到7层负载均衡器的配置文件内,负载均衡器重载配置文件。(Treafik、Envory会自动重载配置文件)

注意:

  1. Ingress 资源应该跟转发到的后端资源放在同一个namespace里;
  2. 1.19以下版本和1.19及以上版本的ingress配置有所不同。

Ingress Controller

为了让 Ingress 资源工作,集群必须有一个正在运行的 Ingress 控制器。
与作为 kube-controller-manager 可执行文件的一部分运行的其他类型的控制器不同, Ingress Controller不是随集群自动启动的。Ingress Controller通常是一组拥有7层代理能力服务的Pod。

Ingress Class

在 Kubernetes 1.18 版本引入 IngressClass 资源和 ingressClassName 字段。此前Ingress配置中是通过 Ingress 中的一个 kubernetes.io/ingress.class 注解来指定Ingress Class的。

Ingress、Ingress Class、Ingress Controller三者的关系

我们通过yaml文件的内容,观察三者的关联关系。

Kubernetes-Ingress、Ingress Controller、Ingress Class

  • Ingress Controller,会指定要关联的ingress class,和在k8s中注册自己controller的信息;
  • Ingress Class,会指定要关联的controller的信息;
  • Ingress,会指定要关联的Ingress Class的信息;
  • 最终,Ingress Class作为“桥梁”,将Ingress和Ingress Controller关联起来。

参考文档

Ingress | Kubernetes

Ingress 控制器 | Kubernetes文章来源地址https://www.toymoban.com/news/detail-508440.html

到了这里,关于Kubernetes-Ingress、Ingress Controller、Ingress Class的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • k8s之ingress-nginx-controller与metallb部署

    在Kubernetes中,服务和Pod的IP地址仅可以在集群网络内部使用,对于集群外的应用是不可见的。为了使外部的应用能够访问集群内的服务,Kubernetes 目前提供了以下几种方案: NodePort LoadBalancer Ingress 为了解决外部访问k8s内服务及负载均衡问题,这里介绍如何安装ingress-nginx-cont

    2023年04月08日
    浏览(37)
  • k8s1.26.1部署 ingress-nginx-controller(1.6.4)

    1.24版本k8s集群配置Nginx-Ingress rancher配置https域名访问图文教程 https://github.com/kubernetes/ingress-nginx https://kubernetes.github.io/ingress-nginx/deploy/ 可以实现下载文件内容 然后执行如下命令启动ingress-nginx-controller 修改文件中的image地址 替换成如下内容: 为防止拉取镜像失败,可以提前下

    2024年02月11日
    浏览(36)
  • k8s helm ingress-nginx Error: template: ingress-nginx/templates/controller-role “update-status“

    k8s,使用helm包管理器安装ingress-nginx时,安装文件出错 helm 版本:Version:“v3.2.3” k8s 版本:Kubernetes v1.23.6 ingress-nginx chart version:4.9.0 app version:1.9.5 前面都按网上的教程做,没有什么大问题 最后一步执行安装命令 命令执行失败,报错 问题可能出现在对.Values.controller.extraArg

    2024年03月20日
    浏览(123)
  • 【kubernetes系列】Kubernetes之Ingress

    从前面的学习,我们可以了解到Kubernetes暴露服务的方式目前常见的只有三种:LoadBlancer Service、NodePort Service、Ingress;而我们需要将集群内服务提供外界访问就会面临以下几个问题: Pod 漂移问题 Kubernetes 具有强大的副本控制能力,能保证在任意副本(Pod)挂掉时自动启动一个

    2024年02月16日
    浏览(48)
  • 【Kubernetes】Kubernetes对外服务之Ingress

      service的作用体现在两个方面,对集群内部,它不断跟踪pod的变化,更新endpoint中对应pod的对象,提供了ip不断变化的pod的服务发现机制;对集群外部,他类似负载均衡器,可以在集群内外部对pod进行访问。   在Kubernetes中,Pod的IP地址和service的ClusterIP仅可以在集群网络内

    2024年02月12日
    浏览(43)
  • Kubernetes系列-Ingress

    Kubernetes 对外暴露服务(Service)主要有两种方式: NodePort , LoadBalance ,此外  externalIps  也可以使各类 service 对外提供服务,但是当集群服务很多的时候,NodePort方式最大的缺点是会占用很多集群机器的端口;LB方式最大的缺点则是每个Service一个LB又有点浪费和麻烦,并且需

    2024年02月14日
    浏览(39)
  • Kubernetes部署ingress

    RHEL 9.3 Docker Community 24.0.7 minikube v1.32.0 通过minikube启用 ingress : 注:接下来在不能访问 registry.k8s.io 的环境里,用该环境作为“标准环境”,以便做对比。 通过minikube启用 ingress 会报错: ingress使用的是 ingress-nginx namespace: 查看 ingress-nginx namespace: 查看deployment: 查看job: 所

    2024年01月20日
    浏览(40)
  • kubernetes之Ingress

            Ingress是k8s中实现7层负载的实现方式,是公开集群外部流量到集群内服务的HTTP和HTTPS路由         通常Ingress实现由Ingress 控制器和Ingress组成,Ingress控制器负责具体实现反向代理及负载均衡,Ingress负责定义匹配规则和路由         Ingress-nginx控制器部署参见:Install

    2024年02月14日
    浏览(40)
  • kubernetes Ingress资源管理

    k8s 对外服务之 Ingress //Ingress 简介 service的作用体现在两个方面,对集群内部,它不断跟踪pod的变化,更新endpoint中对应pod的对象,提供了ip不断变化的pod的服务发现机制;对集群外部,他类似负载均衡器,可以在集群内外部对pod进行访问。 在Kubernetes中,Pod的IP地址和service的

    2024年02月16日
    浏览(64)
  • Linux学习-kubernetes之Ingress

    资源下载 IngressController IngressYAML Ingress安装部署

    2024年02月07日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包