容器基本概念 ; kubernetes核心概念

2023-05-16

1.容器基本概念

  • 1.容器与镜像

     什么是容器
     	1.容器是一个视图隔离,资源可限制,独立文件系统的进程集合。
     		视图隔离:如能看见部分进程,独立主机名等
     		控制资源使用率:如2G内存大小;CPU使用个数等;
     	2.给进程提供相对独立的环境。
     		chroot:Linux提供独立的文件系
     		cgroup:控制资源使用率
     		namespace:资源视图隔离
     
     什么是镜像
     	1.容器集合:运行容器所需要的所有文件集合。
     	2.dockerfile:描述容器镜像的构建步骤
     	3.changeset:构建步骤所产生文件系统的变化
     		类似disk snapshot
     		提高分发效率,减少磁盘压力
     	4.如何构建镜像
     		构建dockerfile文件				
     	5.如何运行镜像
     		1.从docker registry 下载镜像 -docker pull busybox:1.25
     		2.查看本地镜像-docker images
     		3.选择相应的镜像并运行-docker run [-d] --name demo busybox:1.25 top
    

在这里插入图片描述

  • 2.容器生命周期

     容器运行的生命周期
     	单进程模型
     		1.init进程生命周期=容器生命周期
     		2.运行期间即可运行exec执行运维操作
     	数据持久化
     		1.独立于容器的晟敏周期
     		2.数据卷-docker volume vs bind
    
  • 3.容器项目的架构

     moby容器引擎架构
     	1.containerd
     		1.容器运行时管理引擎,独立于moby daemon
     		2.containerd-shim 管理容器生命周期,可被containerd动态接管
     	2.容器运行时
     		1.容器虚拟化技术方案
     		2.run C kata gVisor
    

    在这里插入图片描述

  • 4.容器vs VM

     vm 
     	1.模拟硬件资源,资源Guest OS
     	2.应用拥有Guest OS 所有资源
     	3.更好地隔离效果 -Hypervisor 需要消耗更多地资源
     container
     	1.无Guest OS,进程级别地隔离,这点没VM好
     	2.启动时间快
     	3.隔离消耗资源少-隔离效果强于VM
    

    在这里插入图片描述
    在这里插入图片描述

2.kubernetes核心概念

  1. 什么是kubernetes

    1.自动化的容器编排平台
    	部署
    	弹性
    	管理
    2.核心功能
    	服务发现与负载均衡
    	容器自动装箱
    	存储编排
    	自动容器恢复
    	自动发布与回滚
    	配置与密文管理
    	批量执行
    	水平伸缩
    	例子:k8s-调度,k8s自动恢复
    
  2. kubernetes的概念

    架构
    

在这里插入图片描述

	1.master
		api server:
			处理api操作,k8s中所有组件都会和api server连接,组件与组件都依赖api server来连接
			可以s水平部署的组件
		controller:
			控制器,对集群状态的管理,比如自动的对容器进新水平的修复,自动的对容器进行扩张
			可以热备
		Scheduler:
			调度器,完成调度的操作,比如把一个用户提交的container,依据他对cpu menmory请求大小,找一台合适的节点进行放置
			可以热备
		etcd:
			分布式存储系统,api server中所需要的源信息都存在etcd中,etcd是一个高可用系统,可以保证k8s中master组件的高可用性

在这里插入图片描述

	2.node
		node是真正运行业务负载的地方,每个业务负载会以pod的形式运行,一个pod中运行着一个或多个容器,真正运行pod的组件是kubelet,通过api server接收到pod所需要的运行状态,再提交到container runtime组件中,再在os上创建容器所需要的运行的环境让容器运行起来。运行容器或者pod也需要对存错或网络进行管理,k8s并不会直接进行网络存储的操作,而是交给storage plugin,network plugin操作。用户自己或者云厂商会自己写相应的storage plugin,network plugin来完成存储操作或网络操作。k8s环境中也有自己的network
		pod:一个pod中运行着一个或多个容器
		kubelet
		container runtime
		storage plugin
		network plugin
		kube-proxy:真正完成组网的,利用iptables能力来组网
		
		node中各个组件的联系:
			用户通过ui或者cli提交pod给k8s部署
			-->请求提交给api server 
			-->aip server 写给存储系统etcd 
			-->scheduler会通过api server的watch得到信息有一个pod需要调度
			-->scheduler会根据他的内存状态进行一次调度决策
			-->完成调度后scheduler会告诉api server 这个pod需要被调度到某一个节点上
			-->api server会把这个结果写道etcd中
			-->api server通过watch进行通知,相应节点的kubelet调取container runtime来配置

