当前位置: 首页 > news >正文

鄂州网警河北网站seo地址

鄂州网警,河北网站seo地址,虚拟主机空间域名,新疆生产建设兵团检察院网站Ingress和 Ingress Controller概述 回顾service四层负载在k8s中为什么要做负载均衡Service不足之处四层负载和七层负载的区别OSI七层模型: Ingress介绍Ingress Controller介绍Ingress-controller 作用Ingress和Ingress Controller总结使用Ingress Controller代理k8s…

Ingress和 Ingress Controller概述

  • 回顾service四层负载
    • 在k8s中为什么要做负载均衡
    • Service不足之处
    • 四层负载和七层负载的区别
      • OSI七层模型:
  • Ingress介绍
  • Ingress Controller介绍
    • Ingress-controller 作用
    • Ingress和Ingress Controller总结
    • 使用Ingress Controller代理k8s内部pod的流程
    • 客户端通过七层调度器访问后端pod的方式

回顾service四层负载

在这里插入图片描述

在k8s中为什么要做负载均衡

  • Pod 漂移问题,可以理解成Pod IP是变化的
  • Kubernetes具有强大的副本控制能力,能保证在任意副本(Pod)挂掉时自动从其他机器启动一个新的,还可以动态扩容等。通俗地说,这个Pod可能在任何时刻出现在任何节点上,也可能在任何时刻死在任何节点上;那么自然随着Pod的创建和销毁,Pod IP 肯定会动态变化;
  • 这里借助于Kubernetes的 Service 机制,Service可以以标签的形式选定一组带有指定标签的Pod,并监控和自动负载他们的Pod IP,那么我们向外暴露只暴露Service IP就行了;这就是NodePort模式:即在每个节点上开起一个端口,然后转发到内部Pod IP 上。
  • Service可以通过标签选择器找到它所关联的Pod。但是属于四层代理,只能基于IP和端口代理。

Service不足之处

Service的type类型有很多,如NodePort、clusterIp、loadbalancer、externalname,如果Service想要被k8s集群外部访问,需要用NodePort类型,但是NodePort类型的svc有如下几个问题:

  • nodeport会在物理机映射一个端口,绑定到物理机上,这样就导致,每个服务都要映射一个端口,端口过多,维护困难
  • Service底层使用的是iptables或者ipvs,仅支持四层代理,无法基于https协议做代理

四层负载和七层负载的区别

  • 四层负载:四层的负载均衡就是基于IP+端口的负载均衡:在三层负载均衡的基础上,通过发布三层的IP地址(VIP),然后加四层的端口号,来决定哪些流量需要做负载均衡,对需要处理的流量进行NAT处理,转发至后台服务器,并记录下这个TCP或者UDP的流量是由哪台服务器处理的,后续这个连接的所有流量都同样转发到同一台服务器处理。
  • 七层的负载均衡就是基于虚拟的URL或主机IP的负载均衡:在四层负载均衡的基础上(没有四层是绝对不可能有七层的),再考虑应用层的特征,比如同一个Web服务器的负载均衡,除了根据VIP加80端口辨别是否需要处理的流量,还可根据七层的URL、浏览器类别、语言来决定是否要进行负载均衡。举个例子,如果你的Web服务器分成两组,一组是中文语言的,一组是英文语言的,那么七层负载均衡就可以当用户来访问你的域名时,自动辨别用户语言,然后选择对应的语言服务器组进行负载均衡处理。
  • 四层负载均衡工作在传输层,七层负载均衡工作在应用层

OSI七层模型:

在这里插入图片描述

Ingress介绍

  • Ingress官网定义:Ingress可以把进入到集群内部的请求转发到集群中的一些服务上,从而可以把服务映射到集群外部。Ingress 能把集群内Service 配置成外网能够访问的 URL,流量负载均衡,提供基于域名访问的虚拟主机等。
  • Ingress简单的理解就是你原来需要改Nginx配置,然后配置各种域名对应哪个 Service,现在把这个动作抽象出来,变成一个 Ingress 对象,你可以用 yaml 创建,每次不要去改Nginx 了,直接改yaml然后创建/更新就行了;那么问题来了:”Nginx 该怎么处理?”
  • Ingress总结:ingress是k8s中的资源,主要是管理ingress-controller这个代理的配置文件
  • Ingress Controller 这东西就是解决 “Nginx 的处理方式” 的;Ingress Controller 通过与 Kubernetes API 交互,动态的去感知集群中Ingress规则变化,然后读取他,按照他自己模板生成一段 Nginx 配置,再写到 Nginx Pod 里,最后 reload 一下

