注意:这种情况下需要有个前提条件,也就是ingress-nginx-controller安装后的service是NodePort或者hostNetwork模式,而不能是ClusterIP,因为负载均衡器添加后端主机的时候需要监听后端主机的端口



情况介绍

1.k8s集群有8个节点,3个节点是master,分别是master1,master2,master3. 5个worker节点,分别是worker1,worke2,worke3,worker4,worker5

2.弹性公网IP绑定到worke3节点上,域名解析到这个弹性公网IP上

3.nginx-ingress-congtoller是使用kuboard界面本身提供安装的,使用nodeport形式,监控主机的80和443端口,安装完毕后会有这个提示

4.人为调整nginx-ingress-congtoller的pod只部署在worker3节点上

5.查看worker3主机上的80和443端口开放情况

6.ingress规则添加情况

问题

上述虽然能访问使用,但是主要访问入口承载是在worke3节点上,若是worke3节点有问题,则整个集群都无法访问使用。

解决办法也比较繁琐;

1.弹性公网IP绑定worker2主机上

2.人为调整nginx-ingress-congtoller的pod部署在worker2节点上

因此想着使用云厂商提供的负载均衡器解决上述问题,就算其中某一个主机挂了,也不影响正常访问使用

改造情况

1.云厂商申请一个私网的负载均衡器,绑定上述的弹性公网IP