在这里插入图片描述
在这里插入图片描述
3. kubernetes的核心概念与API

	核心概念
		pod
			最小的调度以及资源单元
			由一个或多个容器组成
			定义容器的运行方式(Command,环境变量等)
			提供给容器共享的运行环境(网络,进程空间)

在这里插入图片描述

		volume
			声明在pod中的容器可访问的文件目录
			可以被挂载在pod中一个(或者多个)容器的指定路径下
			支持多种后端存储的抽象
				本地存储
				分布式存储
				云存储

在这里插入图片描述

		deployment
			定义一组pod的副本数目,版本等(一般用deployment的抽象来做真正的应用的管理)
				pod是组成deployment的最小单元
			通过控制器(controller)维持pod的数目
				自动恢复失败的pod
			通过控制器以指定的策略控制版本
				滚动升级
				重新生成
				回滚等

在这里插入图片描述

		service
			提供访问一个或多个pod实例的稳定访问地址(负载均衡)
			支持多种访问方式的实现
				ClusterIP
				NodePort
				LoadBalancer

在这里插入图片描述

		namespaces
			一个集群内部的逻辑隔离机制(鉴权,资源额度)
			每个资源(pod,deployment,service)都属于一个namespace
			同一个namespace中的资源命名唯一
			不同namespace中的资源可重名

O

	api-基础知识

在这里插入图片描述
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

