本文主要是介绍我学啥你就学啥Kubernetes(0)No.119,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
好,现在开始跟大家一起学习 Kubernetes ,本系列文章不会有什么安排,起点就是,我学什么我就向你们分享什么,期望大家对这门目前比较主流的技术有一定的了解,以及一定的动手能力,给我自己扫扫盲,也给大家扫扫盲。
主要知识来源:
极客时间专栏《深入剖析 Kubernetes》
书籍《Kubernetes权威指南》
官网 https://kubernetes.io
Kubernetes,全名还是有点长的,业界缩写是 k8s,后续我也用k8s来代替全名。
关于k8s,官方的介绍是这样的
Kubernetes is an open-source system for automating deployment, scaling, and management of containerized applications.
k8s是一个提供 自动化部署、自动化扩缩容以及管理容器化应用的开源系统。
怎么理解呢?就是首先,k8s 是开源的,这事毋庸置疑的。其次呢,k8s 管理的对象是 容器化的应用,也就是说普通的非容器化的应用它不管。第三呢,它提供了 自动化部署和自动化扩缩容 的能力。
这三条合起来,可以实现一个普遍的现有系统自动化运维能力。
至于为什么用容器来作为运行基础,每个人有每个人的看法,我的看法比较势利,就是为了提高资源利用率,人和机器利用率,主要是机器。
直接部署在物理主机上或者云主机上是这样的,所有 App 公用操作系统以及硬件资源,各个App间可能互相影响,无法隔离,这确实是资源利用最高效的方式。
虚拟机部署方式是这样的,好处是各个应用隔离非常彻底,缺点就是都要在主机操作系统上,跑多一层操作系统,资源浪费比较严重。
容器化部署是这样的,好处就是App间隔离非常好,公用底层操作系统资源利用率蛮高,每个App都有自己的环境和资源分配。目前比较主流的开源容器技术有两,一是 Docker,二是Rocket。(小提问,Docker需要我来讲吗?)
总得来说,k8s选择容器技术作为最基础运行单位,有着一定的考虑,比较重点的原因是容器技术可以做到 App 间隔离,以及相对于虚拟机的资源利用率。但是还有更加核心的一点,就是容器镜像。
有了容器镜像,开发者在本地运行的环境,跟放在服务端运行的环境可以保持 几乎 100% 一致,本地的表现是怎样的,打包成镜像后在服务端运行的表现就是怎样的。另外一方面,因为镜像很标准包含了应用所需的所有环境,应用可以在调度下,非常非常方便地进行水平扩容和缩容。
好了今天就聊到这,说一下今天学习的重点。
1、唠嗑。
2、k8s 是使用 yaml 文件来定义资源的,yaml 的语法要点有3个。
key: value 对,使用英文冒号:分割,后加一个空格。
使用两个空格作层级
使用 - 代表接下来要出现一个List列表了。
就这样,没了,比如这样定义。
爸爸: 大蕉
孩子:
- 儿子: 小蕉
- 女儿: 小小蕉
end
这篇关于我学啥你就学啥Kubernetes(0)No.119的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!