docker 与 k8s

Docker本身并不是容器,它是创建容器的工具,是应用容器引擎。

“Build, Ship and Run”    “搭建、发送、运行”

 

“Build once,Run anywhere(搭建一次,到处能用)”

 

Docker技术的三大核心概念,分别是:

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

 

负责对Docker镜像进行管理的,是Docker Registry服务(类似仓库管理员)。

 

Docker应用于具体的业务实现,是存在困难的——编排、管理和调度等各个方面,都不容易。于是,人们迫切需要一套管理系统,对Docker及容器进行更高级更灵活的管理。

 

K8S,就是基于容器的集群管理平台,它的全称,是kubernetes。

 

一个K8S系统,通常称为一个K8S集群(Cluster)。

这个集群主要包括两个部分:

  • 一个Master节点(主节点)
  • 一群Node节点(计算节点)

 Master节点主要还是负责管理和控制。Node节点是工作负载节点,里面是具体的容器。

Master节点包括API Server、Scheduler、Controller manager、etcd。

API Server是整个系统的对外接口,供客户端和其它组件调用。

Scheduler负责对集群内部的资源进行调度。

Controller manager负责管理控制器。

Node节点包括Docker、kubelet、kube-proxy、Fluentd、kube-dns(可选),还有就是Pod。

Pod是Kubernetes最基本的操作单元。一个Pod代表着集群中运行的一个进程,它内部封装了一个或多个紧密相关的容器。除了Pod之外,K8S还有一个Service的概念,一个Service可以看作一组提供相同服务的Pod的对外访问接口。

Docker,不用说了,创建容器的。

Kubelet,主要负责监视指派到它所在Node上的Pod,包括创建、修改、监控、删除等。

Kube-proxy,主要负责为Pod对象提供代理。

Fluentd,主要负责日志收集、存储与查询。

 

 

 

 

posted @ 2022-07-29 15:40  wangssd  阅读(355)  评论(0编辑  收藏  举报