容器基本概念 ; kubernetes核心概念 的相关文章

  • 我为什么选择Linux mint 21.1 “Vera“ ? Mint安装优化调教指南(分辨率DPI、主题美化)

    前言 xff1a 为什么是Mint 笔者算是Linux老用户了 xff0c 作为一个后端开发 xff0c 尝试了多种不同发行版 一开始是Manjaro这种Arch系 xff0c 但是其对于开发而言实在是太过不稳定 xff1b 每次滚动更新都
  • 常用主题建模方法简单对比LSA&PLSA&LDA&HDP

    几种常用的主题建模方法 潜在语义分析 LSA I 概率潜在语义分析 PLSA 潜在狄利克雷分布 LDA 层次狄利克雷过程 HDP LSA I存在的主要问题 SVD计算非常耗时 xff0c 尤其文本处理 xff0c 词和文本数都是非常大的 x
  • banner2.1新版的使用,图片加载方法

    新版banner没有了设置图片和加载图片的方法 xff0c 弄了好几天才发现要设置适配器才可以使用 使用banner setaAapter方法设置适配器 xff0c 里面创建一个匿名内部类 xff0c 然后继承BannerImageAdap
  • yum解决依赖问题巧用

    1 使用yum查找软件需要用到的依赖包 xff0c 需要使用的命令是 xff1a yum deplist 34 要查找的软件 34 例如要查找 安装 redis 需要 的依赖软件有哪些 xff1a yum deplist redis 2 假
  • ubuntu linux 下载的deb包存放位置

    var cache apt archives
  • VMware快捷启动虚拟机+开机自启动

    场景 需要快速启动vm中的虚拟机服务 实现 编写bat文件 xff08 新建txt文件写完改成 bat文件即可 xff09 span class token string 34 D Dev tools VMware span class t
  • Zookeeper思维导图

  • cnpminstall报错:Connecttimeoutfor5000ms踩坑

    问题 xff1a 安装Head插件 xff0c 执行cnpm install 报错 xff0c 报错如下 xff1a Get binary mirror config latest from https registry npm taoba
  • 解决执行grunt命令报错【Cannot find module 'coffeescript/register'】

    在使用grunt的插件执行grunt命令时报错 xff1a 如图 xff1a 报错信息 xff1a Cannot find module 39 coffeescript register 39 解决办法 xff1a 1 xff1a 删除项目
  • Linux命令(1)

    1 判断一个命令的类型 type xff1a 格式 xff1a type xff08 一个空格 xff09 命令 作用 xff1a 判断该类型是内部还是外部命令 还可以显示该命令文件路径 2 查看一个文件的类型 file 格式 xff1a
  • 关于单链表的理解

    链表是一种物理 存储单元上非连续 非顺序的 存储结构 xff0c 数据元素的逻辑顺序是通过链表中的 指针链接次序实现的 链表由一系列结点 xff08 链表中每一个元素称为结点 xff09 组成 xff0c 结点可以在运行时动态生成 每个结点
  • selinux is active unexpected inconsistency RUN fsck MANUALLY

    启动centos6 5时报错 xff0c 错误主要是 xff1a selinux is active unexpected inconsistency RUN fsck MANUALLY 原因是因为意外关机如断电 xff0c 或者虚拟机中强
  • Linux永久修改主机名

    hostnamectl set hostname xxx
  • 去除重复字母(Java实现)

    题目 去除重复字母 给你一个字符串 s xff0c 请你去除字符串中重复的字母 xff0c 使得每个字母只出现一次 需保证 返回结果的字典序最小 xff08 要求不能打乱其他字符的相对位置 xff09 示例1 输入 xff1a s 61 b
  • JDK介绍(笔记学习)

    JDK介绍 1 JRE和JDK xff08 记忆 xff09 JDK 称为Java开发工具 xff0c 包含了JRE和开发工具 JRE Java运行环境 xff0c 包含了JVM和Java的核心类库 xff08 Java API xff09
  • Collections类(笔记)

    1 Collections的常用功能 重点 import java util Collections java util Collections是集合工具类 xff0c 用来对集合进行操作 常用方法如下 xff1a public stati
  • 计算机网络原理学习笔记第一篇

    计算机网络的出现 世界上第一台电子计算机问世于1946年 xff0c 由于当时造价昂贵 体积极大等原因 xff0c 因此计算机的数量极少 计算机系统是高度集中的 xff0c 它的所有设备都安装在单独的机房中 xff0c 为了提高计算机的利用
  • mac下Tomcat启动成功后浏览器输入localhost:8080拒绝连接的解决办法

    今天根据大佬们的安装教程将Tomcat安装并成功启动 xff0c 而在浏览器中输入localhost xff1a 8080后却出现了 localhost拒绝了我们的连接请求 的字样 xff0c 网上的解决方案五花八门 xff0c 水平也是参
  • Linux中的软件管理

    Linux中的软件管理 yum源头 定义 xff1a yum源是一个软件集合地 xff0c 只需要搜索并安装你想要的软件 yum的全称是Yellowdog Updater Modified xff0c 是一个shell前端软件包管理器 xf
  • Spring拦截器HandlerInterceptor和HandlerInterceptorAdapter

    参考 https blog csdn net zhibo lv article details 81699360 https www cnblogs com jing99 p 11147152 html HandlerInterceptor

