一、前言
作为一个工作十余年,拥有比较丰富的计算机网络运维、主机运维、云计算平台运维、自动化运维开发经验的老鸟,我来说说我当初刚接触Kubernetes时的一些感受以及学习技巧。
刚开始学习k8s时,我觉得挺难的,一头雾水,买了一本《Kubernetes权威指南》,真的很厚。我觉得作为应用开发人员的学习路线,不要想着一口气看完k8s的所有概念,要逐步学习,要看完这么厚的书,没有实战也很懵的。
我觉得比较合适的学习路线应该是:应用开发人员只需要先学很少的几个 Kubernetes 关键概念,比如 Pod、Service 和 Deployment,然后直接把精力放在如何把自己的应用部署上去,并着手研究部署到 Kubernetes 之后的各类场景化需求,再反过来去逐个学习 Kubernetes 的各项功能特性。
二、什么是K8S
Kubernetes也称为K8S,其中8是代表中间“ubernete”的8个字符,是Google在2014年开源的一个容器编排引擎,用于自动化容器化应用程序的部署、规划、扩展和管理,它将组成应用程序的容器分组为逻辑单元,以便于管理和发现,用于管理云平台中多个主机上的容器化的应用,Kubernetes 的目标是让部署容器化的应用简单并且高效,很多细节都不需要运维人员去进行复杂的手工配置和处理;
通过Kubernetes你可以:
- 快速部署应用
- 快速扩展应用
- 无缝对接新的应用功能
- 节省资源,优化硬件资源的使用
三、Kubernetes的特点
- 可移植:支持公有云,私有云,混合云,多重云(multi-cloud)
- 可扩展:模块化,插件化,可挂载,可组合
- 自动化:自动部署,自动重启,自动复制,自动伸缩/扩展
四、Kubernetes可以做什么?
使用Web服务,用户希望应用程序能够7*24小时全天运行,开发人员