【K8S】docker和K8S(kubernetes)理解?docker是什么?K8S架构、Master节点 Node节点 K8S架构图

这篇具有很好参考价值的文章主要介绍了【K8S】docker和K8S(kubernetes)理解?docker是什么?K8S架构、Master节点 Node节点 K8S架构图。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、docker的问世

        在LXC(Linux container)Linux容器虚拟技术出现之前,业界网红是虚拟机。虚拟机技术的代表,是VMWare和OpenStack。

虚拟机是什么?

        虚拟机其实就是 在你的操作系统里面,装一个软件,然后通过这个软件,再模拟一台甚至多台“子电脑”出来。
【K8S】docker和K8S(kubernetes)理解?docker是什么?K8S架构、Master节点 Node节点 K8S架构图,Cloud云原生,kubernetes,docker,架构,云原生

        在子电脑里,我们可以安装各种系统,比如windows、linux等,让你拥有多台电脑,而在这些子电脑里,可以和使用正常电脑一样,下载qq、微信等,甚至可以同时登录多个qq,这些都是可以的,因为子电脑与子电脑之间都是相互隔离的!

Docker的问世?
  • 2010年,美国旧金山几个年轻人成立“dotCloud”公司,主要提供基于PaaS的云计算技术服务,其实就是在研究LXC技术。
  • dotCloud公司将自己的容器技术进行了简化和标准化,并命名为——Docker。
  • Docker技术诞生之后,由于小型公司无人关注,经营步履维艰,于是决定开源!(开源,就是开放源代码。也就是将原来内部保密的程序源代码开放给所有人,然后让大家一起参与进来,贡献代码和意见。)
    2013年3月,dotCloud公司的创始人之一,Docker之父,28岁的Solomon Hykes正式决定,将Docker项目开源。
  • 众多IT工程师关注到Docker,加入社区,Docker人气爆火!
  • 开源当月,Docker 0.1 版本发布。此后的每一个月,Docker都会发布一个版本。到2014年6月9日,Docker 1.0 版本正式发布。
  • Docker已经成为行业里人气最火爆的开源技术!dotCloud公司名字也改成了Docker Inc. 。
docker优点及理解

docker爆火的原因——轻!
        虚拟机属于虚拟化技术。而Docker这样的容器技术,也是虚拟化技术,属于轻量级的虚拟化。
        虚拟机虽然可以隔离出很多“子电脑”,但占用空间更大,启动更慢,虚拟机软件可能还要收费(例如VMWare)。而容器技术正好没有这些缺点。它不需要虚拟出整个操作系统,只需要虚拟一个小规模的环境(类似“沙箱”)。
        Docker启动时间很快,几秒钟就能完成。而且,它对资源的利用率很高(一台主机可以同时运行几千个Docker容器)。此外,它占的空间很小,虚拟机一般要几GB到几十GB的空间,而容器只需要MB级甚至KB级。

特性 虚拟机 容器
隔离级别 操作系统级 进程级
隔离策略 Hypervisor CGroups
系统资源 5-15% 0-5%
启动时间 分钟级 秒级
镜像存储 GB-TB KB-MB
集群规模 上百 上万
高可用策略 备份、容灾、迁移 弹性、负载、动态

docker特性:
它推出两句口号:
1.“Build、Ship and Run”(构建、运输(发送)、运行)
2.“Build Once, Run anywhere”(一次构建,多处运行)

        首先,分析第一句:“Build、Ship and Run”(构建、运输(发送)、运行)
        这个就跟某个游戏一样,我们设计搭建好一个“房子”,在里面住了一段时间,然后又开辟了一个新土地,这时在这个新土地上又需要搭建一个房子去居住,然后又找木头、搬石头搭建新房子。
        突然,有一天你开通了一个新功能,就是你有个万能背包,你可以复制任何东西存到背包里,用的时候拿出来就行。于是,我们将盖好的房子复制一份,制作成“镜像”,存放在背包(docker hub),去到新的土地,拿出”镜像“房子,摆在那边,拎包入住。
        再看第二句:“Build Once, Run anywhere”(一次构建,多处运行)
