Ingress
  在讲Envoy之前,先介绍一下Kubernetes中Service的表现形式为IP:Port,及工作在Ingress:TCP/IP层。而对于基于HTTP的服务来说,不同的URL地址经常对应到不同的
后端服务或者虚拟服务器,这些应用层的转发机制仅通过Kubernetes的Service机制是无法实现的。Kubernetes v1.1中新增的Ingress将不同的URL访问请求转发到后端
不同的Service,实现HTTP层的业务路由机制。在Kubernetes集群中,Ingress的实现需要通过Ingress的定义与Ingress Controller的定义结合起来,才能实现完整的
HTTP负载分发功能。
Envoy(摘自http://mp.weixin.qq.com/s/D5epVotNIEVlRT74aPmIMA 
  Craig McLuckie曾任Kubernetes的产品经理,去年从Google离职后,作为联合创始人创立容器公司Heptio。日前Craig McLuckie代表Heptio公司发表Blog:“Making it 
easy to use Envoy as a Kubernetes load balancer”,众所周知,Lyft公司开源的Envoy是目前大热的Service Mesh项目Istio的内置组件,Heptio将Envoy作为Kubernetes的
Ingress Controller实现,为大家提供了一条新的Kubernetes外部负载均衡实现思路。

Heptio Contour是一个Apache 2.0许可的开源项目,提供Envoy作为Kubernetes项目的Ingress Controller,实现简单且简约的集成。 Heptio Contour可以为用户提供以下好处:

  • 一种简单的安装机制来快速部署和集成Envoy

  • 与Kubernetes对象模型的集成

  • Ingress配置的动态更新,而无需重启底层负载均衡器

  • 项目成熟后,将允许使用Envoy一些强大的功能,如断路器、插件式的处理器链,以及可观测性和可调试性

Heptio Contour – An ENVOY powered ingress controller(以下内容翻译自https://github.com/heptio/contour/blob/master/design/roadmap.md

Contour Roadmap

Support for the v2 GRPC API

Contour 现在通过轮询Envoy的机制获取v1 REST API的值。把轮询的时间设置的过长(30s或者更多),意味着

Kubernetes-Envoy(一种全新的Ingress实现方式)的更多相关文章

  1. Kubernetes的三种外部访问方式:NodePort、LoadBalancer和Ingress(转发)

    原文 http://cloud.51cto.com/art/201804/570386.htm Kubernetes的三种外部访问方式:NodePort.LoadBalancer和Ingress 最近 ...

  2. Kubernetes 服务入口管理与 Nginx Ingress Controller

    Kubernetes 具有强大的副本,动态扩容等特性,每一次 Pod 的变化 IP 地址都会发生变化,所以 Kubernetes 引进了 Service 的概念.Kubernetes 中使用 Serv ...

  3. SSE技术详解:一种全新的HTML5服务器推送事件技术

    前言 一般来说,Web端即时通讯技术因受限于浏览器的设计限制,一直以来实现起来并不容易,主流的Web端即时通讯方案大致有4种:传统Ajax短轮询.Comet技术.WebSocket技术.SSE(Ser ...

  4. 一个简单的例子理解Kubernetes的三种IP地址类型

    很多Kubernetes的初学者对Kubernetes里面三种不同的IP地址和工作机制理解得不是很清楚. 本文我们通过一个最简单的例子来学习. 用如下命令行创建一个基于nginx的deployment ...

  5. IBM Security AppScan Glass Box:一种全新的漏洞扫描思想

    IBM Security AppScan Glass Box:一种全新的漏洞扫描思想 Glass Box 是 IBM Security AppScan Standard Edition(以下简称 Ap ...

  6. Kubernetes service 三种类型/NodePort端口固定

    Kubernetes service 三种类型 • ClusterIP:默认,分配一个集群内部可以访问的虚拟IP(VIP)• NodePort:在每个Node上分配一个端口作为外部访问入口• Load ...

  7. JavaScript中一种全新的数据类型-symbol

    连续连载了几篇<ES6对xxx的扩展>,本节咱们换换口味,介绍一种全新的数据类型:Symbol,中文意思为:标志,记号.音标:[ˈsɪmbəl]. 数据类型 在介绍Symbol之前,我们简 ...

  8. 在本地运行Kubernetes的3种主流方式

    作者简介 Chris Tozzi,曾担任记者和Linux管理员.对开源技术.敏捷基础架构以及网络问题兴趣浓厚.目前担任高级内容编辑,并且是Fixate IO的DevOps分析师. 原文链接: http ...

  9. ASP.NET Core应用的错误处理[1]:三种呈现错误页面的方式

    由于ASP.NET Core应用是一个同时处理多个请求的服务器应用,所以在处理某个请求过程中抛出的异常并不会导致整个应用的终止.出于安全方面的考量,为了避免敏感信息的外泄,客户端在默认的情况下并不会得 ...

随机推荐

  1. ORACLE_TRIGGER

    PL/SQL TRIGGER Statement PL/SQL TRIGGER  Statement The trigger statemet is a especially stored proce ...

  2. linux虚拟机最优测试环境搭建

    目标:创建一个最优的linux虚拟机环境 环境:vmware12.0 系统:centos6.5 (* 以下配置是建立在配置完成基础网络环境后创建的,用static静态IP地址) 1.关闭selinux ...

  3. Qt 窗口移动实现

    很多人觉得系统自带的标题栏太丑了,想要自绘一个标题栏,去掉了系统自带的标题栏后,就需要自己实现窗口移动,下面的代码就是实现窗口移动. widget.h #ifndef WIDGET_H #define ...

  4. SQA1

    客观地验证软件项目产品和工作是否遵循恰当的标准.步骤和需求. 2.将软件质量保证工作及结果通知给相关组别和个人.

  5. IOS Runtime的用法

    什么是runtime? 1> runtime是一套底层的C语言API(包含很多强大实用的C语言数据类型.C语言函数)2> 实际上,平时我们编写的OC代码,底层都是基于runtime实现的* ...

  6. python常见异常及解决方法

    异常1: ValueError: unsupported hash type sha224 ERROR:root:code for hash sha256 was not found. Traceba ...

  7. 搭建 webpack + React 开发环境

    说在开头 上个月断断续续的在研究webpack的配置,但是很多网上的文章基本上都是只说了开发环境的配置,而忽略了生产环境的配置.大致研究了一下门路,然后就来写一篇随笔让自己能在以后能有个地方可以做参考 ...

  8. 关于A*估价函数的总结

    估价函数的优劣决定一个A*算法的好坏 360百科上是这样说的: (https://baike.so.com/doc/6223470-6436780.html) 关于估价函数h(n)与实际距离d(n)的 ...

  9. 【luogu P1111 公路修建】 题解

    题目链接:https://www.luogu.org/problemnew/show/P1111 考察并查集,运用kruskal的思想很好做.注意几个小问题即可. #include<iostre ...

  10. 一个nginx反向代理, 负载均衡的例子

    #/etc/nginx/conf.d/master.conf #区分大小写 #设定负载均衡的服务器列表 upstream master.balancing { #weigth参数表示权值,权值越高被分 ...