码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Kubernetes家族容器小管家Pod在线答疑?


    Kubernetes家族容器小管家Pod在线答疑❓

    不知道学习k8s的小伙伴们有没有跟我一样的疑问?

    k8s为什么不是直接运行容器,而是让Pod介入?

    Pod又是什么?为什么在应用容器化如此普遍的情况下k8s要推出Pod概念?

    img

    小葵花Pod课堂开课啦

    本文主要理解的一个核心点,什么是Pod?我们先不关注Pod怎么使用,怎么调度,如何实现最佳实践。这些问题后续继续讨论,在不懂为什么k8s要有Pod的情况下,去先深究最佳实践没有实际意义。

    囧么肥事-k8s专场

    img

    img

    Pod官方定义

    Pod 是可以在 Kubernetes 中创建和管理的、最小的可部署的计算单元。

    Pod (就像在鲸鱼荚或者豌豆荚中)是一组(一个或多个) 容器

    这些容器共享存储、网络、以及怎样运行这些容器的声明。

    Pod 中的内容总是并置(colocated)的并且一同调度,在共享的上下文中运行。

    Pod 所建模的是特定于应用的“逻辑主机”,

    其中包含一个或多个应用容器,

    这些容器是相对紧密的耦合在一起的。

    Linux命名空间、cgroups

    *namespace*

    Linux namespace 提供了一种内核级别隔离系统资源的方法,通过将系统的全局资源放在不同的namespace中来实现资源隔离的目的.Linux 中六类系统资源的隔离机制:

    ● Mount: 隔离文件系统挂载点

    ● UTS: 隔离主机名和域名信息

    ● IPC: 隔离进程间通讯

    ● PID: 隔离进程的 ID

    ● NetWork: 隔离网络资源

    ● User: 隔离用户和用户组的 ID

    cgroups

    cgroups 限制一个进程组能够使用的资源上限,包括 CPU,内存,磁盘,网络带宽等,同时可以设置进程优先级,以及将进程挂起和恢复等。

    docker 角度理解Pod

    Pod 的共享上下文包括一组 Linux 名字空间、控制组(cgroup)和可能一些其他的隔离 方面,即用来隔离 Docker 容器的技术。 在 Pod 的上下文中,每个独立的应用可能会进一步实施隔离。

    就 Docker 概念的术语而言,Pod 类似于共享名字空间和文件系统卷的一组 Docker 容器。

    Pod 中多个容器如何协调?

    Pod 被设计成支持形成内聚服务单元的多个协作过程(形式为容器)。

    Pod 中的容器被自动安排到集群中的同一物理机或虚拟机上,并可以一起进行调度。

    容器之间可以共享资源和依赖、彼此通信、协调何时以及何种方式终止自身。

    例如,你可能有一个容器,为共享卷中的文件提供 Web 服务器支持,以及一个单独的 “sidecar(挂斗)”容器负责从远端更新这些文件,如下图所示:

    img

    如何理解Pod共享上下文?

    一个Pod的共享上下文是Linux命名空间、cgroups和其它潜在隔离内容的集合。 在Pod中,容器共享一个IP地址和端口空间,它们可以通过localhost发现彼此。

    在同一个Pod中的容器,可以使用System V 或POSIX信号进行标准的进程间通信和共享内存。

    在不同Pod中的容器,拥有不同的IP地址,因此不能够直接在进程间进行通信。容器间通常使用Pod IP地址进行通信。

    Pod 的上下文可以理解成多个linux命名空间的联合:

    ● PID 命名空间(同一个Pod中应用可以看到其它进程)

    ● 网络 命名空间(同一个Pod的中的应用对相同的IP地址和端口有权限)

    ● IPC 命名空间(同一个Pod中的应用可以通过VPC或者POSIX进行通信)

    ● UTS 命名空间(同一个Pod中的应用共享一个主机名称)

    img


    《Kubernetes-企业级容器应用托管》-持续胡说八道

    第一段:推荐阅读:【云原生新时代弄潮儿k8s凭什么在容器化方面独树一帜?】

    第二段:推荐阅读:【趁着同事玩游戏偷偷认识k8s一家子补补课】

    第三段:推荐阅读:【Kubernetes家族容器小管家Pod在线答疑❓】

    第四段:推荐阅读:【同事提出个我从未想过的问题,为什么Kubernetes要"多此一举"推出静态Pod概念?】

    第五段:推荐阅读:【探针配置失误,线上容器应用异常死锁后,kubernetes集群未及时响应自愈重启容器?】

    第六段:推荐阅读:【kubernetes集群之Pod说能不能让我体面的消亡呀?】

    第七段:推荐阅读:【k8s家族Pod辅助小能手Init容器认知答疑?】

    第八段:待更新?推荐休闲阅读:【囧么肥事】

  • 相关阅读:
    【LeetCode】739 每日温度
    Ubuntu 24.04安装zabbix7.0.0图形中文乱码
    【webrtc】时间戳reordered 重新排序、环绕的判断
    开发npm第三方库的实战经验
    C++基础——默认成员函数讲解1
    JAVA毕设项目三坑购物平台演示录像2020(java+VUE+Mybatis+Maven+Mysql)
    * 论文笔记 【Wide & Deep Learning for Recommender Systems】
    2022-11-30 mysql-innodb-ibd文件读取工具
    MyBatisPlus(七)——通用枚举、代码生成器、多数据源、MyBatisX
    Information Sciences 2022 | 利用图嵌入和图神经网络实现社交网络中的影响力最大化
  • 原文地址:https://www.cnblogs.com/jiongmefeishi/p/15895066.html
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号