13.Kubernetes核心技术Ingress
Kubernetes核心技术Ingress
前言
原来我们需要将端口号对外暴露,通过 ip + 端口号就可以进行访问
原来是使用Service中的NodePort来实现
- 在每个节点上都会启动端口
- 在访问的时候通过任何节点,通过ip + 端口号就能实现访问
但是NodePort还存在一些缺陷
- 因为端口不能重复,所以每个端口只能使用一次,一个端口对应一个应用
- 实际访问中都是用域名,根据不同域名跳转到不同端口服务中
Ingress和Pod关系
pod 和 ingress 是通过service进行关联的,而ingress作为统一入口,由service关联一组pod中

- 首先service就是关联我们的pod
- 然后ingress作为入口,首先需要到service,然后发现一组pod
- 发现pod后,就可以做负载均衡等操作
Ingress工作流程
在实际的访问中,我们都是需要维护很多域名, a.com 和 b.com
然后不同的域名对应的不同的Service,然后service管理不同的pod

需要注意,ingress不是内置的组件,需要我们单独的安装
使用Ingress
步骤如下所示
- 部署ingress Controller【需要下载官方的】
- 创建ingress规则【对哪个Pod、名称空间配置规则】
创建Nginx Pod
创建一个nginx应用,然后对外暴露端口
# 创建pod
kubectl create deployment web --image=nginx
# 查看
kubectl get pods
对外暴露端口
kubectl expose deployment web --port=80 --target-port=80 --type:NodePort
部署 ingress controller
下面我们来通过yaml的方式,部署我们的ingress,配置文件如下所示

这个文件里面,需要注意的是 hostNetwork: true,改成ture是为了让后面访问到
kubectl apply -f ingress-con.yaml
通过这种方式,其实我们在外面就能访问,这里还需要在外面添加一层
kubectl apply -f ingress-con.yaml

最后通过下面命令,查看是否成功部署 ingress
kubectl get pods -n ingress-nginx

创建ingress规则文件
创建ingress规则文件,ingress-h.yaml

添加域名访问规则
在windows 的 hosts文件,添加域名访问规则【因为我们没有域名解析,所以只能这样做】

最后通过域名就能访问

13.Kubernetes核心技术Ingress的更多相关文章
- kubernetes nginx ingress controller部署
Kubernetes nginx ingress controller部署 1.下载kubernetes nginx的yaml文件 Wget https://raw.githubusercontent ...
- Kubernetes 使用 Ingress 实现灰度发布功能
使用 Ingress 实现灰度发布 一.Canary 规则说明 Ingress-Nginx 是一个K8S ingress工具,支持配置 Ingress Annotations 来实现不同场景下的灰度发 ...
- kubernetes 安装 ingress controller
文章链接 ingress-nginx ingress 官方网站 ingress 仓库地址 ingress-nginx v1.0 最新版本 v1.0 适用于 Kubernetes 版本 v1.19+ ( ...
- Kubernetes核心技术Pod
Kubernetes核心技术Pod Pod概述 Pod是K8S系统中可以创建和管理的最小单元,是资源对象模型中由用户创建或部署的最小资源对象模型,也是在K8S上运行容器化应用的资源对象,其它的资源对象 ...
- JavaEE的13种核心技术
Java的大方向就是JavaEE,JavaEE不仅仅是socket编程,具体包括13中核心技术. JavaEE平台由一整套服务(Services).应用程序接口(APIs)和协议构成,它对开发基于We ...
- kubernetes nginx ingress 使用记录
前言 ingress是一种可以暴露k8s集群内部service的方式,用户编辑配置文件定义一个ingress资源即可实现外部网络访问内网service. ingress controller是来管理所 ...
- kubernetes之ingress及ingress controller
什么是ingress Ingress是授权入站连接到达集群服务的规则集合. 从外部流量调度到nodeprot上的service 从service调度到ingress-controller ingres ...
- 使用traefik作为kubernetes的ingress
目录 说明 部署 创建一个独立的命名空间 配置rbac授权 配置secret 创建一个configmap用于存放traefik的配置文件 配置traefik的deployment文件 配置服务 通过p ...
- 为什么我不使用Kubernetes的Ingress
为什么我不使用Kubernetes的Ingress 很不幸,据我所知Kubernetes的文档不是很完美,这就是为什么有很多同学在使用它的时候会遇到很多的坑,Ingress这个组件就是这些坑中的一个. ...
- kubernetes Traefik ingress配置详解
理解Ingress 简单的说,ingress就是从kubernetes集群外访问集群的入口,将用户的URL请求转发到不同的service上.Ingress相当于nginx.apache等负载均衡方向代 ...
随机推荐
- DigitalOcean Control (doctl) 使用方法
安装 macOS brew install doctl Ubuntu sudo snap install doctl # 授予 snap 应用额外权限 sudo snap connect doctl: ...
- 一个.NET开源、免费的跨平台物联网网关
前言 今天大姚给大家分享一个基于.NET开源.免费的跨平台物联网网关:IoTGateway. 项目介绍 IoTGateway是一个基于.NET6的跨平台物联网网关.通过可视化配置,轻松的连接到你的任何 ...
- JWT(JSON WEB TOKEN)是玩具吗
JWT当然不是玩具,理解其设计意图,和适用场景自然会发现存在的就是有价值的 JWT: JSON Web Token 起源和定义 JWT(JSON Web Token)是由 IETF(Internet ...
- 给网站添加Let's Encrypt的免费ssl证书
概要 目前很多浏览器默认都会标记http访问的网站为不安全,https部署已经称为大趋势,我之前利用业余时间搭建了一个网站,本文就以这个域名为基础说明如何给网站加上证书.本文使用的操作系统centos ...
- 【转】 Vue中import from的来源:省略后缀与加载文件夹
原文地址 Vue中import from的来源:省略后缀与加载文件夹_超频化石鱼的博客-CSDN博客 ,原文地址排版格式可能更好,建议看原文,本文只是为了转载记录 Vue使用import ... fr ...
- Flutter 2.8 正式发布
文/ Tim Sneath,Flutter & Dart 产品经理 Flutter 已经更新到 2.8 正式版,发布了多项新特性和改进以不断改善移动和 Web 端的开发体验,同时也正在将桌面端 ...
- Readme3.0 Final
Download Using 解压后放于不明显的地方 打开Devc++,点击 工具 > 编译选项 > 目录,在 C包含文件 与 C++包含文件 中复制完整路径并添加 选中刚添加的路径后,点 ...
- 禁用QQ自动升级(实测可用)
事件起因: 某客户电脑QQ从怀旧版(9.7)自动升级到NT版本(9.9)版本,新版本由于消息通知功能不能直接查看,老版本右下角消息闪烁,鼠标放上去便可以看到有几个联系人的消息,因此客户强烈要求版本回退 ...
- [使用目前最新版]HybridCLR6.9.0+YooAsset2.2.4实现纯C# Unity热更新方案 (一)
1.前言 什么是热更新 游戏或者软件更新时,无需重新下载客户端进行安装,而是在应用程序启动的情况下,在内部进行资源或者代码更新 Unity目前常用热更新解决方案 HybridCLR,Xlua,ILRu ...
- Android Systrace 基础知识 -- 分析 Systrace 预备知识
1. 正文 1.1 线程状态查看 Systrace 会用不同的颜色来标识不同的线程状态, 在每个方法上面都会有对应的线程状态来标识目前线程所处的状态,通过查看线程状态我们可以知道目前的瓶颈是什么, 是 ...