【K8s】服务暴露插件ingress-controller部署指南(二)

前面一个章节我们介绍了DaemonSet+HostNetwork部署ingress-controller的方式。

=====>>>>>【K8s】服务暴露插件ingress-controller部署指南(一)<<<<<=====

DaemonSet的Pod控制器会在每个node节点部署一个Pod,如果集群中有很多Node节点就会对资源造成一定的浪费,所以我们尝试使用Deployment+NodePort模式的Service部署。

本章节主要介绍Deployment+NodePort模式的Service部署方式,
其它操作查看【K8s】服务暴露插件ingress-controller部署指南(一)

也就是说本章节仅作为上一章节3.1 准备yaml文件的另一方案,使用官方另一个yaml文件部署。
也就是说本章节仅作为上一章节3.1 准备yaml文件的另一方案,使用官方另一个yaml文件部署。
也就是说本章节仅作为上一章节3.1 准备yaml文件的另一方案,使用官方另一个yaml文件部署。

下载yaml文件:github官方地址

编辑文件,如下图:

是的,只是简单增加两个nodePort字段,指定service在Node节点映射的端口,这样在上层负载均衡继续做代理就会方便很多。
当然,镜像的image: 字段也还是要改成国内可用的地址,这里提供和上一章节一样的容器镜像。

docker pull serenade11/ingress-nginx-controller:v1.0.0
docker pull serenade11/kube-webhook-certgen:v1.0

由于这里的nodePort是对service端口的映射,所以会自动在所有Node节点生成端口映射。
接着就可以在上层负载均衡器做反向代理,将流量负载到所有Node的30080和30443端口,
最后对外只需要暴露负载均衡的IP+Port即可。

补充内容到此结束,部署测试请查看【K8s】服务暴露插件ingress-controller部署指南(一)

可能有些人会对ingress-controller和ingress这两个概念不理解,会感觉太抽象。
做个简单的比喻:
1、ingress-controller相当于在pod中部署了一个“nginx”的负载均衡器,对外只需要暴露这个负载均衡器的端口;
2、ingress则相当于在“nginx”中创建代理的配置文件,指定访问过来的流量被转发到哪个service资源。

下面是一个大概的对照关系:
ingress-controller——>>>nginx
ingress———————>>/etc/nginx/conf.d/xxx.com.conf文件

 如您发现文中有错误,请评论区留言指导博主改正,谢谢。


版权声明:本文为weixin_44451114原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。