k8s与pod概念

2023-05-16

此文章为学习过程中根据网上资源整合总结

文章目录

      • 1 为什么需要k8s
        • 1.1 应用部署模式的演进
          • 1.11 模式对比
          • 1.12 各模块介绍
        • 1.2 管理大量的容器----k8s
      • 2 ks8的集群架构
      • 3 pod---k8s调度的最小单元
        • 3.1 一个 pod 包含一组容器,一个 pod 不会跨越多个工作节点
        • 3.2 pod是什么

1 为什么需要k8s

1.1 应用部署模式的演进

1.11 模式对比

虚拟化模式:
虚拟化模式
容器化模式:
容器化模式

1.12 各模块介绍

【虚拟机】
是一种高度隔离的软件容器,它可以运行自己的操作系统和应用程序,就好像它是一台物理计算机一样。虚拟机的行为完全类似于一台物理计算机,它包含自己的虚拟(即*8基于软件实现**的)CPU、RAM 硬盘和网络接口卡 (NIC)。虚拟机完全由软件组成,不含任何硬件组件

【虚拟机的优势】:

  • 兼容性:虚拟机与所有标准的 x86 计算机都兼容,可在上面运行您在 x86 物理计算机上运行的所有相同软件。
  • 隔离:虚拟机相互隔离,就像在物理上是分开的一样,例如,如果在一台物理服务器上有四个虚拟机,而其中一个虚拟机崩溃了,其他三个虚拟机仍将可用。更有可用性和安全性
  • 封装:虚拟机将整个计算环境封装起来,其实质上是一个软件容器。封装 、使虚拟机具备超乎寻常的可移动性并且易于管理。例如,您可以将虚拟机从一个位置移动和复制到另一位置,就像移动和复制任何其他软件文件一样;也可以将虚拟 机保存在任何标准的数据存储介质上,从袖珍型的 USB 闪存卡到企业存储区域网络 (SAN),皆可用于保存。
  • 独立于硬件:虚拟机独立于底层硬件运行,例如,您可以为虚拟机配置与底层硬件上存在的物理组件完全不同的虚拟组件(例如,CPU、网卡、SCSI 控制器)。同一物理服务器上的各个虚拟机甚至可以运行不同类型的操作系统(Windows、Linux 等)。就是可以随意配置。

所以使用虚拟机可提高可用性、安全性和可管理性

【容器】:
它是一个独立的运行环境,类似于虚拟机,对应用程序及其关联性进行隔离,可高效使用计算机资源,提升能源效率和成本效益。本质上是一组受到资源限制,彼此间相互隔离的进程
【虚拟机vs容器】
此处参考:深入理解容器基础概念
容器和虚拟机之间的主要区别在于虚拟化层的位置操作系统资源的使用方式
在这里插入图片描述
从上图可以看出,容器是没有自己的OS的,直接共享宿主机的内核,也没有hypervisor这一层进行资源隔离和限制。

虚拟机依赖于hypervisor,其通常被安装在“裸金属”系统硬件之上,其在某些方面被认为是一种操作系统。一旦 hypervisor安装完成, 就可以从系统可用计算资源当中分配虚拟机实例了,每台虚拟机都能够获得唯一的操作系统和负载(应用程序)。
简言之,虚拟机先需要虚拟一个物理环境,然后构建一个完整的操作系统,再搭建一层Runtime,然后供应用程序运行。
对于容器,直接将容器层(比如LXC或libcontainer)安装在主机操作系统(通常是Linux变种)之上。

【相比虚拟机和容器】

  • 容器更加轻量级,启动更快(秒级),因为没有hypervisor这一层 ,也没有自己的操作系统(guest os),自然占用资源很小,打出来的镜像文件也比虚拟机小很多。单个操作系统能够承载更多的容器。
  • 容器可移植性更好,但是只能被迁移到具有兼容操作系统内核的其他服务器当中,这样就会给迁移选择带来限制。

1.2 管理大量的容器----k8s

容器编排调度引擎,用来解决容器部署,调度,伸缩等。

  • 简化应用部署
  • 提高硬件资源利用率
  • 健康检查和自修复
  • 自动扩容缩容
  • 服务发现和负载均衡

2 ks8的集群架构

