杜郎俊赏 - dujun.io

开源实例之Kubernetes

前言

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

Kubernetes,发音是[kubə'netis],常被简称为 K8s,即 k + 中间8个字母 + s。这种极客命名,另一个知名例子是多语言软件常见的 i18n(internationalization)。

Kubernetes 源于希腊语,有“舵手”的意思,正如它的 logo 是一个船舵。

官网地址是:https://kubernetes.io

Kubernetes的发展

Kubernetes 起源于 Google 内部项目,在 2014 年被正式开源。在 Docker 开始爆火的时期,Kubernetes 作为编排工具被更多人熟知,它解决了包括 Docker 在内的容器引擎,在集群化编排、管理和调度上的难题。

在 2017 年,Kubernetes 战胜了竞争对手 Swarm 和 Mesos,成为容器管理与调度编排领域的事实标准。发展到 2020 年,Kubernetes 成为贡献者仅次于 Linux 的第二大开源项目。

Kubernetes的特点

* 可移植: 支持公有云,私有云,混合云,多重云(multi-cloud)
* 可扩展: 模块化,插件化,可挂载,可组合
* 自动化: 自动部署,自动重启,自动复制,自动伸缩/扩展

Kubernetes的术语

* Control Plane:容器编排层,暴露 API 和接口来定义、部署容器和管理容器的生命周期
* Pod:Kubernetes 的原子对象,表示集群上一组正在运行的容器(container)
* Node:Kubernetes 中的工作机器称作节点
* Cluster:集群,至少有一个工作节点
* Service:将运行在一组 Pods 上的应用程序公开为网络服务的抽象方法
* Image:镜像(Image)是保存的容器实例,它打包了应用运行所需的一组软件
* Volume:包含可被 Pod 中容器访问的数据的目录
* Kubectl:使用 Kubernetes API 与 Kubernetes 集群的控制面进行通信的命令行工具
* Kubelet:会在集群中每个节点(node)上运行,它保证容器(containers)都运行在 Pod 中

更多术语详见官方文档:https://kubernetes.io/zh-cn/docs/reference/

Kubernetes的未来

现在特别火的一个概念叫云原生(Cloud Native),它的基础就是容器化、微服务、持续集成等。而 Kubernetes 作为容器管理的事实标准,会在这股大势中扮演更加重要的角色。越来越多成规模的公司都在拥抱云原生,而Kubernetes 或将成为最佳的或者说唯一的选择。

后记

题图:爱蜜社 Vol.651 张思允

本开源实例系列达不到集群的规模,未实装 kubernetes。本篇仅作为介绍。

体验更多实例

标签: 开源实例
日期:2022-12-05