Kubernets

本文参考自:5分钟带你快速了解 Docker 和 k8s,知乎,https://juejin.cn/post/6913568633813729294在新窗口打开

本文 并不会 详细介绍 Kubernetes 的详细功能,仅仅是介绍其作用。

1. Kubernets 是什么

k8s 作为容器编排解决方案变得越来越流行。

k8s 又是什么?

k8s 是 Kubernets 的缩写,8 代表中间的八个字符。

尽管 Docker 为容器化的应用程序提供了开放标准,但随着容器越来越多出现了一系列新问题:

  • 如何协调和调度这些容器?
  • 如何在升级应用程序时不会中断服务?
  • 如何监视应用程序的运行状况?
  • 如何批量重新启动容器里的程序?

解决这些问题需要容器编排技术,可以将众多机器抽象,对外呈现出一台超大机器。现在业界比较流行的有:k8s、Mesos、Docker Swarm 等。

在业务发展初期只有几个微服务,这时用 Docker 就足够了,但随着业务规模逐渐扩大,容器越来越多,运维人员的工作越来越复杂,这个时候就需要编排系统解救运维人员。

一个成熟的容器编排系统需要具备以下能力:

  • 处理大量的容器和用户
  • 负载均衡
  • 鉴权和安全性
  • 管理服务通信
  • 多平台部署

2. Kubernetes 组成结构

k8s 由众多组件组成,组件间通过 API 互相通信,归纳起来主要分为三个部分:

  1. Controller Manager,即控制平面,用于调度程序以及节点状态检测
  2. Nodes,构成了 Kubernetes 集群的集体计算能力,实际部署容器运行的地方
  3. Pods,Kubernetes 集群中资源的最小单位

3. Kubernetes 与 Docker

Docker 和 k8s 在业界非常流行,都已经是事实上的标准。

Docker 是用于构建、分发、运行容器的平台和工具。而 k8s 实际上是一个使用 Docker 容器进行编排的系统,主要围绕 pods 进行工作。Pods 是 k8s 生态中最小的调度单位,可以包含一个或多个容器。

Docker 和 k8s 是根本上不同的技术,两者可以很好的协同工作。