11. Ingress及Ingress Controller(主nginx ingress controller)
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)的更多相关文章
- Kubernetes 服务入口管理与 Nginx Ingress Controller
Kubernetes 具有强大的副本,动态扩容等特性,每一次 Pod 的变化 IP 地址都会发生变化,所以 Kubernetes 引进了 Service 的概念.Kubernetes 中使用 Serv ...
- Nginx Ingress on TKE 部署最佳实践
概述 开源的 Ingress Controller 的实现使用量最大的莫过于 Nginx Ingress 了,功能强大且性能极高.Nginx Ingress 有多种部署方式,本文将介绍 Nginx I ...
- 手把手教你使用 Nginx Ingress 实现金丝雀发布
概述 本文将介绍如何使用 Nginx Ingress 实现金丝雀发布,从使用场景分析,到用法详解,再到上手实践. 前提条件 集群中需要部署 Nginx Ingress 作为 Ingress Contr ...
- kubernetes nginx ingress controller部署
Kubernetes nginx ingress controller部署 1.下载kubernetes nginx的yaml文件 Wget https://raw.githubusercontent ...
- 见异思迁:K8s 部署 Nginx Ingress Controller 之 kubernetes/ingress-nginx
前天才发现,区区一个 nginx ingress controller 竟然2个不同的实现.一个叫 kubernetes/ingress-nginx ,是由 kubernetes 社区维护的,对应的容 ...
- Kubernetes 部署 Nginx Ingress Controller 之 nginxinc/kubernetes-ingress
更新:这里用的是 nginxinc/kubernetes-ingress ,还有个 kubernetes/ingress-nginx ,它们的区别见 Differences Between nginx ...
- Helm 安装Nginx Ingress
为了便于将集群中的服务暴露到集群外部,需要使用Ingress.接下来使用Helm将Nginx Ingress部署到Kubernetes上. Nginx Ingress Controller被部署在Ku ...
- kubernetes nginx ingress 使用记录
前言 ingress是一种可以暴露k8s集群内部service的方式,用户编辑配置文件定义一个ingress资源即可实现外部网络访问内网service. ingress controller是来管理所 ...
- Nginx Ingress 高并发实践
概述 Nginx Ingress Controller 基于 Nginx 实现了 Kubernetes Ingress API,Nginx 是公认的高性能网关,但如果不对其进行一些参数调优,就不能充分 ...
随机推荐
- Maven新建项目出现 Could not calculate build plan:plugin 错误解决办法
删除本地.m2仓库中 org.apache.maven.plugins:maven-resources-plugin所在目录. 然后右击项目 Maven->Update Project-> ...
- web开发:javascript基础
一.js引入 二.变量的定义 三.三种弹出框 四.调试方式 五.数据类型 六.数据类型转换 七.运算符 八.分支机构 九.循环结构 十.异常处理 十一.函数 一.js引入 - ES: ECMAScri ...
- centos7支持exfat
centos7支持exfat https://blog.csdn.net/shile/article/details/52202030 sudo rpm -Uvh http://li.nux.ro/d ...
- tensorflow模型的保存与恢复,以及ckpt到pb的转化
转自 https://www.cnblogs.com/zerotoinfinity/p/10242849.html 一.模型的保存 使用tensorflow训练模型的过程中,需要适时对模型进行保存,以 ...
- IDEA设置CodeGlance颜色
CodeGlance是IDEA的mini地图插件, 默认情况下, 其颜色和编辑框的颜色基本一致, 而安装CodeGlance就是为了方便滚动框的上下拖拉, 颜色一致的话会将这种CodeGlance比拖 ...
- pip安装tesserocr时报错
在Xubuntu上的python2虚拟环境中, 使用pip安装tesserocr时报错error: command 'x86_64-linux-gnu-gcc' failed with exit st ...
- 构建官方example
开发工具的选择: 构建官方example:
- gerapy+scrapyd组合管理分布式爬虫
Scrapyd是一款用于管理scrapy爬虫的部署和运行的服务,提供了HTTP JSON形式的API来完成爬虫调度涉及的各项指令.Scrapyd是一款开源软件,代码托管于Github上. 点击此链接h ...
- vscode+TCC快捷编译c语言
1.安装vscode. 2.安装插件tcc.小巧,快速,符合ansi c, 法国大神级别程序员开发的编译器. 3.编写C代码,F10运行,即可得结果,对于验证一些语法很快捷,很方便.只需三步!!
- HDU 6049 - Sdjpx Is Happy | 2017 Multi-University Training Contest 2
思路来源于 FXXL - - 一个比较奇怪的地方就是第三步可以不做,也就是ans至少为1,听说场内有提问的,然后 admin 说可以不做- - (wa的我心烦) /* HDU 6049 - Sdjpx ...