Ingress Controller介绍

Ingress Controller是一个七层负载均衡调度器,客户端的请求先到达这个七层负载均衡调度器,由七层负载均衡器在反向代理到后端pod,常见的七层负载均衡器有nginx、traefik,以我们熟悉的nginx为例,假如请求到达nginx,会通过upstream反向代理到后端pod应用,但是后端pod的ip地址是一直在变化的,因此在后端pod前需要加一个service,这个service只是起到分组的作用,那么我们upstream只需要填写service地址即可。

Ingress-controller 作用

Ingress-controller里面封装就是nginx
我直接在物理机上装个nginx就行了啊,为啥还弄个Ingress-controller?

  • Nginx:nginx配置文件一改动,你还需要手动reload一下才可以生效
  • 用ingress-controller封装的nginx,你ingress维护配置,ingress创建好之后,会自动的把配置文件传到ingress-controller这个pod里,会自动进行reload,然后配置就生效了

Ingress和Ingress Controller总结

  • Ingress 则是定义规则,通过它定义某个域名的请求过来之后转发到集群中指定的 Service。它可以通过 Yaml 文件定义,可以给一个或多个 Service 定义一个或多个 Ingress 规则。
  • Ingress Controller结合Ingress 定义的规则生成配置,然后动态更新ingress-controller里的Nginx 或者trafik负载均衡器,并刷新使配置生效,来达到服务自动发现的作用。

使用Ingress Controller代理k8s内部pod的流程

  • 部署Ingress controller,我们ingress controller使用的是nginx
  • 创建Pod应用,可以通过控制器创建pod
  • 创建Service,用来分组pod
  • 创建Ingress http,测试通过http访问应用
  • 创建Ingress https,测试通过https访问应用

客户端通过七层调度器访问后端pod的方式

在这里插入图片描述

http://www.ds6.com.cn/news/17059.html

相关文章:

  • 东莞疫情最新消息2021seo企业顾问
  • 网站建设的整个流程软件开发app制作
  • 个人网站域名怎么取公司页面设计
  • 长春火车站疫情防控最新政策百度建立自己的网站
  • 怎么做安居客网站seo外链技巧
  • 中国建设招聘信息网站百度搜索指数查询
  • 有没有做的很炫的科技型网站微信小程序开发工具
  • 建立网站目录结构时不正确的建议是网站发布与推广方案
  • 如何做网站青岛seo网站建设公司
  • 网站是做百度快照推广好广安seo外包
  • 强网站日常监测及内容建设百度app官方正式版
  • 免费 网站 cms营销网站建设门户
  • 网站收录突然全部没有了营销型网站推广
  • 哪个b2b网站做推广效果好网络推广的主要工作内容
  • 住房城乡建设委门户网站广州免费个人主页网站
  • 做网站的诈骗公司十大广告公司
  • 郑州网站设计网站网页设计案例
  • 云速建站可以建个人网站吗网站seo应用
  • 中山手机网站建设电话搜索引擎关键词快速优化
  • 家用电脑如何做网站服务器企业网站建设哪家好
  • 做网站用的什么服务器吗seo分析工具
  • 怎么样让网站做的大气百度seo查询系统
  • thinkphp做的网站怎么预览baidu百度首页官网
  • 江苏网站建设南通小红书seo排名帝搜软件
  • 程序开发语言有哪些上海seo优化
  • 泰安网站建设广告百度广告推广怎么做
  • 在线教育网站用什么做东莞网络推广平台
  • 做网站营业执照经营范围怎么填写北海seo快速排名
  • 喷码机营销型网站百度关键词优化首选667seo
  • Wordpress手机端模版性价比高seo排名优化的