docker的核心组件包括哪些
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了docker的核心组件包括哪些相关的知识,希望对你有一定的参考价值。
参考技术A 镜像(Image),容器(Container),仓库(Repository)是我们常说的Docker的三大组件 参考技术B 【1】镜像docker镜像(image)是一个只读的模板,它可以用于创建docker容器,一个镜像可以创建很多容器,docker提供了一个非常简单的机制来创建镜像或更新现有的镜像,用户甚至可以直接从其他人那里下载一个已经做好的镜像来直接使用。
【2】容器
docker利用容器(Container)独立运行一个或一组应用,容器是从镜像创建的运行实例,它可以被启动、开始、停止、删除,每个容器都是相互隔离的、保证安全的平台。可以把容器看作是一个简易版的Linux环境(包括root用户权限、进程空间、用户空间和网络空间等),和运行在其中的应用程序。容器的定义和镜像几乎一模一样,也是一堆层的统一视角,唯一区别在于容器的最上面那一层是可读可写的。
【3】仓库
docker仓库(Repository)是集中存放镜像文件的场所,有时会把仓库和仓库注册服务器(Registry)混为一谈,并不严格区分,实际上,仓库注册服务器往往存放多个仓库,每个仓库中又包含了多个镜像,每个镜像有不同的标签。
仓库也分为公共仓库(public)和私有(private)仓库,最大的公共仓库是docker hub,存放了数量庞大的镜像供用户下载,国内的包括时速云、网易云等,可以提供用户更稳定、快速的访问,用户也可以在本地网络内创建一个私有仓库。
#yyds干货盘点#k8s中的核心组件
1. k8s包含哪些组件?
主控制节点(master node):
-
apiserver: 用于接收客户端操作k8s的指令
-
schduler: 从多个woker节点组件中选举一个来启动服务
- controller manger: 向worker节点的kubelet组件发送指令
工作节点(worker node):
-
kubenet:负责向docker发送指令管理docker容器
- kube-proxy:调度docker容器的网络
CLI客户端:
- kubectl:kubectl是一个用于操作kubernetes集群的命令行接口,通过利用kubectl的各种命令可以实现各种功能
核心附件:
- CNI网络插件:flannel/calico
- 服务发现插件:coredns
- 服务暴露插件:traefik
- GUI管理插件:Dashboard
2. 工作节点组件的相关功能
kubelet
-
kubelet 的主要功能就是定时从某个地方获取节点上Pod的期望状态(运行的容器、运行的副本数、网络配置、存储配置等),并调用对应的容器平台接口达到这个壮态。
-
定时汇报当前节点的状态给
apiserver
,以供调度的时候使用 - 负责镜像和容器的清理工作,保证节点上的镜像不会占满磁盘空间,退出的容器不会占用太多资源
kube-proxy
-
k8s在每个节点上运行网络代理,service资源的载体
-
建立了Pod网络和集群网络的关系(clusterip -> podip)
-
常用的三种流量调度模式:Userspace(已废弃)、Iptables(濒临飞起)、Ipvs(推荐)
- 负责建立和删除包括更新调度规则、通知apiserver自己的更新,或者从apiserver那里获取其他kube-proxy的调度规则变化来更新自己的规则
以上是关于docker的核心组件包括哪些的主要内容,如果未能解决你的问题,请参考以下文章