Kubernetes 是用来管理容器集群的平台。既然是管理集群,那么就存在被管理节点,针对每个 Kubernetes 集群都由一个 Master 负责管理和控制集群节点。
我们通过 Master 对每个节点 Node 发送命令。简单来说,Master 就是管理者,Node 就是被管理者
Node 可以是一台机器或者一台虚拟机在 Node 上面可以运行多个 Pod,Pod 是 Kubernetes 管理的最小单位,同时每个 Pod 可以包含多个容器(Docker)。

  • 主节点,承载 k8s 的控制和管理整个集群系统的控制面板
  • 工作节点,运行用户实际的应用
    在这里插入图片描述
    通常我们都是通过 kubectl 对 Kubernetes 下命令(主节点)的,它通过 APIServer 去调用各个进程来完成对 Node 的部署和控制。

3 pod—k8s调度的最小单元

3.1 一个 pod 包含一组容器,一个 pod 不会跨越多个工作节点

在这里插入图片描述

3.2 pod是什么

  • pod相当于逻辑主机,每个pod都有自己的ip地址
  • pod内的容器共享相同的ip和端口空间
  • 默认情况下,每个容器的文件系统与其他容器完全隔离
  • 可以理解为:容器组,同时pod相当于逻辑主机,进入pod后仿佛进入一个linux主机,命令都可用(linux系统下),该“主机”内又有很多容器,进入后又仿佛是又进了一个linux主机。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

k8s与pod概念 的相关文章

  • kubeadm一键搭建kubernetes环境

    kubeadm一键搭建kubernetes环境 安装docker 按官网教程执行https docs docker com v17 09 engine installation linux docker ce centos install
  • K8s基础10——数据卷、PV和PVC、StorageClass动态补给、StatefulSet控制器

    文章目录 一 数据卷类型 1 1 临时数据卷 节点挂载 1 2 节点数据卷 节点挂载 1 3 网络数据卷NFS 1 3 1 效果测试 1 4 持久数据卷 PVC PV 1 4 1 效果测试 1 4 2 测试结论 二 PV PVC生命周期 2
  • k8s job机制初探

    博客作为学习笔记记录 若有理解或表述错误 欢迎指出 k8s的job机制 k8s官网参考 k8s的job是用来执行一次性任务的一类资源 相关的还有cronjob 用于执行以下周期性任务 部署job之后 k8s会起对应pod 当pod的状态为f
  • KVM-7、KVM 虚拟机创建的几种方式

    通过对 qemu kvm libvirt 的学习 总结三种创建虚拟机的方式 1 通过 qemu kvm 创建 2 通过 virt install 创建 3 通过 virt manager 创建 在使用这三种创建虚拟机前提是 宿主机必须支持
  • K8S 工作负载(一)

    K8S 工作负载 1 Pod Pod 是 Kubernetes 中创建 管理和调度的最小计算单元 用户可以在 K8S 中通过调用 Pod API生成一个 Pod 让 K8S 对其进行调度 Pod 是一组 一个或多个 容器 这些容器共享存储
  • underlay和overlay? & 传统网络和数据中心网络 ?

    underlay和overlay 百度 Underlay 和 Overlay 是网络架构中两个常用的概念 用于描述不同层次或视角下的网络结构和通信方式 1 Underlay 底层网络 Underlay 是指基础网络层 即物理网络或基础网络架
  • Liveness、Readiness 和 Startup Probes

    liveness apiVersion v1 kind Pod metadata labels test liveness name liveness exec spec containers name liveness image k8s
  • k8s英伟达GPU插件(nvidia-device-plugin)

    安装方法 Installation Guide NVIDIA Cloud Native Technologies documentation 1 本地节点添加 NVIDIA 驱动程序 要求 NVIDIA drivers 384 81 先确保
  • k8s-3:集群的三种网络

    k8s集群一共有三种网络模型 Node IP Node节点的IP地址 即物理网卡的IP地址 Pod IP Pod的IP地址 即docker容器的IP地址 此为虚拟IP地址 Cluster IP Service的IP地址 此为虚拟IP地址 N
  • 单机版kubernetes

    Kubernetes 集群的搭建是有一定难度的 官方安装推荐了MiniKube作为单机调试 学习 1 centos安装 1 1 先决条件 安装VirtualBox KVM Note Minikube 也支持 vm driver none 选
  • 初学容器:Docker

    1 环境初始化 1 1 安装git vim curl等常用工具 sudo apt update sudo apt install y git vim curl jq 1 2 ubuntu是不支持远程连接的 需要安装ssh服务 sudo ap
  • kubeadm构建(Calico+Dashboard+Containerd)

    文章目录 前言 一 环境 二 部署容器网络 CNI master操作 1 下载yamll 2 修改yaml 3 部署 三 部署 Dashboard 1 下载yaml 2 修改yaml 3 部署 4 创建管理员 四 切换容器引擎为Contai
  • 从Docker到Kubernetes——K8s网络核心原理

    文章目录 Dokcer的网络模型 kubernetes网络核心原理 IP per Pod模型 Kubernetes网络插件flannel Dokcer的网络模型 Dokcer默认使用单主机的网络方案 它默认创建一个名为docker0的网桥
  • kubeadm配置虚拟机k8s集群

    环境 centos7 vm pro windows terminal termius 虚拟机 硬件配置 2核2G 实验用 具体可根据电脑调整 配置3台 master01 node01 node02 通过克隆虚拟机直接复制 配置通一项以后建议
  • k8s 裸机安装 nginx1.19 ingrass

    k8s 裸机安装 nginx1 19 ingrass deploy yaml文件如下 apiVersion v1 kind Namespace metadata name ingress nginx labels app kubernete
  • 十二. Kubernetes Pod 与 探针

    目录 一 Pod Pod 中的多容器协同 Pod 的组成与paush 重要 Pod 的生命周期 Pod状态与重启策略 静态Pod 二 探针 1 livenessProbe存活探针 2 readinessProbe就绪探针 3 startup
  • kubernetes报错Error from server (AlreadyExists): error when creating "kubernetes-dashboard.yaml": serv

    在执行 kubectl apply f kubernetes dashboard yaml 报错 Error from server AlreadyExists error when creating kubernetes dashboar
  • 国内k8s集群部署的几种方式

    前言 总所周知 由于某种原因 通过官方的方式在国内是无法顺利部署k8s集群的 这里记录下在国内部署的几种方式 部署方式 目前我所了解有以下几种方式 使用kubeadmin通过离线镜像的方式 网上教程和镜像包挺多的 通过厂商集成的方式如 ra
  • 基于minikube的k8s单机环境部署ThingsBoard

    1 minikube安装k8s单机版 https blog csdn net qq 39879126 article details 121587678 2 安装ThingsBoard 下载 https github com thingsb
  • k8s部署Prometheus抓取pods的metrics

    1 暴露pods给Prometheus抓取 spec replicas app replicas template metadata annotations prometheus io scrape true prometheus io p

