温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
  • 忘记密码?
登录注册×
获取短信验证码
其他方式登录
点击 登录注册 即表示同意 《亿速云用户服务条款》
  • 服务器
  • 数据库
  • 开发技术
  • 网络安全
  • 互联网科技
登 录 注册有礼
最新更新 网站标签 地图导航
产品
  • 首页 > 
  • 教程 > 
  • 开发技术 > 
  • 编程语言 > 
  • 如何使用K8s来实现服务的注册与发现

如何使用K8s来实现服务的注册与发现

发布时间:2021-10-13 09:18:46 来源:亿速云 阅读:1207 作者:iii 栏目: 编程语言

这篇文章主要讲解了“如何使用K8s来实现服务的注册与发现”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何使用K8s来实现服务的注册与发现”吧!

1. K8s 组件

  • configMap
  • kube-apiserver
  • scheduler
  • etcd
  • controller
  • kube-proxy
如何使用K8s来实现服务的注册与发现    

   

K8s 中主要通过 kube-proxy 负责为 Service 提供 cluster 内部的服务发现和 负载均衡,它是 K8s 集群内部的负载均衡器,也是一个分布式代理 服务器,在 K8s 的每个节点上都有一个,这一设计体现了它的伸缩性优势,需要访问服务的节点越多,提供负载均衡能力的 kube-proxy 就越多,高可用节点也随之增多。通过 K8s service 的 "ClusterIP" 来实现集群内服务的 LB,当然,如果集群外需要访问 Service 对应的所有具有相同功能的 pod 应用程序,则可以通过 K8s service 的另外一种方式来实现:"NodePort"。

   

2. 基于 Service 实现微服务负载均衡

在 Java 语言,或其它语言中,通常需要做很多繁重的组件来实现服务的 LB。例如:Dubbo、SpringCloud、甚至 SpringCloudAlibaba 等。当然,对于 Python、Go 等语言,也有其 Restful API,所以也会集成标准的代理插件来进行做传统的 LB。但对于云原生时代的到来,服务容器化让微服务的访问更好了。K8s Service 提供的 LB,即为无语言边际的负载均衡,不用考虑任何语言的阻碍,只要是通用的 Restful API,即可借助 service 来进行处理集群内部微服务之间的 LB。

在 K8s 集群中,如果内部访问,可以简单的通过 servicename 来进行访问。例如:

apiVersion: v1
kind: Service
metadata:
  name: web-server-service
  namespace: default
spec:
  ports:
    - name: web-server
      port: 80
      targetPort: web-server-port
  selector:
    app: web-server
   

通过 selector 将 service 与服务 pod 对应起来,创建一个微服务的 service,默认其形式是:ClusterIP,则可以通过如下来访问该 service 对应的后端 pod:

curl http://$service_name.$namespace.svc.cluster.local:$service_port/api/v1/***
   
   

这里,K8s 通过虚拟出一个集群 IP,利用 kube-proxy 为 service 提供 cluster 内的服务发现和负载均衡,上面说了 kube-proxy 的功能。

Name:              web-server-service
Namespace:         default
Type:              ClusterIP
IP:                20.16.249.134
Port:              <unset>  80/TCP
TargetPort:        80/TCP
Endpoints:         20.162.35.223:80
Session Affinity:  None
Events:            <none>
         

3. 高可用案例

   

3.1 传统微服务请求案例

传统的微服务中,不同语言构建的微服务架构很多,一般直接通过 http 协议进行访问,在同一种语言中,又会出现一种集成框架模式来实现微服务架构。如:Java 中 Dubbo、Springcloud 等,但其繁琐的框架结构导致了服务的繁重。

   

3.2 跨语言间微服务的互通

在 k8s 集群内,通过 kube-proxy 结合 service 等一些功能组件来实现微服务之间的调用,不管是同语言也好,跨语言也罢。都会很好的进行处理,包括实现高可用以及负载均衡、服务治理等。


   

