Docker 和 K8s 初识

x33g5p2x  于2021-09-19 转载在 Docker  
字(1.1k)|赞(0)|评价(0)|浏览(525)

LXC:Linux 容器虚拟技术(Linux container)


在容器技术之前,业界的网红是虚拟机。

  • 虚拟机,就是在你的操作系统里面,装一个软件,然后通过这个软件,再模拟一台甚至多台“子电脑”出来。
  • “子电脑”和“子电脑”之间,是相互隔离的,互不影响。
  • 虚拟机属于虚拟化技术。

Docker 这样的容器技术,也是虚拟化技术,属于轻量级的虚拟化。

虚拟机虽然可以隔离出很多“子电脑”,但占用空间更大,启动更慢。

容器技术恰好没有这些缺点。它不需要虚拟出整个操作系统,只需要虚拟一个小规模的环境(类似“沙箱”)。

启动时间很快,几秒钟就能完成。而且,它对资源的利用率很高(一台主机可以同时运行几千个 Docker 容器)。

此外,它占的空间很小,虚拟机一般要几GB到几十GB的空间,而容器只需要MB级甚至KB级。

请添加图片描述


1. Docker

Docker 本身并不是容器,而是创建容器的工具,是应用容器的引擎;
*
两句口号,搞懂 Docker:
Build, Ship and Run (搭建、发送、运行)
Build once, Run anywhere(搭建一次,到处都能用)
*
Docker 技术的三大核心概念:

  • 镜像(Image);
  • 容器(Container);
  • 仓库(Repository);

镜像:是一个特殊的文件系统:

  • 它提供容器运行时所需的程序、库、资源、配置文件等;
  • 不包含任何动态数据,其内容在构建之后也不会改变;
  • 负责对 Docker 镜像进行管理的,是 Docker Registry 服务(类似仓库管理员);

2. k8s

k8s 是为了对 Docker 及容器进行更高级更灵活管理的一套管理系统。
*
k8s:基于容器的集群管理平台,Kubernetes(希腊语,舵手或领航员);
*
一个 K8S 系统,通常称为一个 K8S 集群(Cluster);

  • 一个 Master 节点(主节点):负责管理和控制;
  • 一群 Node 节点(计算节点):工作负载节点,里面的具体内容是容器。

请添加图片描述

Master 节点:

  • API Server 是整个系统的对外接口,供客户端和其它组件调用,相当于“营业厅”。
  • Scheduler 负责对集群内部的资源进行调度,相当于“调度室”。
  • Controller manager 负责管理控制器,相当于“大总管”。

请添加图片描述

Node 节点:

  • Pod 是 Kubernetes 最基本的操作单元。 一个 Pod 代表着集群中运行的一个进程,它内部封装了一个或多个紧密相关的容器。
  • 除了 Pod 之外,K8S 还有一个 Service 的概念,一个 Service 可以看作一组提供相同服务的 Pod 的对外访问接口。
  • Docker 创建容器的; Kubelet,主要负责监视指派到它所在 Node 上的 Pod,包括创建、修改、监控、删除等。
  • Kube-proxy,主要负责为 Pod 对象提供代理。 Fluentd,主要负责日志收集、存储与查询。

请添加图片描述

相关文章