k8s Service和Ingress

kubernetes(k8s): service 和 ingress 文章目录一 总述1 service 作用2 service资源及实现模型1 service 概述2 虚拟IP和服务代理1 虚拟IP2 代理模型二 service 资源基本应用1 创建service 资源1 使用命令行创建service资源2 使用配置文件创建service2 service 会话粘滞性1 概述2 设置字段解析3 部署实例并验证3 服务发现1 概述2 服务发现实现机制3 服务发现类型4 服务发现4 服务暴露1 service类型三. ingress资源应用1 概述2 ingress 和 ing 阅读详情

Service概念

在这里插入图片描述

Service的类型

在这里插入图片描述

ClusterIP

当使用默认ClusterIP的时候,其他pod访问nginx-deployment通过svc,直接访问集群内部的IP

在这里插入图片描述

NodePort类型

使用NodePort类型会在 节点服务器上开放一个端口映射到SVC上面设置的某个端口上,通过标签选择,负载到要访问的pod上,一般SVC前面放个nginx反向代理做负载来实现svc对的高可用
在这里插入图片描述

LoadBalancer

需要前面有个云供应商暴露ip,需要收费

ExternalName

在这里插入图片描述

VIP和Service代理

在这里插入图片描述

代理模式分类

1.userspace

在这里插入图片描述

2.iptables代理模式

在这里插入图片描述

3.ipvs代理模式

在这里插入图片描述
在这里插入图片描述
ipvsadm -Ln查看ipvs相关信息
在这里插入图片描述

ClusterIP具体原理

apiserver通过kubectl命令建立service,存储到etcd中,每个NODE节点上面的kube-proxy进程通过读取etcd感知到service和pod的变化,然后将变化写入iptables中
在这里插入图片描述

clusterip原理Demo

1.创建deployment

在这里插入图片描述

2.创建service信息

通过deployment里面的标签加载到svc里面
在这里插入图片描述
如果将svc的yaml文件改为不存在的label
在这里插入图片描述
查看新增的svc可以查看到cluster-ip,但是访问cluster-ip 拒绝连接,无法访问到后面的pod上面的服务
在这里插入图片描述
ipvsadm -Ln查看到10.105.33.115:80对应的服务没有
在这里插入图片描述
将svc yaml里面对应的selector标签修改正确后ipvsadm -Ln查看到10.99.10.103:80端口对应后面3个pod的虚拟ip和80端口对外暴露提供服务
在这里插入图片描述

Headless Service

在这里插入图片描述
在这里插入图片描述

NodePort

在这里插入图片描述
在这里插入图片描述
访问宿主机192.168.66.10:30715 即可访问到对应的svc后面的pod,在k8s集群中
在这里插入图片描述

LoadBalancer

ExternalName在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

Ingress

在这里插入图片描述
在这里插入图片描述

Ingress controller的搭建

官方网站地址:https://kubernetes.github.io/ingress-nginx/deploy/
使用wget下载yaml
在这里插入图片描述
在这里插入图片描述
docker pull nginx-ingress镜像下载ingress相关的镜像
在这里插入图片描述
docker save -o ingress.contr.tar 镜像下载地址保存ingress镜像的tar文件
在这里插入图片描述
docker load -i ingress.contro.tar 将镜像导入到docker本地仓库中
创建完ingress的deployment后
ingress pod默认的名称空间为 ingress-nginx

在这里插入图片描述

如果采用NODE 暴露方案
下载service-nodeport.yaml
在这里插入图片描述
kubectl apply -f service-nodeport.yaml生成svc

kubectl get svc -n ingress-nginx即可查看到nginx的svc对外暴露niginx的NODE主机的端口
在这里插入图片描述
至此ingress controller搭建完成,宿主机的31345和31802端口映射到ingress niginxpod里面的80和443端口

ingress案例

