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 是公认的高性能网关,但如果不对其进行一些参数调优,就不能充分 ...
随机推荐
- 《OpenCV图像处理编程实例》
<OpenCV图像处理编程实例>例程复现 随书代码下载:http://www.broadview.com.cn/28573 总结+遇到的issue解决: 第一章 初识OpenCV 1.VS ...
- GOLANG文件拷贝
GOLANG文件拷贝 在Golang中,使用系统自带函数io.Copy() 如: srcFile := "C:/Users/Wisdom/Desktop/Wisdompic.png" ...
- 004.MVC视图、辅助方法
一.视图基础- 视图定义: 用户界面,是显示应用程序用户界面(UI)组件 Web应用程序:页面 作用: 1.输出/显示模型数据 2.出入提交 视图建议在View文件夹位置存储视图 视图引擎(了解):本 ...
- Hadoop_29_MapReduce_计数器应用
在实际生产代码中,常常需要将数据处理过程中遇到的不合规数据行进行全局计数,类似这种需求可以借助mapreduce框架中 提供的全局计数器来实现 示例代码如下: public class MultiOu ...
- Python求均值,方差,标准差
import numpy as nparr = [1,2,3,4,5,6]#求均值arr_mean = np.mean(arr)#求方差arr_var = np.var(arr)#求标准差arr_st ...
- kudu_CM安装准备工作
Cloudera Manager简介: hadoop: https://yq.aliyun.com/articles/60759 ----------------------------------- ...
- 生成和安装requirements.txt依赖
pip freeze > requirements.txt pip install -r < requirements.txt
- Burpsuite 2.0.11 Beta 破解版下载
1.解包 jar xvf burpsuite_pro_v2.0.11beta.jar 自行定制,删除自带chrome和7zip软件包之后,软件精简至39M. 2.打包 jar cvfm META-IN ...
- Enable file editing in Visual Studio's debug mode
Visual Studio 使用及调试必知必会 http://www.cnblogs.com/luminji/p/3287728.html How do I enable file editing i ...
- Could not load file or assembly "\win32_x86\dotnet1\crdb_adoplus.dll' or one of its dependencies.
Could not load file or assembly 'file:///C:\Program Files (x86)\SAP BusinessObjects\Crystal Repor ...