初识Kubernetes

Kubernetes这个名字起源于古希腊,是舵手的意思。K8s 是通过将 8 个字母 “ubernete” 替换为 8 而导出的缩写。另外,在中文里,k8s 的发音与 Kubernetes 的发音比较接近。

Kubernetes 是一个跨主机集群的 开源的容器调度平台,它可以自动化应用容器的部署、扩展和操作 , 提供以容器为中心的基础架构。

如何简单易懂的了解k8s,参考此链接的18张插画:https://mp.weixin.qq.com/s/vshU845WMnoBdrYnPMV49A

Kubernetes 具有如下特点:

  • 便携性: 无论公有云、私有云、混合云还是多云架构都全面支持
  • 可扩展: 它是模块化、可插拔、可挂载、可组合的,支持各种形式的扩展
  • 自修复: 它可以自保持应用状态、可自重启、自复制、自缩放的,通过声明式语法提供了强大的自修复能力

Kubernetes 项目由 Google 公司在 2014 年启动。Kubernetes 建立在 Google 公司超过十余年的运维经验基础之上,Google 所有的应用都运行在容器上, 再与社区中最好的想法和实践相结合,也许它是最受欢迎的容器平台。

kubernetes特性:

  • 自动包装: 根据资源需求和其他约束自动放置容器,同时不会牺牲可用性,混合关键和最大努力的工作负载,以提高资源利用率并节省更多资源。
  • 横向缩放:使用简单的命令或UI,或者根据CPU的使用情况自动调整应用程序副本数。
  • 自动部署和回滚: Kubernetes逐渐部署对应用程序或其配置的更改,同时监视应用程序运行状况,以确保它不会同时终止所有实例。如果出现问题,Kubernetes会为你恢复更改,利用日益增长的部署解决方案的生态系统。
  • 存储编排:自动安装您所选择的存储系统,无论是本地存储,如公有云提供商AWS,还是网络存储系统NFS,Cinder。
  • 自我修复:重新启动失败的容器,在节点不可用时,替换和重新调度节点上的容器,对用户定义的健康检查不响应的容器会被中止,并且在容器准备好服务之前不会把其向客户端广播。
  • 服务发现和负载均衡:不需要修改您的应用程序来使用不熟悉的服务发现机制,Kubernetes为容器提供了自己的IP地址和一组容器的单个DNS名称,并可以在它们之间进行负载均衡。
  • 密钥和配置管理:部署和更新密钥和应用程序配置,不会重新编译您的镜像,不会在堆栈配置中暴露密钥(secrets)。
  • 批处理:除了服务之外,Kubernetes还可以管理您的批处理和CI工作负载,如果需要,替换出现故障的容器。

参考资料:
认识k8s
The Illustrated Children’s Guide to Kubernetes