Docker技术的三大核心概念,分别是:
○ 镜像(Image)
○ 容器(Container)
○ 仓库(Repository)

        在上面的例子中,那个放在包里的“镜像”,就是Docker镜像。而我的背包,就是Docker仓库。我在新土地上,摆放的房子,就是一个Docker容器。
        另外,这个Docker镜像,是一个特殊的文件系统。它除了提供容器运行时所需的程序、库、资源、配置等文件外,还包含了一些为运行时准备的一些配置参数(例如环境变量)。镜像不包含任何动态数据,其内容在构建之后也不会被改变。
        也就是,房子里你居住的日常用品,不会被复制在镜像里,只是房子是一模一样的!
        一个房子可以一个镜像,那么我们也可以制作更多的镜像,比如将 冰箱、汽车都做成镜像!这时候,你的是宝马汽车,他的是奥迪汽车,另一个人又做了华为汽车,要是能拿到他们的镜像,那么我岂不是拥有了各种汽车,于是,出现了一个大的公共仓库。就是docker hub,每个人将镜像都保存在hub里,大家可以相互使用!
        负责对仓库里的Docker镜像进行管理的,是Docker Registry服务(类似仓库管理员)。
        Docker Registry服务对镜像的管理是非常严格的。最常使用的Registry公开服务,是官方的Docker Hub,这也是默认的 Registry,并拥有大量的高质量的官方镜像。

        由于容器技术日渐火爆,将Docker应用于具体的业务实现,同时管理特别多的容器是存在困难的——编排、管理和调度等各个方面,都不容易。于是,人们迫切需要一套管理系统,对Docker及容器进行更高级更灵活的管理——就是k8s。

二、Kubernetes-K8S

K8S是什么?

        K8S,就是基于容器的集群管理平台,它的全称,是kubernetes。
        Kubernetes 这个单词来自于希腊语,含义是舵手或领航员。K8S是它的缩写,用“8”字替代了“ubernete”这8个字符。
K8S的创造者——行业巨头Google。
        K8S的前身,是Google自己研究了十多年的Borg系统。
        K8S是        2014年6月由Google公司正式公布出来并宣布开源的。
        2015年7月,Google正式加入OpenStack基金会。与此同时,Kuberentes v1.0正式发布。

简单了解K8S架构

一个K8S系统,通常称为一个K8S集群(Cluster)。
这个集群主要包括两个部分:
○ 一个Master节点(主节点)
○ 一群Node节点(计算节点)

【K8S】docker和K8S(kubernetes)理解?docker是什么?K8S架构、Master节点 Node节点 K8S架构图,Cloud云原生,kubernetes,docker,架构,云原生

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

【K8S】docker和K8S(kubernetes)理解?docker是什么?K8S架构、Master节点 Node节点 K8S架构图,Cloud云原生,kubernetes,docker,架构,云原生

Master节点

【K8S】docker和K8S(kubernetes)理解?docker是什么?K8S架构、Master节点 Node节点 K8S架构图,Cloud云原生,kubernetes,docker,架构,云原生
【K8S】docker和K8S(kubernetes)理解?docker是什么?K8S架构、Master节点 Node节点 K8S架构图,Cloud云原生,kubernetes,docker,架构,云原生

Master节点包括API Server、Scheduler、Controller manager、etcd。
         ● API Server是整个系统的对外接口,供客户端和其它组件调用,相当于“营业厅”。
         ● Scheduler负责对集群内部的资源进行调度,相当于“调度室”。
        ● Controller manager负责管理控制器,相当于“大总管”。
        ● etcd是核心存储数据库,存储所有数据和事件,相当于"仓库"。

Node节点

【K8S】docker和K8S(kubernetes)理解?docker是什么?K8S架构、Master节点 Node节点 K8S架构图,Cloud云原生,kubernetes,docker,架构,云原生

Node节点包括Pod、Docker、kubelet、kube-proxy、Fluentd、kube-dns(可选)。

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

K8S架构图

【K8S】docker和K8S(kubernetes)理解?docker是什么?K8S架构、Master节点 Node节点 K8S架构图,Cloud云原生,kubernetes,docker,架构,云原生
【K8S】docker和K8S(kubernetes)理解?docker是什么?K8S架构、Master节点 Node节点 K8S架构图,Cloud云原生,kubernetes,docker,架构,云原生文章来源地址https://www.toymoban.com/news/detail-843536.html

到了这里,关于【K8S】docker和K8S(kubernetes)理解?docker是什么?K8S架构、Master节点 Node节点 K8S架构图的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

