kubernets 架构设计 第2章 服务

本文介绍了Kubernetes中服务的概念及其实现方式,解释了不同Pod间如何通过服务进行通信,并详细阐述了服务的工作原理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

kubernets 集群里面有很多pod,那不同的pod 之间是怎么通信的呢?就是通过服务来通信的

2.1 什么是服务

服务是kubernets 的一个抽象概念,它定义了一个pod的逻辑集合以及访问这个逻辑集合的策略,有时也别称为微服务;

服务的目标是提供一种桥梁,使得飞kubernets 的原生态程序,在无需为kubernets 编写特性程序的前提下,轻松访问后端pod

服务为用户提供一对ip和port端口(因为pod 所在的节点会变化,因为各种正常、异常的原因)给其他的服务或者pod 使用,他们可以通过ip;port 轻松访问这个后端的服务pod


2.2 服务的定义

服务是通过标签选择器(label selecto) 来实现的;可以把服务当作一个标签的定义或者配置服务器,配置了pod 的ip + port 号码;每次新建pod 都会定义服务。类似 于 server 启动一个TCP 的服务进程(tcp 端口)

{
  "id": "myapp",  #定义一个名为myapp 的服务
  "selector": {   #标签是myapp
    "app": "MyApp"
  },
  "containerPort": 9376,  #容器的端口 9376
  "protocol": "TCP",
  "port": 8765
}

上面就是定义了一个名字为myapp的服务,使得所有标签是myapp 的pod 都监听端口 9376 的TCP 监听,其他的pod或者服务都可以通过这个端口来跟这些pod 进行通信。


2.3 服务是如何工作的

kubernets 每个节点(机器)上都一台一个代理服务(service proxy),这个service proxy 会监听 kubernets master 的任务,负责添加、删除服务以及服务对应的pod;这样每个节点的porxy 收到请求后就可以查询这个请求访问的pod 的ip 和port ,如果这pod 有很多replica 时,还负责负载均衡,把这个请求直接通过网络传输给某一个负载轻的pod处理。

下面是服务的工作原理:



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值