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

Gartner DSG数据安全治理 架构及解读

目录背景:架构图: 解释:英文解释:(自上而下)平衡业务与风险、威胁、合规之间的关系(5个维度之间的平衡)优先处理数据集制定安全策略实施安全工具策略配置同步从上到下,从需求调研开始实施数据安全治理。千万不要跨过数据摸底、治理优先级分析、制定治理整体策略,而直接从技术工具开始对数据安全进行治理。 先明确选择需要治理的对象,优先选择重要数据进行数据安全治理工作。可以通过数据梳理、分类分级等手段,完成数据资产盘点和筛选,在纷杂的数据中理清头绪。

锦慈的技术博客 7216

软件工程期末知识点总结【超详细】

生命周期模型(过程模型):瀑布模型、快速原型模型、增量模型、螺旋模型、喷泉模型。2、实体联系图:1、数据对象2、属性3、联系(1:1、1:N、M:N)3、语句覆盖 就是设计足够的调试用例,使得程序中的每个语句至少执行一次。 5、判定覆盖就是设计足够的测试用例,使得程序中每个判定的取“真”分支和取“假”分支至少都执行一次,判定覆盖又称分支覆盖 6、条件覆盖就是设计足够的测试用例,使得程序判定中的每个条件能获得各种可能的结果。7、软件开发时期通常分成4个阶段:总体设计、详细设计、编码和单元测试、综合测试。

这个人好有趣....hh 1万+

k8s-服务发现service和ingress

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

hey_lie的博客 1883

HFSS线圈仿真避坑指南:从建模到寄生参数分析的完整流程

本文详细介绍了HFSS线圈仿真的完整流程,从精准建模到寄生参数优化,特别针对Ansys Electronics Desktop用户提供实用指南。涵盖线圈几何构建、材料属性配置、端口激励设置及寄生电阻与电感分析等关键步骤,帮助工程师避免常见错误,提升仿真精度与效率。

weixin_29209801的博客 549

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

【论文阅读】High-Resolution Image Synthesis with Latent Diffusion Models

为了降低训练扩散模型的算力,LDMs使用一个Autoencoder去学习能尽量表达原始image space的低维空间表达(latent embedding),大大减少需要的算力。在RGB空间:编码器encoder:,将x压缩成低维表示解码器decoder: D,将低维表示z还原成原始图像空间。1. 加入Autoencoder(上图中左侧红色部分),使得扩散过程在latent space下,提高图像生成的效率;

weixin_57974242的博客 1万+

自定义串口通讯协议

自定义串口通讯协议的实现方法

qq_44826038的博客 2172

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

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

weixin_46619605的博客 1576

Isaac Sim 车辆动力学:从参数调优到户外仿真的挑战与实战

本文深入探讨了Isaac Sim在车辆动力学仿真中的应用,从参数调优到户外场景模拟的实战经验。详细解析了悬架系统、轮胎物理模型等核心参数的设置技巧,并分享了应对户外仿真挑战的实用方案。通过Vehicle Wizard高级使用和传感器配置,帮助开发者高效完成车辆仿真与算法开发。

weixin_29192211的博客 404

k8s第三节 Kubernetes网络、Service、Ingress

k8s第三节 Kubernetes网络

dazer的专栏 536

Android15音频进阶之解underrun与overrun思路(一百一十七)

本篇目的:Android15音频进阶之解underrun与overrun思路Underrun:发生在播放:APP准备的数据太少,导致底层没有音频数据可以播放,导致ADSP被“饿死了“,即Underrun。Overrun: 发声在录音:APP录音数据获取太慢了,导致底层录出来的数据太多了,APP播放不了,导致APP被“撑死了”,即Overrun。

Android系统攻城狮 2106

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

Kubernetes Service与Ingress详解

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

果子哥丶的博客 1万+

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

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

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

菜鸟琪 3355

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

WINCC7.3破解文件

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

kubernetes之Service与ingress

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

qq_52914969的博客 1010

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、付费专栏及课程。

余额充值