任何一个 k8s 集群中的 pod 都可以通过 http 协议来访问其它 pod 的服务:

root@rest-server-ver2-ds-vcfc7:/usr/src/app# curl http://web-server-service.kube-system.svc.cluster.local:80/api/v1/healthz
{
  "status": {
    "code": 0,
    "msg": "success"
  },
  "data": "success"
}root@rest-server-ver2-ds-vcfc7:/usr/src/app#

感谢各位的阅读,以上就是“如何使用K8s来实现服务的注册与发现”的内容了,经过本文的学习后,相信大家对如何使用K8s来实现服务的注册与发现这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!

向AI问一下细节
推荐阅读:
  1. 服务注册与发现—Eureka (服务管理)
  2. Netty + ZooKeeper如何实现简单的服务注册与发现

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

spring cloud java
  • 上一篇新闻:
    360通用php防护代码是什么样的
  • 下一篇新闻:
    如何实现类对象的序列化/反序列化

猜你喜欢

  • 租用香港云主机速度怎么样
  • vps独立服务器购买有哪些优点
  • vps独立服务器购买怎么管理
  • android游戏开发框架有哪些
  • jquery进度条怎么实现
  • 云虚拟主机备案的步骤是什么
  • 境外云虚拟主机租用怎么选择
  • 境外云虚拟主机租用能做什么
  • linux tracert命令怎么使用
  • css menu的用法有哪些
最新资讯
  • 如何使用Cocoa Touch框架提升应用的可测试性和维护性
  • 在Cocoa Touch中如何利用Core Motion追踪和响应用户运动
  • 使用Cocoa Touch如何来优化应用的启动广告或引导页
  • 如何在Cocoa Touch中通过Core Spotlight实现内容的搜索和索引
  • 在Cocoa Touch应用中如何创建和管理动态快捷方式
  • 使用Cocoa Touch如何实现数据的加密与安全传输
  • 如何使用Cocoa Touch框架开发自适应布局的应用程序
  • 在Cocoa Touch中如何实现软件包的动态加载和卸载
  • 使用Cocoa Touch如何创建支持导出到不同格式的报表
  • 如何在Cocoa Touch中处理文本的自动校正和建议输入
相关推荐
  • SpringCloud Eureka实现服务注册与发现
  • 怎么在springcloud中实现服务注册与发现
  • 使用SpringBoot如何实现注册与发现服务
  • 如何配置Nacos服务注册与发现
  • spring cloud服务的注册与发现怎么实现
  • Eureka 中怎么实现服务注册与发现
  • 如何进行微服务的服务注册与发现
  • 如何通过.NET Core + Spring Cloud实现服务注册与发现
  • 如何进行Eureka服务注册与发现的分析
  • 如何使用Nacos实现服务注册与发现

相关标签

spring框架 spring mvc spring注解 spring cloud alibaba spring boot 2.x 实战教程 spring framework springboot注解 spring boo spring组件 springaop springfox spring源码 spring clou spring cloud stream spring-retry spring容器 springbatch springmvc4 Spring JPA springioc
AI

深圳SEO优化公司上海网站关键词优化济源网站定制多少钱宝安关键词排名推荐来宾设计网站报价漳州百度seo昌吉推广网站多少钱昌吉网站优化排名推荐张家口建站价格百色网站开发推荐昆明百度网站优化报价十堰至尊标王哪家好乌海阿里店铺运营多少钱焦作网站建设设计云浮外贸网站建设报价成都网站制作设计哪家好盐城SEO按天收费报价石岩网站推广工具报价长葛网站制作多少钱哈尔滨网站优化按天收费价格温州高端网站设计公司嘉兴网站推广工具哪家好怒江外贸网站设计公司临汾关键词按天收费多少钱黑河营销网站报价秦皇岛模板制作推荐玉林关键词按天计费哪家好大鹏网站推广方案价格甘南网站设计公司德阳网站优化排名哪家好巢湖外贸网站设计哪家好歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

深圳SEO优化公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化