2.调整nginx-ingress-congtoller的pod分布于全部节点或部分节点 (具体参考文章:https://www.cnblogs.com/sanduzxcvbnm/p/15936003.html)

3.把第二步中有nginx-ingress-congtoller pod的节点添加到负载均衡器的后端主机中

4.云厂商负载均衡设置情况 (需要关闭健康检查)

负载均衡监听80端口,后端用的协议是http,添加后端主机后,转发的主机端口不能是80,根据第三步的情况,填写30466端口,若是转发后端主机的443端口,应该填写32492端口

开启健康检查会报异常,导致访问网址404

5.ingress规则添加情况

6.worker3主机上的其他服务单独设置监听主机访问

7.关于https访问

7.1 ingress规则中不用再加载https证书的了,也不用添加访问http强制跳转https的注解了,这个也在负载均衡上进行配置

7.2 负载均衡器监听443端口,后端主机转发端口也是走http协议,因此填写用的也是用30466端口 (根据图示)

若是负载均衡器监听443端口,后端转发主机上填写也是转发的443端口(实际是32492端口),访问则会报错如下:

7.3 负载均衡器监听80端口重定向到 监听443端口上

k8s中的ingress使用上层负载均衡进行设置访问的更多相关文章

  1. [转帖]在 k8s 中通过 Ingress 配置域名访问

    在 k8s 中通过 Ingress 配置域名访问 https://juejin.im/post/5db8da4b6fb9a0204520b310 在上篇文章中我们已经使用 k8s 部署了第一个应用,此 ...

  2. k8s 中的 ingress 使用细节

    k8s中的ingress 什么是ingress Ingress 如何使用 ingress 使用细节 参考 k8s中的ingress 什么是ingress k8s 中使用 Service 为相同业务的 ...

  3. 从零开始入门 | Kubernetes 中的服务发现与负载均衡

    作者 | 阿里巴巴技术专家  溪恒 一.需求来源 为什么需要服务发现 在 K8s 集群里面会通过 pod 去部署应用,与传统的应用部署不同,传统应用部署在给定的机器上面去部署,我们知道怎么去调用别的机 ...

  4. Kubernetes 中的服务发现与负载均衡

    原文:https://www.infoq.cn/article/rEzx9X598W60svbli9aK (本文转载自阿里巴巴云原生微信公众号(ID:Alicloudnative)) 一.需求来源 为 ...

  5. Dubbo中集群Cluster,负载均衡,容错,路由解析

    Dubbo中的Cluster可以将多个服务提供方伪装成一个提供方,具体也就是将Directory中的多个Invoker伪装成一个Invoker,在伪装的过程中包含了容错的处理,负载均衡的处理和路由的处 ...

  6. .net core中的分布式缓存和负载均衡

    通过减少生成内容所需的工作,缓存可以显著提高应用的性能和可伸缩性,缓存对不经常更改的数据效果最佳,缓存生成的数据副本的返回速度可以比从原始源返回更快.ASP.NET Core 支持多种不同的缓存,最简 ...

  7. Linux中Apache+Tomcat+JK实现负载均衡和群集的完整过程

    人原创,一个字一个字地码的,尊重版权,转载请注明出处! http://blog.csdn.net/chaijunkun/article/details/6987443 最近在开发的项目需要承受很高的并 ...

  8. spring cloud中通过配置文件自定义Ribbon负载均衡策略

    一.Ribbon中的负载均衡策略 1.Ribbon中支持的负载均衡策略 AvailabilityFilteringRule:过滤掉那些因为一直连接失败的被标记为circuit tripped的后端se ...

  9. Nginx(http协议代理 搭建虚拟主机 服务的反向代理 在反向代理中配置集群的负载均衡)

    Nginx 简介 Nginx (engine x) 是一个高性能的 HTTP 和反向代理服务.Nginx 是由伊戈尔·赛索耶夫为俄罗斯访问量第二的 Rambler.ru 站点(俄文:Рамблер)开 ...

随机推荐

  1. JavaWeb连接MySQL数据库

    JavaWeb连接MySQL数据库 JavaWeb连接MySQL数据库的方式有很多,首先我们讲解JDBC的配置方法 一.JDBC的配置方法 1.什么是JDBC 什么是JDBC嘞?JDBC代表Java数 ...

  2. C语言-直接排序

    #include<stdio.h> #define MAXSIZE 100 typedef int KeyType; typedef struct { KeyType key; }Reco ...

  3. idea 错误: 找不到或无法加载主类 xx.xxx.Application

    原因module 里面缺少iml文件 生成iml文件方法二:(建议):刷新一下Maven Project就会自动生成.iml文件.点击下图红框标记的按钮即可 完成后就会自动生成.iml文件. 方法二: ...

  4. java.security.spec.InvalidKeySpecException: java.security.InvalidKeyException: IOException : DerInputStream.getLength(): lengthTag=111, too big.

    RSA用私钥签名的时候发现报错,删除以下内容即可 -----BEGIN PRIVATE KEY----- -----END PRIVATE KEY----- import org.apache.com ...

  5. HackerRank第一趴--Basic Select

    CITY表: Field Type ID number NAME VARCHAR2(17) COUNTRYCODE VARCHAR2(3) DISTRICT VARCHAR2(20) POPULATI ...

  6. C++类中的常成员和静态成员

    常变量.常对象.常引用.指向常对象或常变量的指针等在定义时都使用了const关键字,这是C++语言引入的一种数据保护机制,称为const数据保护机制.例如通过const关键字主动地将被调函数形参进行限 ...

  7. 抢先体验! 在浏览器里写 Flutter 是一种什么体验?

    Invertase 是一间位于英国的开源软件制作公司.主要构建关于开发者工具.SDK 等应用程序,早在 Flutter 2.2 的时候,Invertase 团队就开始帮助构建和贡献 Firebase ...

  8. Solution -「ABC 217」题解

    D - Cutting Woods 记录每一个切割点,每次求前驱后驱就好了,注意简单判断一下开闭区间. 考场上采用的 FHQ_Treap 无脑莽. #include <cstdio> #i ...

  9. gdb调试器在windows下的相关内容

    1.gdb调试器在visual studio或dev c++中也有类似的调试图形化可视界面,但是gdb不同的是它是由命令行组成,他的界面对于习惯图形化可视界面的用户来说一时间会不知所措 2.通过gcc ...

  10. python自带gui插件tkinter使用小结

    1.tkinter简介 Tkinter(即 tk interface,简称"Tk")本质上是对 Tcl/Tk 软件包的 Python 接口封装,它是 Python 官方推荐的 GU ...