文章目录

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,主要负责日志收集、存储与查询。
      请添加图片描述
Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