南宁江南区网站制作价格做美缝在哪个网站接单

张小明 2026/1/10 6:41:10
南宁江南区网站制作价格,做美缝在哪个网站接单,福州网络科技公司有哪些,网站 免费认证. Service概念引入k8s之部署Deployment章节我们介绍RS以及Deployment#xff0c;Deployment提供了pod的管理方式#xff0c;以及通过副本控制器RC保证集群中pod的数量保持为指定数量。同时Deployment还提供了相关升级、回滚、更新速度、灰度发布等功能。那么pod之间怎么进行访…. Service概念引入k8s之部署Deployment章节我们介绍RS以及DeploymentDeployment提供了pod的管理方式以及通过副本控制器RC保证集群中pod的数量保持为指定数量。同时Deployment还提供了相关升级、回滚、更新速度、灰度发布等功能。那么pod之间怎么进行访问呢在之前我们提过k8s之间的node网络是互通的同时它里面的pod网络也是互通的相关结构如下图所示暂时可以不需要理解里面的service看得懂通过curl ip即可NodeB (192.168.1.11)NodeA (192.168.1.10)✅直接访问 Pod IPcurl Unsupported markdown: link✅推荐通过 Servicecurl Unsupported markdown: link自动负载均衡❌通常无效curl Unsupported markdown: link✅显式设置curl Unsupported markdown: linkPodAIP: 10.244.1.5Port: 8080PodxIP: 10.244.1.xPort: xxPodBIP: 10.244.2.8Listens: 8080Service: podB-serviceClusterIP: 10.96.xx.xxPort: 80 → targetPort: 8080在集群中pod可以通过指定podB的ip以及端口进行访问。比如说应用A访问应用B我们可以配置应用A中请求地址便可以进行访问但是如果pod挂了呢通过上一章节的介绍我们知道pod挂了之后会重新启动一个新的pod但问题是ip也变了这样便没法访问了。这时候肯定会有人说Java boy不惧怕任何事情俺有nacosnacos可以进行自动负载均衡以及服务发现不需要配置ip只需要配置服务名。是的如果是使用nacos集群内部的访问便变得简单了其实nacos的作用跟今天所介绍的service很相似但问题又来了如果别人的应用没有注册到nacos上面去呢万一我是一个phper呢又或者说我集群内部的某个pod需要对外提供服务呢这时候便需要k8s中的Service来帮忙了。2. 什么是ServiceKubernetes 中 Service 是 将运行在一个或一组 ​Pod​ 上的网络应用程序公开为网络服务的方法​[注]。我们可以这样理解Service 是 Kubernetes 中定义的一组 Pod 的稳定网络入口抽象用于实现服务发现与负载均衡。 在我们部署应用的时候为了服务的高可用性一般来说我们会将应用X部署在多个pod上例如podApodBpodC他们各自有自己的ip地址。k8s的service将这三个pod给包装起来了包装为了一个服务service,其他的应用需要访问应用X的时候不再需要通过通过ip地址来访问而是直接通过服务名来访问。例如这个服务名叫做my-svc.my-ns.svc.cluster.local​那么其他应用直接通过http://my-svc.my-ns.svc.cluster.local​便可以访问应用X了。这是因为当你请求这个域名的时候k8会为你自动转发到对应的pod上去。通过上面可以解释我们可以知道k8s的service主要有如下作用​解耦服务消费者与提供者客户端只需访问 Service 名称无需知道后端 Pod IPPod 是临时的IP 会变​自动负载均衡将流量分发到所有健康的后端 Pod提供稳定的网络端点即使 Pod 重建、扩缩容Service 的 ClusterIP 和 DNS 名称保持不变这个之后解释。3. Service的分类根据Service的作用不同可以分为如下的4种Service。3.1 ClusterIPClusterIP的作用主要是在集群内部暴露服务仅集群内可访问。举个列子我用python写了一个算法服务这个算法服务提供了一个http请求接口然后我java应用想要调用这个算法服务我便可以将这个算法服务包装为一个ClusterIP类型的Service专门提供给java应用调用。那么他的原理是怎样的呢如下的代码便是构建一个ClusterIP类型的serviceapiVersion: v1kind: Servicemetadata:name: backend-svcspec:type: ClusterIPselector:app: backend # 匹配的podports:- port: 80targetPort: 8080其中port80代表这个service对外暴露的端口也就是另一个pod需要访问backend这个后端pod服务需要通过http://backend-svc:80来进行访问。targetPort8080代表service会将流量转移到后端pod的哪个端口。ClusterIP 类型的 Service 会被分配一个集群内部的专有且唯一的虚拟 IP 地址由 Kubernetes 的控制平面从 --service-cluster-ip-range​ 指定的 CIDR 范围中分配。这个 IP 不是真实网卡上的 IP而是一个“虚拟 IPClusterIP”。它只在 Kubernetes 集群内部可达外部无法直接访问。然后k8s内置的dns服务会为该service创建一个dns记录将例子中的backend-svc​解析为这个虚拟ip。这样集群中的pod都会在访问backend-svc​这个域名的时候就会自动解析到这个ClusterIP中。同时k8s的控制平面也会创建一个同名的Endpoints 对象记录对应Service当前实际可用的后端pod IP地址和端口列表。image在前面的知识中我们知道kube-proxy运行在每一个Node节点中监听Service和Endpoints的变化。当他发现有一个clusterIP service变化的时候就会用小本本记录下来然后生成相关的ip映射规则建立cluster IP和pod IP的映射规则。这样当节点中的某个pod访问Service的时候节点中的Kube-Proxy就可以根据ip映射规则将流量转发到对应的服务上去。当然一个cluster IP会对应多个pod IP具体访问哪一个就根据kube-proxy设置的算法来进行执行。PlantUML Diagram‍3.2 NodePort在每个节点的 IP 上开放一个固定端口外部可通过 NodeIP:NodePort​ 访问服务NodePort 范围默认为 30000-32767​。什么意思呢在Cluster IP类型的service中集群内部访问当然没问题但是如果是集群外部呢集群外部如何访问集群内部的服务呢这时候我们就需要创建一个NodePort类型的service了。当创建一个 type: NodePort 的 Service 时Kubernetes 实际上做了两件事创建一个ClusterIP的Service比如 ClusterIP是10.96.123.45在每个节点上监听一个端口比如 31234。当外部流量通过 NodeIP:31234​ 进入节点时kube-proxy 会将该流量转发到 Service 的 ClusterIP然后再由 ClusterIP 的规则转发到后端 Pod。外部请求 → NodeIP:NodePort → (kube-proxy 转发) → ClusterIP → 后端 Pod这个时候我们再看k8s官网的这句话应该就能理解了吧。通过每个节点上的 IP 和静态端口NodePort​公开 Service。 为了让 Service 可通过节点端口访问Kubernetes 会为 Service 配置集群 IP 地址 相当于你请求了 type: ClusterIP 的 Service。3.3 LoadBalancer前面的NodePort类型的service解决了集群外部访问集群内部服务的问题那么又有一个问题来了我要是公网想访问集群内部的服务呢在k8s集群中node的节点ip都是分配的内网ip我们肯定是无法在公网上使用node ip来访问对应的服务。这时候就需要借助LoadBalancer Service了。​LoadBalancer​ 是 k8s中最“面向外部”的 Service 类型之一它建立在 ​NodePort​​ 和 ​ClusterIP​​ 之上专为云环境设计用于自动创建一个外部负载均衡器将流量从互联网直接导入你的服务。也就是说当创建一个LoadBalancer的service时Kubernetes 会自动分配一个 ​ClusterIP内部使用自动分配一个 ​NodePort每个节点开放该端口云控制器管理器cloud-controller-manager 会检测到这个 Service​自动向云平台 API 请求创建一个外部负载均衡器。该负载均衡器会被配置为​前端​分配一个公网 IP或 DNS 名称后端将流量转发到所有节点的 NodePortPlantUML Diagram3.4 ExternalName前面介绍的几种Service都是将自己暴露出去将pod的服务以更加便捷形式提供给外界使用。那么反过来呢如何让外界服务更加便捷给内部使用呢那么便是ExternalName Service提供的功能了。ExternalName Service 会在集群内部创建一个 DNS 别名CNAME指向你指定的外部服务地址如 api.example.com让 Pod 可以像访问内部服务一样访问外部服务。本质上来说就是给外部服务取了一个DNS层
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

