Kubernetes 迅速成为云环境中软件部署和管理的新标准。

与强大的功能相对应的是陡峭的学习曲线。

本文将提供 Kubernetes 的简化视图,从高处观察其中的重要组件,以及他们的关联。

硬件

(1)Node 节点

Node(节点)是计算资源的最小单位,表示集群中单台计算机。

可能是数据中心里面的计算机,也可能是云中的虚拟机,还可能是其他的东西。

Node 就是一个抽象层,我们不必关注某台机器的特性,只需要简单的视为我们可以利用的 CPU 和 RAM 资源。

(2)Cluster 集群

把多个 Node 集中到一起,形成功能强大的机器。

把应用部署到 Cluster 中时,可以智能为你分配具体的工作节点。

如果集群中的节点发生变化,例如添加或者删除,Cluster 会自动重新分配工作,我们无需关心代码是在哪个节点上运行。

(3)Persistent Volumes 持久型数据卷

应用不是运行在特定的节点上的,随时可能转移到其他节点上,所以,应用不能把数据保存到所在节点的文件系统中。

为了永久存储数据,kubernetes 提供了 Persistent Volumes,就像一个插件一样,挂载到集群中,不与特定的节点绑定。

2. 软件

(1)Container 容器

Kubernetes 上运行的程序被打包为 Linux 容器。

容器化使您可以创建独立的 Linux 执行环境。任何程序及其所有依赖项,都可以捆绑成一个文件,然后在网上共享。

任何人都可以下载容器,通过很少的配置即可运行。

容器的操作可以通过编程完成,从而形成功能强大的 CI/CD 管道。

可以将多个程序添加到一个容器中,但最好还是一个程序一个容器,这样易于部署、查找问题。

(2)Pod

Kubernetes 不会直接运行容器,而是将一个或多个容器包装到称为 pod 的更高级别的结构中。

同一个 Pod 中的容器共享资源和网络,可以自由的相互沟通。

Pod 是 Kubernetes 中的复制单位,当你的应用需要扩展时,可以复制新的 Pod,部署到集群中。

通常都会运行多个 Pod 副本,以实现负载均衡和故障容错。

(3)Deployment 部署

尽管 Pod 是 Kubernetes 中计算的基本单位,但不会直接在集群上启动它们,而是通过一个抽象层(Deployment)进行管理。

Deployment 的主要目的是声明一次应该运行多少个 Pod 副本。

当一个 Deployment 添加到集群中以后,它就会自动启动所需数量的 Pod,并对其监控,如果某个 Pod 挂了,Deployment 会自动重新创建一个新的。

使用 Deployment,你就不用手动处理 Pod 了,你只需要说明系统应该是什么样的,Deployment 就会自动帮你管理。

(4)Ingress 入口

通过上述的概念,已经可以创建一个包含多个 Node 的 Cluster,通过 Deployment 启动并管理多个 Pod(Pod 中是 Container,Container 里是你的 App)。

现在的问题是:外部如何访问你的应用呢?

默认情况下,Pod 和外界之间是隔离的。如果要与 Pod 中运行的服务进行通信,则必须打开一个通信通道,就是 Ingress(入口)。

小结

本文翻译整理自:

https://medium.com/google-cloud/kubernetes-101-pods-nodes-containers-and-clusters-c1509e409e160

推荐阅读:

轻松理解 Kubernetes 的核心概念的更多相关文章

  1. 理解maven的核心概念

    原文出处:http://www.cnblogs.com/holbrook/archive/2012/12/24/2830519.html 好久没进行java方面的开发了,最近又完成了一个java相关的 ...

  2. 消息中间件——RabbitMQ(六)理解Exchange交换机核心概念!

    前言 来了解RabbitMQ一个重要的概念:Exchange交换机 1. Exchange概念 Exchange:接收消息,并根据路由键转发消息所绑定的队列. 蓝色框:客户端发送消息至交换机,通过路由 ...

  3. 通过实例快速掌握k8s(Kubernetes)核心概念

    容器技术是微服务技术的核心技术之一,并随着微服务的流行而迅速成为主流.Docker是容器技术的先驱和奠基者,它出现之后迅速占领市场,几乎成了容器的代名词.但它在开始的时候并没有很好地解决容器的集群问题 ...

  4. Docker入门——理解Docker的核心概念

    1 前言 相信不少人听过这么一句话: 人类的本质是复读机. 在软件开发领域也一样,我们总是想寻找更好地方式复制优秀的逻辑或系统.最核心的方法是抽取通用逻辑和组件,把差异化的东西接口化或配置化,达到复用 ...

  5. kubernetes入门(06)kubernetes的核心概念(3)

    一.API 对象 API对象是K8s集群中的管理操作单元.K8s集群系统每支持一项新功能,引入一项新技术,一定会新引入对应的API对象,支持对该功能的管理操作.例如副本集Replica Set对应的A ...

  6. kubernetes入门(05)kubernetes的核心概念(2)

    一.使用 kubectl run 创建 pod(容器) 命令 kubectl run类似于 docker run,可以方便的创建一个容器(实际上创建的是一个由deployment来管理的Pod): 等 ...

  7. kubernetes入门(04)kubernetes的核心概念(1)

    一.ReplicationController/ReplicaSet 在Kubernetes集群中,ReplicationController能够确保在任意时刻,指定数量的Pod副本正在运行.如果Po ...

  8. kubernetes入门(07)kubernetes的核心概念(4)

    一.pod 二.Volume volume可以为容器提供持久化存储,比如 三.私有镜像 在使用私有镜像时,需要创建一个docker registry secret,并在容器中引用.创建docker r ...

  9. 后端技术杂谈11:十分钟理解Kubernetes核心概念

    本系列文章将整理到我在GitHub上的<Java面试指南>仓库,更多精彩内容请到我的仓库里查看 本文转自 https://github.com/h2pl/Java-Tutorial 喜欢的 ...

随机推荐

  1. 【mac】关于mac的一些命令

    一. 如何查看自己的文件大小,所有文件占了多少? du -h -d 1 .        当前目录文件以及大小 sudo  du -h -d 1 /    所目录下的文件以及大小

  2. 原生js实现响应式轮播图,支持电脑端点击切图,手机端滑动切图

    轮播图的实现原理并不难,但是步骤有些繁琐.最近练习了一个轮播图,大部分是跟着网上的教程写的,然后自己做了一点兼容ie8的修改,加了点击切换图片的特效和手机端的滑动特效,让这个轮播图可以在响应式的网站中 ...

  3. 【u202】家庭作业

    Time Limit: 1 second Memory Limit: 128 MB [问题描述] 老师在开学第一天就把所有作业都布置了,每个作业如果在规定的时间内交上来的话才有学分.每个作业的截止日期 ...

  4. vue在html中写动态背景图片

    <div class="img" :style="`background: url(`+item.img+'?any_string_is_ok'+`)center ...

  5. nodejs + webpack4 + babel6 结合写Chrome浏览器插件记录(2)

    上来先来看下当前实现的效果吧. 前言 首先感谢第一篇留言鼓励的同学,最近各种繁杂的事,时间占用较多,但是也总抽空继续改造这个项目,期间遇到了各种Vue渲染的问题,常规的字符串渲染会在Chrome插件中 ...

  6. CodeForces 1204 (#581 div 2)

    传送门 A.BowWow and the Timetable •题意 给你一个二进制数,让你求小于这个数的所有4的幂的个数 •思路 第一反应是二进制与四进制转换 (其实不用真正的转换 QwQ) 由于二 ...

  7. 精通CSS:高级WEB解决方案

    选择器:高级选择器:属性选择器:[] ,例如:a[href=”#”] {};选择器的优先级:!important为最高优先级,其次优先级次序规则:a,b,c,d ,a代表行内样式,b代表ID选择器,c ...

  8. 前端——css属性方法

    目录 标签快捷写法 宽和高 字体 1.文字字体 2.字体大小 3.字体粗细 4.字体颜色 5.字体对齐 6.文字下划线控制 7.文字首行缩进 8.字体英文换大写 背景属性 1.背景颜色 2.背景图片 ...

  9. 关于非旋FHQ Treap的复杂度证明

    非旋FHQ Treap复杂度证明(类比快排) a,b都是sort之后的排列(从小到大) 由一个排列a构造一颗BST,由于我们只确定了中序遍历=a,但这显然是不能确定一棵树的形态的. 由一个排列b构造一 ...

  10. $CF888E\ Maximum\ Subsequence$ 搜索

    正解:$meet\ in\ the\ middle$ 解题报告: 传送门$QwQ$. 发现数据范围为$n\leq 35$,所以$2^{\frac{n}{2}}$是可做的. 所以先拆成$A,B$两个集合 ...