ingress controller 搭建完毕后配置ingress规则以及svc和deployment
在这里插入图片描述
创建一个yaml文件,其中包括deployment1以及svc-1,
在这里插入图片描述
在这里插入图片描述
产生svc-1后默认是ClusterIP并且根据lable name=nginx转发到对应的pod上,curl请求集群ip也可以成功
在这里插入图片描述
创建deployment2
在这里插入图片描述
将第二个svc改为svc-2标签也为svc-2,镜像升级为v2并且创建,请求cluster-ip地址即可查看到请求成功
在这里插入图片描述
创建ingress,ingress1和ingress2映射svc-1和svc-2
在这里插入图片描述
进入到ingress中查看
kubectl exec ingresspod名称 -n ingress-nginx -it -- /bin/bash查看
在这里插入图片描述
查看 ingress-nginx里面的conf文件,相关配置的kind:Ingress,会修改部署的ingress deployment里面conf配置文件里面的内容
在这里插入图片描述
访问www1.aiguigu.com:31345可以转发到部署的pod上面

在这里插入图片描述

Ingress HTTPS代理访问在这里插入图片描述

创建ingress的规则
在这里插入图片描述
新增deployment3 和svc-3
在这里插入图片描述

新增ingress规则https,指定secret name,域名,以及映射的svc的名称

在这里插入图片描述

kubernetes》》k8s》》Service 、Ingress 区别 、Service、expose 在 userSpace 模式下,kube-proxy 会为每一个 Service 创建一个监听端口,当有请求发往Cluster IP 的时候,会被 Iptables 规则重定向到 kube-proxy 监听的端口上,kube-proxy 会根据 LB 算法选择一个 Pod 提供服务并建立起连接。这个模式下,kube-proxy 充当的角色是一个 四层负责均衡器,由于 kube-proxy 运行在 userSpace 模式下,在进行转发处理的时候会增加内核和用户空间之间的数据拷贝,因此效率比较低。 阅读详情

相关推荐

《Kubernetes》你需要掌握的 Service 和 Ingress,纯干货!

由于篇幅有限,这里就不一一罗列了,20道常见面试题(含答案)+21条MySQL性能调优经验小编已整理成Word文档或PDF文档还有更多面试复习笔记分享如下《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》点击传送门即可获取!” />由于篇幅有限,这里就不一一罗列了,20道常见面试题(含答案)+21条MySQL性能调优经验小编已整理成Word文档或PDF文档[外链图片转存中…(img-aXL0hkP5-1712064436127)]还有更多面试复习笔记分享如下。

2401_84046577的博客 822

k8s service与ingress

k8s service与ingress

ApexPredator的博客 2831

Kubernetes--服务发布(Service、Ingress)

kind: Service # 资源类型为 Servicemetadata:name: nginx-svc # Service 名称labels:app: nginx-svc # Service 自己本身的标签spec:ports: # 端口映射- name: http # service 端口配置的名称protocol: TCP # 端口绑定的协议,支持 TCP、UDP、SCTP,默认为 TCPport: 80 # service 自己的端口,在使用内网时使用。

恐龙让Lee的博客 1852

k8s-service和Ingress学习

k8s-服务发布中有关service和Ingress的学习记录

qq_41936938的博客 1683

保姆级教程:用Qlib和LightGBM从零搭建你的第一个AI量化选股策略(附完整代码)

本文提供了一份详细的教程,教你如何使用Qlib和LightGBM从零搭建AI量化选股策略。教程涵盖了环境配置、数据获取、特征工程、模型训练和策略回测等关键步骤,并附有完整代码和常见问题解决方案,适合量化投资初学者快速上手。

weixin_29191081的博客 445

QGIS-空间分析-核密度分析

本文在QGIS软件中使用核密度估计法分析全球历年的地震数据,旨在分析出地震频发且严重的区域,为地震防控提供参考依据。全球历年地震数据来源于网络,仅用于技术学习探索。通过核密度分析,可以观察到南美、美国西部海岸线和太平洋北部区域在全球地震分布状态中是最为集中和强烈的。

imxiezy的博客 2467

k8s-服务发现service和ingress

service主要用于集群内部pod之间的访问,nodeport类型可以实现集群外访问serivce,一般用于部署管理工具的管理容器访问,测试容器时使用ingress主要用于集群外访问集群内部服务即service处理东西流量【内部见pod访问】ingress处理南北流量【集群外访问集群内serivce】

hey_lie的博客 1883

用ADS复现一篇MTT顶刊的GAN功率放大器:从理论推导到版图仿真的完整避坑指南

