Kubernetes (简称 K8s) 是一个容器编排引擎,Kubernetes 通过简单自动化的部署、更新可以加速部署流程,使用 Kubernetes 来管理我们的应用和服务,几乎可以达到0下线。
Kubernetes 提供了自愈功能,可以监测应用,当崩溃的时候会重新启动。
Kubernetes 比较简单,任何有基础 Docker 知识的开发人员都可以把应用打包部署到 Kubernetes,只是刚开始的学习路线有点陡峭,下面了解一下 Kubernetes 的关键词,可以大大节省 Kubernetes 的学习时间。
Kubernetes 的 CLI 工具
用来控制所有节点
所有管理任务的端点
处理工作节点的编排工作
干活儿的机器
执行被分配的任务,受 Master Node 的控制
在 pods 中运行容器
Docker 引擎所运行的地方,下载镜像、运行容器
node 中的代理
确保容器的运行和健康状态
其实上面的图片是不准确的,Kubernetes 不直接管理容器,而是管理 Pod,Pod 来描述如何运行容器,可以运行一个容器,也可以同时运行多个。
一个 Pod 可以支持多个容器、多个存储卷
是 Deployment 的实例
一个 Deployment 可以有多个 Pod
Pod 是水平自动伸缩的,根据 CPU 的使用情况可以自动启动或停止
相同 Pod 中的容器可以共享卷
在集群中 Pod 有独立的IP
如果没有使用持久化存储,保存在 Pod 中的数据会消失
Pod 是 Deployment 的实例,一个 Deployment 可以有多个 Pod,那么 Deployment 就可以看做是一个创建 Pob 的蓝图
Deployment 根据指定的规范来创建 Pod,让他们运行、更新
可以规定 Pod 能够使用多少资源
通过复制 Pod 来进行扩展
Secret 是一个对象,用于存储敏感信息,例如用户名和密码
其中的值是 base64 编码的
使用方式,一是对 Pod 和 Secret 进行关联,二是放入存储卷中与容器挂载
Service 负责让 Pod 可以被发现
Service 通过 LabelSelector 来识别 Pod
通过上面的简单介绍和图示,可以让我们对 Kubernetes 有个大概的了解,但毕竟只是生硬的概念,之后会通过实践操作来深入的学习 Kubernetes。
点击下面的 “阅读原文” 查看文章列表