• 搜索
  • 夜间模式
    ©2026  依刻学习 Theme by OneBlog

    依刻学习博客

    搜索
    标签
  • 首页>
  • 学习的一天>
  • 正文
  • 有关k8s的一些误解与探究

    2025年03月31日 28 阅读 0 评论 1825 字

    前言

    探讨一些k8s内比较容易误解或难以理解的资源

    探究

    service与network

    在一开始学习k8s时,我对k8s中的service的初印象就是docker中的network,因为k8s与dockerfile有某些相同点,但是仔细深入学习,就会发现,两种无论是从使用还是其本身的功能来说,都是不同的,唯一相同的功能就是允许容器使用名称进行访问。

    • 功能(负载均衡vs网桥连接容器)

      services,简称svc,作用类似于负载均衡,拥有自己的IP,访问该IP就等同于访问其管理的所有的容器(一对多的关系),负载均衡会把访问按一定算法分配给其管理的任意容器,所以为了使用其类似docker中的network的功能,能够使用svc名称进行访问。

      这里就能看出与network的不同之处,network并没有负载均衡的功能而是仅仅用于连接不同容器的一个中间资源,并且可以通过network访问主机。

    • 范围(跨节点与单节点)

      对于k8s集群来说,svc是可以对任意节点的pod使用的,也就是说svc发范围是k8s的任意节点。

      docker本身只能在单节点运行,所以network也是没有跨节点的功能的。

    • 关联方式(自动发现与指定)

      svc是通过label选择关联pod的,并不需要在pod内指定是哪个svc,只要有svc选择的labels就行。

      network必须必须要在创建容器时(dockerfile也行)显式指定。

    • 暴露策略

      svc的暴露策略

      NodePort:基于ClusterIP,监听k8s所有节点的某个端口(允许外部访问指定端口)

      LoadBalancer:云平台负载均衡,自动分配IP(需要接入云平台负载均衡例如阿里云SLB)

      ClusterIP:仅K8S集群内部可访问

      ExternalName:将K8S集群外部的服务映射为一个svc服务(其实就是转发到指定域名)

      network的暴露策略

      network在docker中只有一种情况就是bridge(container不算),在容器与主机间搭建网桥连通容器与主机,具体映射端口由容器本身指定。

    总结

    虽然service与network工作环境不同,实际内容也不一样,但是刚学习容易搞混

    经过比较,可以发现service与network是完全不同的东西,但是有一点是相同的,那么就是使用名称(docker中是容器名,k8s中是svc名)访问防止容器重启导致IP变化无法访问。

    pause与CNI

    在刚开始学习k8s的时候,我不是特别关注pause,但是一旦学到CNI,在加上后面的svc,就开始混乱了,我甚至认为pause就是CNI的实现,svc充当整个pod的"网卡",但是深入学习就发现是错误的

    pause是每个pod都会有的一个容器(有且只有一个),她负责创建网络空间(可以理解为网卡),并且该pod的所有容器都会加入这个网络空间,加入这个网络空间的容器可用通过localhost通信,就像是部署在同一个主机上一样(从使用上看,pause就跟pod的网卡差不多)。

    pause一直处于暂停状态,pause在pod内负责维护所有容器。

    为什么需要pause创建网络空间?因为一旦网络空间所属的容器挂了,整个网络空间就挂了导致pod的网络中断,pod失联,必须保证网络空间在pod的生命周期内可用,所以使用pause创建网络空间,并且当 pod 被删除时,Kubelet 先终止 pause 容器,pause会自动清理pod内的容器(这就是真实删除pod的流程)。

    CNI的作用就是给这个网络空间配置IP并且配置路由规则,使pod内的容器可以访问外网和其他pod,没有CNI,pod之间,pod与外网无法进行通信。

    总结

    k8s有许多概念较难理解,学习成本不低,甚至我第一次搭建k8s就花了整整一天的时间,k8s是我觉得在短期内基本不会有什么成效,需要长时间的积累

    本文著作权归作者 [ wymm ] 享有,未经作者书面授权,禁止转载,封面图片来源于 [ 互联网 ] ,本文仅供个人学习、研究和欣赏使用。如有异议,请联系博主及时处理。
    取消回复

    发表留言
    回复

    Copyright©2026  All Rights Reserved.  Load:0.017 s
    Theme by OneBlog V3.6.5
    夜间模式

    开源不易,请尊重作者版权,保留基本的版权信息。