原文地址:https://blog.csdn.net/weixin_43431218/article/details/136804129

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 云原生Kubernetes:二进制部署K8S单Master架构(一)

    目录 一、理论 1.K8S单Master架构 2.  etcd 集群 3.CNI 4.Flannel网络 5.K8S单Master架构环境部署 6.部署 etcd 集群 7.部署 docker 引擎 8.flannel网络配置 二、实验 1.二进制部署K8S单Master架构 2. 环境部署 3.部署 etcd 集群 4.部署 docker 引擎 5.flannel网络配置 三、问题 1.etcd 报错 2.安装etcd问题 3.系

    2024年02月10日
    浏览(8)
  • 4、Kubernetes 架构、理解 k8s 架构

    kubeadm 用于初始化 Cluster。 kubectl 是 Kubernetes 命令行工具。通过 kubectl 可以部署和管理应用,查看各种资源,创建、删除和更新各种组件。 kubelet 运行在 Cluster 所有节点上,负责启动 Pod 和容器。 Kubernetes Cluster 由 Master 和 Node 组成,节点上运行着若干 Kubernetes 服务。 通过 kub

    2024年02月16日
    浏览(12)
  • 云原生Kubernetes: Kubeadm部署K8S 1.29版本 单Master架构

    目录 一、实验 1.环境 2.K8S master节点环境准备 3.K8S master节点安装kubelet、kubeadm、kubectl 3.K8S node节点环境准备与软件安装 4.K8S master节点部署服务 5.K8S node节点部署 6.K8S master节点查看集群 7.容器网络(CNI)部署 8.K8S 集群测试 二、问题 1.calico生成资源报错 2.为何要安装docker和ci-d

    2024年02月01日
    浏览(15)
  • 在kubernetes(k8s)集群内查看master节点api-server地址信息及服务证书key

    在k8s集群内查找master节点方式:  获取集群信息如下: k8s master的api-server信息 在ROLES中带有master节点的服务器内查找apiserver地址信息   查看k8s服务证书key  

    2024年02月12日
    浏览(11)
  • 云原生Kubernetes: Ubuntu 安装 K8S 1.23版本(单Master架构) 及故障恢复

    目录 一、实验 1.环境 2.安装 Ubuntu 3.连接Ubuntu 4.master节点安装docker 5.node节点安装docker 6.master节点安装K8S 7.添加K8S工作节点 8.安装网络插件calico 9.故障 10.故障恢复 11.测试k8s网络和coredns 二、问题 1.Ubuntu如何修改镜像源 2.Ubuntu和Windows之间如何实现复制粘贴 3.Ubuntu如何开启openssh

    2024年02月21日
    浏览(10)
  • k8s集群删除master节点

    1.在另外的master节点执行以下命令 kubectl get node      #查看需要删除的节点名称 kubectl delete node k8s-master01  #删除名为k8s-master01的节点 2.在k8s-master01清空集群配置信息 kubeadm reset  --cri-socket=unix:///var/run/cri-dockerd.sock  #因为我使用的是1.26.0版本的k8s所以需要指定cri rm -rf /var/lib/

    2024年02月13日
    浏览(11)
  • k8s添加node节点和master节点

    版本: kubelet:v1.20.4 docker: 20.10.23 资源: cpu:8 mem:16 kernel:3.10.0-1160.71.1.el7.x86_64 镜像仓库地址: registry.cn-hangzhou.aliyuncs.com/google_containers/ 2.1)关闭防火墙 2.2)关闭selinux 3)修改内核和加载所需要的内核 2.3)准备yum源 3.1)刷新缓存安装kubeadm、kubectl、kubelet、docker-ce 3.2)设置syste

    2023年04月16日
    浏览(6)
  • k8s单节点部署(仅master)

    1.脚本部署 默认token有效期为24小时,当过期之后,该token就不可用了。这时就需要重新创建token,可以直接使用命令快捷生成: 2.部署dashboard Dashboard是官方提供的一个UI,可用于基本管理K8s资源。 1、YAML下载地址: https://raw.githubusercontent.com/kubernetes/dashboard/v2.4.0/aio/deploy/recom

    2024年02月07日
    浏览(12)
  • kubernetes(k8s)大白学习02:容器和docker基础、使用、架构学习

    简单说:容器(container)就是计算机上的一个沙盒进程,它与计算机上的所有其它进程相隔离。 这种隔离是怎么做到的呢?它利用了内核提供的 namespace 和 cgroup 这 2 种技术。这些技术能力在 Linux 中已经存在了很长时间。而 Docker 或容器技术致力于将这些功能更易于使用和更

    2024年02月07日
    浏览(9)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包