kubernetes(k8s) 学习 (六) ingress 简介 +基础实验

本文深入探讨Kubernetes中Ingress的原理与实践,通过实验展示如何利用Ingress Controller实现基于nginx的七层反向代理负载均衡,包括直接指定后端服务、通过不同域名和路径调度到特定后端的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ingress简介

我们知道service的表现形式为IP:PORT,即工作在第四层传输层(TCP/IP层),那么对于不同的URL地址经常对应用不同的后端服务或者虚拟服务器,这些应用层的转发机制仅通过kubernetes的service机制是无法实现的,这种情况我们可以使用ingress策略定义和一个具体的ingress Controller,两者结合实现一个完整的Ingress 负载均衡,这个负载均衡是基于nginx七层反向代理来实现

在这里插入图片描述
下图即为Ingress Controller这种独特的控制器资源的工作流程图.
需要注意: Ingress Controller 和 Ingress是两个不同的资源

Ingress它是通过headless service的集群内FQDN获取到它后端所有的Pod资源的IP,因为headless Service没有ClusterIP,它的域名对应的IP为PodIP。

Ingress获取PodIP后,在立刻将其写入到ingress-nginx的配置文件中,
并触发nginx重读配置文件。实现动态更新upstream。

另外,外部LB可以直接跳过Service,直接访问到nginx,这需要将nginx这个Pod作为共享宿主机的网络名称空间才能实现,这时就需要借助于daemonSet控制器来控制着nginx这种七层反代Pod仅允许在指定节点上,并且每个节点上仅运行一个nginx Pod。

在这里插入图片描述在这里插入图片描述

具体实验

实验环境和之前的博客是一样的。

在这里插入图片描述
在这里插入图片描述
1.
在这里插入图片描述在这里插入图片描述2.我是把ingress-controller镜像下载在本地的harbor仓库中,让集群中的节点去harbor仓库中去拿。
在这里插入图片描述

在这里插入图片描述
拿到yaml文件
在这里插入图片描述编辑此文件,把镜像的位置换成本地仓库中镜像的位置
在这里插入图片描述

在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述查看日志,发现service缺少
在这里插入图片描述在这里插入图片描述
应用刚才wget的service文件
在这里插入图片描述在这里插入图片描述在这里插入图片描述
查看信息
在这里插入图片描述在这里插入图片描述在这里插入图片描述

直接指定后端的服务名称

在这里插入图片描述创建ingress服务
在这里插入图片描述在这里插入图片描述service.yaml文件
在这里插入图片描述在这里插入图片描述
3.在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

通过域名的形式来访问后端

在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
在真机中添加ser4的解析

在这里插入图片描述发现实现负载均衡
在这里插入图片描述在这里插入图片描述

通过不同的域名定义到不同的后端

1.在这里插入图片描述2.在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述访问www2.westos.org时访问到v1
在这里插入图片描述访问www1.westos.org时访问到v2
在这里插入图片描述在这里插入图片描述在这里插入图片描述

测试访问同一域名,不同的path时,调度到不同的后端

在这里插入图片描述
1.
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值