k8s 自身原理 5

本文涉及的产品
容器服务 Serverless 版 ACK Serverless,952元额度 多规格
容器服务 Serverless 版 ACK Serverless,317元额度 多规格
简介: k8s 自身原理 5

我们知道容器是通过 pod 来承载的,我们在 k8s 中,服务都是跑在 pod 里面的,pod 里面可以跑 1 个容器,或者跑多个容器,那么咱们 pod 里面跑 1 个服务容器,咱真的就以为里面就只有这样个容器吗?

pod 到底是个啥?

假如咱们 pod 里面只运行我们的一个服务的时候,也就是里面只运行一个容器,那么实际上里面是有几个容器呢?

是有两个的,默认会有一个基础容器,提供 Linux 命名空间

  • 一个我们自己的容器
  • 一个附加容器

这个附加容器难道就只提供命名空间?

不不不,这个附加容器就干一件事,就是保存这个 pod 的所有容器的命名空间

画一个简图来形象的说明一下:

最开始我们认为的是图中的上半部分,那么实际上容器 A 共享的命名空间是保存在哪里的呢?就是保存在基础容器里面的

哪怕我们现在再加一个容器 B,这个容器 B 也是共享这个基础容器的 Linux 命名空间的

那么基础容器的生命周期是多少呢?

上述有说到一个 pod 里面的所有容器都会共享这个基础容器保存的命名空间

咱们自己加入的容器,做服务,可能会有挂的时候,也会有重启的时候,放咱们的服务容器重启启动时,还是需要之前的 Linux 命名空间,这个时候,就可以找基础容器获取了

只要 pod 还活着,基础容器就会一直陪着它, pod 不挂,基础容器不消失

如果手动关闭了这个重要的基础容器,那么节点里面的 关键角色之一 kubelet 就会监控到异常信息,就会马上重新建立一个基础容器

pod 和 pod 之间通信会进行网络地址转换吗?

首先说一下结论:

  • pod 和 pod 之间通信,是没有进行网络地址转换 NAT 的
  • pod 和 node 之间通信,也没有进行网络地址转换 NAT

就比如说在 节点 1 里面有一个 pod1,ip 是 1.1.1.1 , 节点 2 里面有一个 pod 2, ip:1.1.1.2

当 pod 1 中的容器需要访问 pod 2 的时候, 节点 1 出去的包,源 ip 是 pod 1 的 ip,目的 ip 是 pod 2 的 ip,同样,到 pod 2 收到包的时候也是这样的,并没有经过 NAT

pod 和 node 通信也是这样的逻辑

我们知道 pod 容器实际上是运行在 worker 节点上的, 那么我们要访问咱们运行在 worker 节点上的 pod ,但是咱们的主控节点是 master

这个时候,如果我们外面的网络,需要访问上面这个 pod 节点的容器,那么这个时候,外面的网络需要访问 master 的 ip 还是 worker 的 ip 呢?

需要访问 worker 的 ip ,这是为什么呢?可以思考一下…

今天就到这里,学习所得,若有偏差,还请斧正

欢迎点赞,关注,收藏

朋友们,你的支持和鼓励,是我坚持分享,提高质量的动力

好了,本次就到这里

技术是开放的,我们的心态,更应是开放的。拥抱变化,向阳而生,努力向前行。

我是小魔童哪吒,欢迎点赞关注收藏,下次见~

更多的可以查看 零声每晚八点直播:https://ke.qq.com/course/417774

相关实践学习
容器服务Serverless版ACK Serverless 快速入门:在线魔方应用部署和监控
通过本实验,您将了解到容器服务Serverless版ACK Serverless 的基本产品能力,即可以实现快速部署一个在线魔方应用,并借助阿里云容器服务成熟的产品生态,实现在线应用的企业级监控,提升应用稳定性。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
相关文章
|
1月前
|
运维 Kubernetes Cloud Native
探索Kubernetes的大二层网络:原理、优势与挑战🚀
在云原生领域,Kubernetes (K8s) 已经成为容器编排的事实标准☁️📦。为了支撑其灵活的服务发现和负载均衡🔍🔄,K8s采用了大二层网络的设计理念🕸️。本文将深入探讨大二层网络的工作原理、带来的好处✨,以及面临的挑战和解决方案❗🛠️。
探索Kubernetes的大二层网络:原理、优势与挑战🚀
|
1月前
|
Kubernetes Perl 容器
k8s学习-ReplicationController 、ReplicaSet(工作原理、模板、实战)
k8s学习-ReplicationController 、ReplicaSet(工作原理、模板、实战)
47 0
|
10天前
|
Kubernetes 监控 调度
K8S中Scheduler原理分析
【6月更文挑战第20天】K8S Scheduler是集群的关键组件,它监听API Server,为新Pod选择合适的Node。
|
1月前
|
Java 数据库连接 Spring
K8S+Docker理论与实践深度集成java面试jvm原理
K8S+Docker理论与实践深度集成java面试jvm原理
|
1月前
|
Kubernetes 测试技术 Docker
K8S中Deployment控制器的概念、原理解读以及使用技巧
K8S中Deployment控制器的概念、原理解读以及使用技巧
|
7月前
|
Kubernetes 负载均衡 数据中心
史上最全干货!Kubernetes 原理+实战总结(全文6万字,90张图,100个知识点)(下)
史上最全干货!Kubernetes 原理+实战总结(全文6万字,90张图,100个知识点)
649 0
|
1月前
|
Kubernetes 监控 调度
|
1月前
|
存储 Kubernetes Docker
Kubernetes学习笔记-Part.03 Kubernetes原理
Part.01 Kubernets与docker Part.02 Docker版本 Part.03 Kubernetes原理 Part.04 资源规划 Part.05 基础环境准备 Part.06 Docker安装 Part.07 Harbor搭建 Part.08 K8s环境安装 Part.09 K8s集群构建 Part.10 容器回退
91 0
Kubernetes学习笔记-Part.03 Kubernetes原理
|
6月前
|
Kubernetes 监控 Cloud Native
k8s 自身原理之 Service
k8s 自身原理之 Service
|
6月前
|
Kubernetes 监控 调度
k8s 自身原理 4
k8s 自身原理 4