我学啥你就学啥Kubernetes(0)No.119

好,现在开始跟大家一起学习  Kubernetes  ,本系列文章不会有什么安排,起点就是,我学什么我就向你们分享什么,期望大家对这门目前比较主流的技术有一定的了解,以及一定的动手能力,给我自己扫扫盲,也给大家扫扫盲。

主要知识来源:

极客时间专栏《深入剖析 Kubernetes》

书籍《Kubernetes权威指南》

官网 https://kubernetes.io

Google

Kubernetes,全名还是有点长的,业界缩写是 k8s,后续我也用k8s来代替全名。

关于k8s,官方的介绍是这样的

Kubernetes is an open-source system for automating deployment, scaling, and management of containerized applications.

k8s是一个提供 自动化部署、自动化扩缩容以及管理容器化应用的开源系统。

怎么理解呢?就是首先,k8s 是开源的,这事毋庸置疑的。其次呢,k8s 管理的对象是 容器化的应用,也就是说普通的非容器化的应用它不管。第三呢,它提供了 自动化部署和自动化扩缩容 的能力。

这三条合起来,可以实现一个普遍的现有系统自动化运维能力。

至于为什么用容器来作为运行基础,每个人有每个人的看法,我的看法比较势利,就是为了提高资源利用率,人和机器利用率,主要是机器。

直接部署在物理主机上或者云主机上是这样的,所有 App 公用操作系统以及硬件资源,各个App间可能互相影响,无法隔离,这确实是资源利用最高效的方式。

我学啥你就学啥Kubernetes(0)No.119_第1张图片

虚拟机部署方式是这样的,好处是各个应用隔离非常彻底,缺点就是都要在主机操作系统上,跑多一层操作系统,资源浪费比较严重。

容器化部署是这样的,好处就是App间隔离非常好,公用底层操作系统资源利用率蛮高,每个App都有自己的环境和资源分配。目前比较主流的开源容器技术有两,一是 Docker,二是Rocket。(小提问,Docker需要我来讲吗?)

我学啥你就学啥Kubernetes(0)No.119_第2张图片

总得来说,k8s选择容器技术作为最基础运行单位,有着一定的考虑,比较重点的原因是容器技术可以做到 App 间隔离,以及相对于虚拟机的资源利用率。但是还有更加核心的一点,就是容器镜像。

有了容器镜像,开发者在本地运行的环境,跟放在服务端运行的环境可以保持 几乎 100% 一致,本地的表现是怎样的,打包成镜像后在服务端运行的表现就是怎样的。另外一方面,因为镜像很标准包含了应用所需的所有环境,应用可以在调度下,非常非常方便地进行水平扩容和缩容。

好了今天就聊到这,说一下今天学习的重点。

1、唠嗑。

2、k8s 是使用 yaml 文件来定义资源的,yaml 的语法要点有3个。

  1. key: value 对,使用英文冒号:分割,后加一个空格。

  2. 使用两个空格作层级

  3. 使用 - 代表接下来要出现一个List列表了。

就这样,没了,比如这样定义。

爸爸: 大蕉

孩子:

  - 儿子: 小蕉

  - 女儿: 小小蕉

end

你可能感兴趣的:(我学啥你就学啥Kubernetes(0)No.119)