本文详细解析了如何利用ADS软件复现MTT顶刊中的E/F3类GaN功率放大器设计,从理论推导到版图仿真的全流程。通过核心设计理念解析、ADS环境配置、输出匹配网络优化等关键步骤,提供了一套完整的工程实践指南,帮助工程师跨越学术理论与实际应用的鸿沟,实现高效率射频功率放大器的设计。

weixin_30654583的博客 315

k8s的 service 和 Ingress

什么是service service是k8s的流量负载组件中的一种,常用的流量负载组件有以下几种 service : 4层路由的负载 ingress:7层路由的负载 什么需要用到service 在创建pod的时候,pod中的ip地址不是固定的,也就不能直接对pod的ip进行访问; 为了解决这个问题,k8s提供了流量负载组件service, service会将多个pod进行聚合起来,提供一个统一的入口ip地址,通过service提供的统一入口就可以访问内部的pod资源了; 配置ipvs功能(已配置请略过

叶新东老师的博客 3807

Grafana 可视化配置

Grafana 可视化操作使用

原名又逢乱世。不要放下学习的脚步,毕竟比天天打牌、钓鱼、打游戏更能从内在充实自己。 1940

北斗导航 | 2023 PTTI会议论文 2023 ITM会议论文 2022 ION GNSS+ 会议论文下载:ION 美国导航学会

2023 国际技术会议(ITM) 2023 精密时间和时间间隔系统和应用会议(PTTI) 2022 美国导航学会国际会议(ION GNSS +)

尘世冰封的专栏 4613

K8S - 深入解析 Service 与 Ingress - 服务暴露与流量管理

K8S - 深入解析 Service 与 Ingress - 服务暴露与流量管理

weixin_46619605的博客 1576

大厂面经:京东大数据面试题及参考答案(3万字长文)

Kafka是一个开源的分布式流处理平台,由 LinkedIn 开发并在 2011 年贡献给 Apache 软件基金会。高吞吐量:能够处理大量的数据流,适合实时数据管道。持久性:数据存储在磁盘上,确保数据不丢失。容错性:通过数据复制提供高可用性。扩展性:支持水平扩展,易于增加更多节点。Kafka 的核心概念Topic:逻辑上的数据流,可以理解为主题。Producer:生产数据的应用程序。Consumer:消费数据的应用程序。Broker:Kafka 集群中的服务器节点。Partition。

大模型大数据攻城狮的专栏 863

k8s第三节 Kubernetes网络、Service、Ingress

k8s第三节 Kubernetes网络

dazer的专栏 536

弱小目标检测跟踪算法研究(5) 基于顶帽变换(Top_hat)算法的红外弱小目标检测之背景抑制

基于顶帽变换(Top_hat)算法的红外弱小目标检测之背景抑制1. 前言2. 顶帽变换(Top_hat)算法3. Matlab仿真4. 小结 1. 前言 红外图像中的弱小目标,目标属性包涵“弱"和“小’’两个方面:“弱’’是指目标在红外波长上所表现出来的强度,具体反映到所拍摄的红外图像上,就是指目标的灰度值;而“小’’是指目标的尺寸大小,也就是前面所述的成像面积很小,反映到红外图像上就是指目标所占的像素数目很少。 SPIE国际光学工程学会(Societyof Photo一0ptical Instrument

sinat_34897952的博客 5293

面试官连夜整理:103道AI Agent面试题,答对一半直接加薪50%

维度AutoGPTLangGraphAutoGen控制流LLM 驱动的隐式循环代码层定义的显式状态图对话驱动的自动流转状态存储Prompt 上下文中(易丢失)结构化 State 对象(可持久化)对话历史(自动累积)分支能力依赖 LLM 的文本输出(不稳定)条件边 + 节点路由(确定性)多 Agent 对话自然分支(涌现式)回溯/回滚无原生支持,只能重新开始原生 Checkpoint 支持时间旅行无全局回滚,单 Agent 可重启人机协同仅人工在关键点介入(需要自定义)原生支持。

weixin_35774598的博客 622

Kubernetes Service与Ingress详解

Service 的概念:Kubernetes Service定义了这样一种抽象:一个Pod的逻辑分组,一种可以访问它们的策略 —— 通常称为微服务。这一组Pod能够被Service访问到,通常是通过Label Selector。一、Service 的概念、二、Service 的类型、三、VIP 和 Service 代理、四、ipvs代理模式、五、Service实验讲解、六、Ingress实验讲解

果子哥丶的博客 1万+

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

菜鸟学Kubernetes(K8s)系列——(三)关于Service、Ingress

通过本文你将学习到:(1)什么是Service,如何创建它、它的服务发现能力、对外暴露方式(2)什么是NodePort类型的Service,它的使用方式、工作原理(3)什么是Ingress,如何创建它、为什么需要Ingress(4)什么的Ingress-Nginx、他和Nginx是什么关系、Ingress的各种功能(5)什么是headless服务等等......

菜鸟琪 3355

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

kubernetes之Service与ingress

Kubernetes Service是聚合Pod服务并提供统一入口的资源,通过kube-proxy实现流量转发。kube-proxy支持三种工作模式:userspace(用户空间转发)、iptables(直接规则转发)和ipvs(高效负载均衡)。Service类型包括ClusterIP(集群内部访问)、NodePort(节点端口暴露)、LoadBalancer(外部负载均衡)和ExternalName(引入外部服务)。通过Endpoints维护Service与Pod的映射关系,支持轮询和会话保持两种负载策略

qq_52914969的博客 1010

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

Kubernetes 之 Ingress 和 Service 的异同点

对比点IngressService作用范围管理外部 HTTP/HTTPS 流量,路由到内部的多个服务。提供对单个服务(多个 Pod)的访问方式。协议支持仅支持 HTTP/HTTPS支持多种协议(TCP/UDP/HTTP/HTTPS 等)负载均衡对象在多个服务之间负载均衡。在同一服务的多个 Pod 之间负载均衡。是否必须依赖必须依赖 Ingress Controller 才能生效。独立运行,不依赖额外组件。高级功能支持域名、路径路由、TLS 终止等。

sre救赎之路 1689

《Kubernetes》,你需要掌握的 Service 和 Ingress

大家好,我是小菜,一个渴望在互联网行业做到蔡不菜的小菜。可柔可刚,点赞则柔,白嫖则刚! 死鬼~看完记得给我来个三连哦! 本文主要介绍 k8s中的网络设置 如有需要,可以参考 如有帮助,不忘 点赞 ❥ 微信公众号已开启,小菜良记,没关注的同学们记得关注哦! k8s 我们已经从 NameSpace、Pod、PodController到Volumn都介绍过了,相信看完的小伙伴们也会很有收获的~那么今天我们继续来到k8s的课堂,这节我们将要来说下 k8S 搭建完服务后如何访问! 首先我们要清楚什么是Servi

Cbuc丶的博客 501

k8s的service、ingress controller和ingress

ingress controller和ingress是一对多的,而ingress跟service也是一对多(实际上一个ingress可以描述多个服务,也可描述一个服务,不过这不重要,因为你也可以创建多个ingress)另外port.number是后端服务的端口,不是ingress的端口,ingress的端口是80或者443。我们当然可以在集群内直接访问POD的IP来访问这些服务,但POD的IP是可能变化的,所以更标准的做法是通过service来访问POD服务。这个是常规操作,就不多解释了。

489

《Kubernetes》Service 详解+Ingress

Kubernetes提供了Service和Ingress两种流量负载组件。Service用于聚合Pod并提供统一访问入口,支持ClusterIP、NodePort、LoadBalancer三种类型,通过kube-proxy实现负载均衡,有userspace、iptables和ipvs三种工作模式。Ingress作为7层负载均衡器,通过Ingress Controller(如Nginx)实现反向代理,比Service更高效地暴露多个服务。文章详细介绍了Service的类型和使用方法,以及如何部署Ingress

2301_80348933的博客 918

k8s之service与ingress

service的模式1 、每一种类型都是在上一种类型的基础之上进行的升级ClusterIP只能对内-----》NodePort在clusterIP的基础上,加了可以对外的端口-------》LoadBalane在NodePort的基础上,加了负载均衡 2 、能够让外部访达的类型是NodePort和LoadBalane # 如果你们公司的应用是单体的话,那么你只需要用到service的NodePort类型然后自建负载均衡器,或者说直接用LoadBalance类型k8s中总共有3种ip。

鲸屿的博客 758
上一篇: k8s 资源控制器
下一篇: k8s存储机制 ConfigMap和Secret
Persistence___
博客等级 码龄8年 47粉丝 59原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值