随机推荐

  • Java多线程超详解

    引言 随着计算机的配置越来越高 xff0c 我们需要将进程进一步优化 xff0c 细分为线程 xff0c 充分提高图形化界面的多线程的开发 这就要求对线程的掌握很彻底 那么话不多说 xff0c 今天本帅将记录自己线程的学习 程序 xff0c
  • 如何在Ubuntu 20.04上使用UFW设置防火墙

    介绍 Introduction UFW or Uncomplicated Firewall is a simplified firewall management interface that hides the complexity of
  • 人工智能主要分支

    人工智能主要分支 1 主要分支介绍 通讯 感知与行动是现代人工智能的三个关键能力 xff0c 在这里我们将根据这些能力 应用对这三个技术领域进行介绍 xff1a 计算机视觉 CV 人脸识别 自然语言处理 NLP 语音识别 语义识别 在 NL
  • 解决文件上传过大报错The field file exceeds its maximum permitted size of 1048576 bytes.问题

    报错内容如下 只需要在相应的yml配置文件spring下增加相关配置即可
  • 我有一个IT梦

    介绍 作为一名大二的学生 xff0c 接触计算机基础技术近乎俩年 xff0c 俩年来我愈加发觉计算机是一门发展力很强的学科 它多式多样 xff0c 更像是一种挑战 xff0c 对于好强的我来说 xff0c 越来越着迷计算机的世界 纵然未知的
  • Nginx安装教程

    前言 xff1a 同步文章图片有问题想看带有图片版的请移步 xff1a https www yuque com docs share 3fbd7d5a 639c 4ca8 8500 00071b7cb23d BvpWF 本篇文章涉及ngin
  • Kali-Linux-2020.1 设置中文,汉化。

    Kali Linux 2020 1 设置中文 xff0c 汉化 Kali Linux团队在Twitter上宣布 xff1a 新的一年是进行重大改变的好时机 xff0c 因此 xff0c 我们宣布在 即将发布的2020 1版本中 xff0c
  • PowerShell压缩和解压ZIP文件

    压缩 Compress Archive Path D File DestinationPath E File zip 解压 Expand Archive Path E File zip DestinationPath D File
  • python实现基本算法之归并排序(Merge sort)

    基本算法之归并排序 Merge sort 基本算法 04 归并排序 Merge sort 算法 往期请看选择排序 xff0c 插入排序 xff0c 归并排序 xff0c 快速排序等等都发布的 xff01 欢迎大家批评指正 xff01 文章目
  • mysql 异步复制VS半同步复制

    MySQL数据复制原理 异步复制 xff1a 默认情况下 xff0c MySQL的复制是异步复制 xff0c 主服务器及其从服务器是独立的 异步复制可以提供最佳的性能 xff0c 主服务器将更新的数据写入二进制日志 xff08 Binlog
  • mysql读写分离

    读写分离 master xff1a 192 span class token punctuation span 168 span class token punctuation span 2 span class token punctua
  • 在linux中关闭防火墙

    在linux中关闭防火墙 selinux xff08 secure linux 安全的linux xff09 selinux 是linux下的安全措施机制 xff0c 用来保护linux系统的安全 相当于另外一个安全工具 span clas
  • Google Payments?

    The news broke late last week by way of the Wall Street Journal with rumors of a payments service akin to PayPal forthco
  • 数据库中某个表中的某个字段的值是用逗号隔开的多个值,根据逗号拆分并从另一个表中查出数据返回

    两个表的结构如下 a表 b 表 关系说明 b teacherid 61 a user id 查询思路 xff1a FIND IN SET str strlist xff0c 该函数用于判断 str 是否在 strlist 中 xff0c 如
  • 一个玩游戏的失足青年,转行做游戏开发到教育的挣扎过程

    14年的IT从业经历 xff0c 中专毕业后在小镇上开过网吧 在网吧一年多的时间里 xff0c 天天陪人玩游戏 xff0c 后来去读了一个三流计算机专业 xff0c 毕业后转做软件开发 xff0c 最近五年转入游戏开发行业 xff01 从网
  • minikube的部署和安装,排错

    minikube的部署和安装 安装minikube的步骤 环境准备 xff1a 虚拟机至少2个cpu核心 xff0c 2G内存 xff0c 磁盘20G 推荐使用2个cpu核心 xff0c 4G的内存 xff0c 100G的磁盘空间 前期 x
  • lvm逻辑卷

    lvm示例应用 案例描述 xff1a 增加四块scsi硬盘 xff0c 每块100G xff0c 并构建lvm逻辑卷 xff0c 挂载到相应目录下 传统的分区方式 常用命令 临时添加IP地址 xff1a ip add add 192 168
  • VMware虚拟机开机显示you are in emergency mode 解决办法

    问题描述 xff1a 虚拟机开机出错 xff1a you are in emergency mode 出错原因 xff1a 前不久学习lvm逻辑卷时 xff0c 添加磁盘后 xff0c 修改了 etc fstab文件实现开机自动挂载 因为弄
  • k8s学习笔记-暴露服务--暴露服务踩坑排错

    deployment 部署和调度的工具 xff08 组件 xff09 span class token namespace root 64 k8s2 docker span span class token comment kubectl
  • 容器基本概念 ; kubernetes核心概念

    1 容器基本概念 1 容器与镜像 什么是容器 1 容器是一个视图隔离 xff0c 资源可限制 xff0c 独立文件系统的进程集合 视图隔离 xff1a 如能看见部分进程 xff0c 独立主机名等 控制资源使用率 xff1a 如2G内存大小