菏泽做网站推广赤峰北京网站建设

终极音乐解锁指南:轻松解密各类加密音乐文件 【免费下载链接】unlock-music浏览器中的音乐解锁工具 unlock-music是一个开源项目,专注于在浏览器中解锁加密音乐文件。支持多种主流音乐平台格式,如QQ音乐、网易云音乐、酷狗音乐等,…

张小明 2025/12/27 13:04:05 网站建设

南京公司网站制作网站的方法有哪些内容

MouseTester专业测评指南:从数据采集到性能优化的完整解决方案 【免费下载链接】MouseTester 项目地址: https://gitcode.com/gh_mirrors/mo/MouseTester MouseTester作为开源鼠标性能测试工具,通过系统化的数据采集和可视化分析,为用…

张小明 2026/1/9 9:27:09 网站建设

网站建设珠海免费手游推广代理平台渠道

让机器人动起来:深入理解Arduino控制舵机的底层逻辑与同步艺术你有没有试过让一个机器人抬起手臂,却发现它的左右关节一前一后、动作歪斜?或者在调试机械臂时,舵机突然“抽搐”一下撞到限位,发出令人牙酸的咔哒声&…

张小明 2026/1/5 9:00:08 网站建设

建设网站必须要钱吗wordpress文件夹权限设置

【LeetCode 简单题】206. 反转链表:两种思路 代码详解 今天来拆解 LeetCode 上的经典简单题 ——206. 反转链表,这是链表操作的入门必刷题,同时也是很多面试的 “开胃菜”。本文会分享两种常用解法,从思路到代码逐一分析&#x…

张小明 2026/1/2 0:03:45 网站建设

简单网站建设方案校园网站html模板

暗黑破坏神2画质革命:D2DX让你的经典游戏重获新生 【免费下载链接】d2dx D2DX is a complete solution to make Diablo II run well on modern PCs, with high fps and better resolutions. 项目地址: https://gitcode.com/gh_mirrors/d2/d2dx 还在为20年前经…

张小明 2025/12/29 15:54:14 网站建设

盐城网站建设代理商网站建设求职简历模板下载

在数字音乐时代,SoundCloud作为全球最大的独立音乐分享平台,汇集了无数新锐音乐人和知名艺术家的独家作品。然而,面对丰富多样的音乐资源,如何高效下载并建立个人音乐库却成为许多用户的痛点。今天,我们将为您详细介绍…

张小明 2026/1/7 15:34:33 网站建设