pod结构说明-运行容器的容器

pod基础概念

  • pod相当于一个运行容器的环境,有独立的ip地址,也有自己的hostname,利用namespace进行资源隔离。
  • pod内部封装的是容器,可以封装一个或者多个相关的容器。

pod网络

  • pod有自己独立的ip地址。
  • pod内部容器之间访问采用localhost访问。

pod如何对外提供访问

pod是虚拟的资源对象(进程),没有对应实体版本(物理机,物理网卡)与之对应,无法对外提供服务访问。
pod如果想要对外提供服务,必须绑定物理机端口(在物理机上开启端口,让这个端口和pod端口进行映射),这样就可以通过物理机进行数据包的转发。其具体流程如下

先通过物理机ip+端口进行转发->进行数据包转发

访问pod如何实现负载均衡

pod是一个进程,是有生命周期的,宕机、版本更新都会创建新的pod,此时ip地址发生变化,hostname也会发生变化。要实现pod负载均衡就需要了解什么是service资源对象。
首先k8s集群中包含如下几类ip地址:

  1. pod ip: pod ip地址
  2. node ip: 物理机ip地址
  3. cluster ip: 虚拟ip,由kubenetes抽象出的service对象,service对象即是一个vip的资源对象。

service如何实现负载均衡

  • service和pod都是一个进程,service也不能对外提供服务。
  • service和pod可以直接进行通信,它们的通信属于局域网通信。

外部把请求交给service后,service使用(iptables,ipvs)做数据包分发。

  • service和一组pod副本通过标签选择器进行关联
  • endpoints存储所有pod的ip地址

pod宕机、发布新版本,service如何发现pod已经发生变化

kube-proxy监听所有pod,发现pod变化去更新存储在etcd中的endpoints中的映射关系。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值