11. Ingress,Ingress Controller
拥有七层代理调度能力

什么是Ingress:
Ingress是授权入站连接到达集群服务的规则集合
Ingress是一个Kubernetes资源,允许您为在Kubernetes上运行的应用程序配置HTTP负载均衡器,由一个或多个服务代表。这样的负载平衡器是将这些应用程序交付给Kubernetes集群之外的客户端所必需的。

Ingress资源支持以下功能:
1 基于内容的路由:
基于主机的路由。例如,将具有主机头的请求路由foo.example.com到一组服务,将主机头路由bar.example.com到另一个组。
基于路径的路由。例如,使用/serviceA以服务A开头的URI和具有/serviceB以服务B 开头的URI的请求来路由请求。
2 每个主机名的TLS / SSL终止,例如foo.example.com。

Ingress将集群外部的HTTP和HTTPS路由暴露给集群中的服务。Ingress可以配置为提供服务外部可访问的URL,负载平衡流量,终止SSL / TLS,并提供基于名称的虚拟主机。

什么是Ingress Controller?
Ingress控制器是一个在集群中运行的应用程序,它根据Ingress资源配置HTTP负载均衡器。负载均衡器可以是在群集中运行的软件负载均衡器,也可以是在外部运行的硬件或云负载均衡器。不同的负载平衡器需要不同的Ingress控制器实现。
在NGINX的情况下,Ingress控制器与负载平衡器一起部署在一个容器中。

Ingress Controller:

HAProxy 不推荐
Nginx
Envoy 微服务强烈推荐使用,可自动动态加载(对比与nginx的优势)
Traefik 可自动动态加载(对比与nginx的优势)

Ingress是一种资源,所以和pod service等定义的方式类似
Ingress Controller k8s核心附件之一

===============================

nginx Ingress Controller部署:

使用官方推荐的mandatory.yaml这个文件部署 pod一直处于pending状态启动有问题
kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/static/provider/baremetal/service-nodeport.yaml
kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/static/mandatory.yaml

部署过程中需要拉取镜像quay.io/kubernetes-ingress-controller/nginx-ingress-controller:0.24.1,国内非常慢

有大佬写了个工具,亲测好使。
https://github.com/xuxinkun/littleTools#azk8spull
先将这个镜像拉取下来
https://www.cnblogs.com/xuxinkun/p/11025020.html

验证是否安装成功:
kubectl get pods --all-namespaces -l app.kubernetes.io/name=ingress-nginx --watch

ssl需要secret

TLS字段

kubectl create secret tls tomcat-ingress-secret --cert=tls --key=tls.key

kubectl get secret

https://kubernetes.github.io/ingress-nginx/

11. Ingress及Ingress Controller(主nginx ingress controller)的更多相关文章

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

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

  2. Nginx Ingress on TKE 部署最佳实践

    概述 开源的 Ingress Controller 的实现使用量最大的莫过于 Nginx Ingress 了,功能强大且性能极高.Nginx Ingress 有多种部署方式,本文将介绍 Nginx I ...

  3. 手把手教你使用 Nginx Ingress 实现金丝雀发布

    概述 本文将介绍如何使用 Nginx Ingress 实现金丝雀发布,从使用场景分析,到用法详解,再到上手实践. 前提条件 集群中需要部署 Nginx Ingress 作为 Ingress Contr ...

  4. kubernetes nginx ingress controller部署

    Kubernetes nginx ingress controller部署 1.下载kubernetes nginx的yaml文件 Wget https://raw.githubusercontent ...

  5. 见异思迁:K8s 部署 Nginx Ingress Controller 之 kubernetes/ingress-nginx

    前天才发现,区区一个 nginx ingress controller 竟然2个不同的实现.一个叫 kubernetes/ingress-nginx ,是由 kubernetes 社区维护的,对应的容 ...

  6. Kubernetes 部署 Nginx Ingress Controller 之 nginxinc/kubernetes-ingress

    更新:这里用的是 nginxinc/kubernetes-ingress ,还有个 kubernetes/ingress-nginx ,它们的区别见 Differences Between nginx ...

  7. Helm 安装Nginx Ingress

    为了便于将集群中的服务暴露到集群外部,需要使用Ingress.接下来使用Helm将Nginx Ingress部署到Kubernetes上. Nginx Ingress Controller被部署在Ku ...

  8. kubernetes nginx ingress 使用记录

    前言 ingress是一种可以暴露k8s集群内部service的方式,用户编辑配置文件定义一个ingress资源即可实现外部网络访问内网service. ingress controller是来管理所 ...

  9. Nginx Ingress 高并发实践

    概述 Nginx Ingress Controller 基于 Nginx 实现了 Kubernetes Ingress API,Nginx 是公认的高性能网关,但如果不对其进行一些参数调优,就不能充分 ...

随机推荐

  1. late_initcall 替换 module_init

    今天在调试pwm驱动程序的时候,在__init函数中调用pwm_init后,则以太网不可用.pwm_init放在设备文件的open函数中,则系统正常运行. 这当中的区别就是硬件初始化函数pwm_ini ...

  2. python实现数据的压缩与归档

    楔子 尽管现代计算机系统的存储能力日益增长,但生成数据的增长是永无休止的. 无损(lossless)压缩算法以压缩或解压缩数据花费的时间来换取存储数据所需要的空间,以弥补存储能力的不足. Python ...

  3. tensorflow保存数据为.pb格式和加载pb文件

    转自:https://blog.csdn.net/u014264373/article/details/79943389 https://blog.csdn.net/fu6543210/article ...

  4. Google 停止推出 Chrome 79

    据 Google 方面表示,新版本的使用率达到了整个用户群的 50% 已经.不过值得注意的是,并非所有提供该更新的设备都已安装了该工具.初步数据显示,只有 10% 的人部署了新版本. 针对用户反馈,开 ...

  5. Ubuntu18.04安装OpenCV4.1.0

    Ubuntu18.04安装OpenCV4.1.0 1.首先要安装依赖 sudo apt-get install build-essential \ cmake git libgtk2.0-dev pk ...

  6. 数字证书注册审批机构(RA)

    1.证书注册审批机构 RA(Registration Authority),数字证书注册审批机构.RA系统是CA的证书发放.管理的延伸.它负责证书申请者的信息录入.审核以及证书发放等工作:同时,对发放 ...

  7. 用cmd 如何输入命令,进入文件夹

    用cmd 如何输入命令 进入文件夹 盘符: 例如想进入D盘 d: cd 进入到当前盘某个目录.cd \ 进入当前盘根目录cd \windows 进入到当前盘Windows目录cd.. 退出到上一级目录 ...

  8. UVA10900 So you want to be a 2n-aire?

    So you want to be a 2n-aire? PDF 在一个电视娱乐节目中,你一开始有1元钱.主持人会问你n个问题,每次你听到问题后有两个选择:一是放弃回答该问题,退出游戏,拿走奖金:二是 ...

  9. [2019HDU多校第一场][HDU 6590][M. Code]

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6590 题目大意(来自队友):二维平面上有\(n\)个点,每个点要么是黑色要么是白色,问能否找到一条直线 ...

  10. 本地资源图片无法通过 WXSS 获取,可以使用网络图片,或者 base64,或者使用<image/>标签

    在微信小程序开发中,当在CSS中使用背景图片格式为png时就会出现: 只要把png格式改掉就可以或者在<image/>标签里面写,我实测用JPG格式和把图片转成base64是没问题的.