linux怎么查看本机内存大小
277
2022-10-29
第二十七章 九析带你轻松完爆 Istio - k8s 流量进入集群之 Ingress
系列文章:总目录索引:九析带你轻松完爆 istio 服务网格系列教程
目录
1 前言
2 邀约
3 Ingress 介绍
4 ingress 实例
4.1 ingress 资源文件
4.2 service 资源文件
4.3 pod 资源文件
5 访问 ingress
5.1 获取 ingress HOST
5.2 域名解析绑定
5.3 访问 ingress
6 结论
1 前言
2 邀约
3 Ingress 介绍
Ingress 中文含义就是“入口”,非常形象地定义了这种资源的本质:Ingress 就是 k8s 的门户。
就像一幢建筑物,比如酒店、商场等,不止一个入口,k8s 也可以定义多个入口放流量进来。
k8s 集群必须部署一个 Ingress 控制器(比如 nginx、traefik 等),Ingress 控制器的作用就是创建 Ingress 资源,好让其生效。Ingress 控制器跟 Ingress 的关系就像 nginx 跟 nginx.conf( nginx 配置文件) 一样。
Ingress 控制器容器内一般有两个关键的进程,分别是一个负载均衡器(比如 nginx、haproxy 等)和一个控制器守护进程。控制器守护进程会从 k8s 接收所需的 Ingress 创建需求,并将其生成一个 nginx 或 haproxy 的配置片段,并重新加载负载均衡器来使其生效。
就拿 nginx-ingress-controller 举例,nginx 是 nginx-ingress-controller 内部进程,也是其负载均衡器,而 nginx-ingress-controller 是 k8s 的负载均衡器。
4 ingress 实例
如果要展示 ingress 实例,需要三个资源文件:
1 ingress 流量入口资源文件2 service 流量从入口进入后的流向资源文件3 pod 流量最终目的地资源文件
4.1 ingress 资源文件
4.2 service 资源文件
4.3 pod 资源文件
5 访问 ingress
5.1 获取 ingress HOST
因为我的 nginx-ingress-controller pod 直接采用的是 hostNetwork: true,也就是使用了宿主机的网络命名空间。因此这里的 Pod IP 就是宿主机的 IP,也就是说访问的时候可以直接使用此 IP。
5.2 域名解析绑定
编辑 /etc/hosts(centos)文件,添加域名解析定义:
10.110.101.100 ingress.jiuxi.org
5.3 访问 ingress
执行如下命令访问 ingress:
curl 结论
使用 nodeport、loadbalancer 跟 ingress 在实现路由方式上有所不同。对于 loadbalancer 和 nodeport,都是将流量导入到节点上的 kube-proxy 进程,后者再将流量转发到后面的 pod。而 Ingress 负载均衡器则将流量直接转发到选定的 Pod,这样效率更高。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~