随机推荐

  • 解决RuntimeError: implement_array_function method already has a docstring报错问题

    该问题的报错最后一行显示为 xff1a RuntimeError implement array function method already has a docstring 在其错误上面所提示的信息可得知 xff0c pandas nu
  • 最小二乘圆拟合模型公式推导&MATLAB代码求圆拟合

    理论部分1 xff1a https wenku baidu com view ecda32525beef8c75fbfc77da26925c52dc59156 html 最小二乘圆拟合模型公式推导 理论部分2 xff1a https blo
  • 在windows11安装VMware & ubuntu

    在win11安装虚拟机 xff08 win11 43 VMware16 43 ubuntu18 04 xff09 xff0c 遇到的一些情况进行记录 xff1a 1 安装VMware 下载 VMware Workstation Pro 2
  • MATLAB diag & spdiags函数的使用

    diag amp spdiags函数的使用 xff1a 下面对diag 函数和spdiags函数进行了实例演示 xff0c 特别注意的是spdiags函数 xff1a 1 Bout d 61 spdiags A 矩阵A mn xff0c 当
  • diskpart命令创建GPT磁盘分区

    利用diskpart命令创建GPT磁盘分区图文教程很多朋友都是使用工具软件完成创建GPT磁盘分区 xff0c 实际上你无论你是使用光盘 U盘还是硬盘 NT6 等方式全新安装Win7或者Win8系统 xff0c 都可以利用diskpart命令
  • slf4j使用xml配置日志不能显示的问题

    在我使用slf4j的xml配置方式的时候 一直加载不出xml的配置文件 导致里面的设置不能被读取 控制台一直打印不去日志信息 正在寻找解决办法 报的错误是 log4j WARN Please initialize the log4j sys
  • Steghide使用教程及其密码爆破

    Steghide使用教程及其密码爆破 工具介绍 Steghide是一款开源的隐写术软件 xff0c 它可以让你在一张图片或者音频文件中隐藏你的秘密信息 xff0c 而且你不会注意到图片或音频文件发生了任何的改变 而且 xff0c 你的秘密文
  • Navicat如何连接远程服务器的MySQL

    前言 xff1a 运行环境及工具 Navicat for Mysql 腾讯云轻量级服务器一台 xff08 Centos 7 xff09 Mysql 8 0 24 xff08 远程服务器内安装的 xff09 Xshell7 xff08 连接操
  • 警告!你的隐私正在被上亿网友围观偷看!

    你的隐私正在被上亿万网友围观偷看 xff01 事情要从一款被推荐到烂的软件说起 Everything 这个软件想必很多同学都有听过 xff0c 是一款非常好用的文件搜索软件 xff0c 很多同学把它设置为开机必启动项之一 简单来说 Ever
  • Ubuntu安装JDK教程

    Ubuntu安装JDK教程 jdk的下载和安装 xff1a 1 打开浏览器 xff0c 输入jdk的官网地址 xff1a https www oracle com java technologies javase downloads htm
  • 面试官:如何让主线程等待所有的子线程执行结束之后再执行?我懵了

    使用Thread的join方法 package com qcy testThreadFinish 64 author qcy 64 create 2020 09 09 17 05 23 public class Case1 public s
  • 【亲测可用】 Mac/Linux 安装中文版 man 帮助命令

    Mac Linux 安装中文版 man 帮助命令 其中的需要下载的两个 安装包我上传到 csdn 了 xff0c 网络不好的可以直接 获取 不需要用 wget 下在 xff0c 虽然 wget 是很稳定 xff0c 但是国内的网络 还是太菜
  • 安卓android一种沉浸式状态栏和导航栏并可设置渐变和图片的方法

    安卓android一种沉浸式状态栏和导航栏并可设置渐变和图片的方法 介绍 网络上流传的状态栏导航栏沉浸的方式有很多 xff0c 但是在我使用的时候都失效了 xff0c 在官网也没找到合适的例子达到期望 xff0c 根据情况判断是由于目前版本
  • Python 循环结构

    在python中 xff0c 循环结构有for循环和while循环两种 1 while循环 while循环结构格式 xff1a while 条件表达式 xff1a 条件执行体 当条件表达式判断为真时 xff0c 就执行条件执行体中的内容 如
  • windows terminal + oh-my-posh 2022 [保姆级]配置教程

    windows terminal 43 oh my posh 2022 版配置教程 目录 windows terminal 43 oh my posh 2022 版配置教程 总览 1 下载powershell 2 安装字体 下载并安装字体至
  • DataBinding的基本使用(五)

    DataBinding的基本使用 五 DataBinding基本使用包括以下内容 xff1a 单纯的摆脱findviewbyid 绑定基本数据类型及String 绑定Model数据 绑定事件 通过静态方法转换数据类型 通过运算符操作数据 自
  • idea快捷键大全

    实用快捷键 Ctrl 43 或 Ctrl 43 Shift 43 注释 xff08 或者 xff09 Ctrl 43 D 复制行 Ctrl 43 X 删除行 快速修复 alt 43 enter modify cast 代码提示 alt 43
  • 自定义组件实现v-model

    在项目中需要做一个标题展开框 xff0c 点击展开才会显示下面的内容 因为多个地方都需要这样的可展开标题 xff0c 所以做了一个自定义组件 组件需要一个双向绑定的值 xff0c 控制展开 缩放 于是就思考 xff0c 父向子可以用prop
  • linux下提示bash:command not found

    如果新装的系统 xff0c 运行一些很正常的诸如 xff1a shutdown xff0c fdisk的命令时 xff0c 悍然提示 xff1a bash command not found 那么 首先就要考虑root 的 PATH里是否已
  • k8s与pod概念

    此文章为学习过程中根据网上资源整合总结 文章目录 1 为什么需要k8s1 1 应用部署模式的演进1 11 模式对比1 12 各模块介绍 1 2 管理大量的容器 k8s 2 ks8的集群架构3 pod k8s调度的最小单元3 1 一个 pod