《Kubernetes从入门到实践》学习笔记
前言
容器技术
将应用程序与程序依赖都打包到镜像中,供开发者复制、分发。使用容器技术,不仅提高了打包的速度,还拥有更高的资源利用率。最重要的是,能保持运行环境的一致性,真正做到“一次构建,随处运行”(build once, run anywhere)。这为开发人员、运维人员与测试人员带来了极大的便利,大大提高了效率,降低了运维成本。
基于基础的容器技术,Kubernetes是一套容器集群管理系统
,是一个开源平台,可以实现容器集群的自动化部署、自动扩缩容、维护等功能,充分发挥容器技术的潜力,给企业带来真正的便利。Kubernetes拥有自动包装、自我修复、横向缩放、服务发现、负载均衡、自动部署、升级回滚、存储编排等特性
一、基础知识
第一章 容器的发展史
1.开发过程的发展
1.1瀑布式开发
1.2 敏捷式开发
1.3 DevOps
2. 应用架构的发展
应用架构大致经历了单体架构、多层架构和微服务架构3个阶段.
微服务架构
使用Kubernetes能充分对承载微服务的容器进行管理,对其进行动态扩容和缩容、版本控制、容灾处理、服务注册与发现、监控、动态调节CPU与内存等。对于微服务的应用来说,Kubernetes这样的平台是必需的。
3.部署/打包的发展
3.1 物理机vs虚拟机
3.2 虚拟机vs容器
3.3 容器和k8s
容器技术本身只是单机版的应用,并没有解决容器的编排问题
。例如,容器没有Web管理界面,也无法实现任务调度策略、监控报警等。随着越来越多的开发者使用了容器技术,编排平台的重要性日益突出。所有人都翘首以盼能使用优秀的容器平台,直到Kubernetes开源,才圆了开发人员的梦。
3.4 容器的舵手——Kubernetes
Kubernetes项目由Google公司在2014年启动。Kubernetes建立在Google公司超过10多年的运维经验基础之上,Google所有的应用都运行在容器上,然后与社区中最好的想法和实践相结合。
Kubernetes是一套容器集群管理系统,是一个开源平台,可以实现容器集群的自动化部署、自动扩缩容、维护等功能。Kubernetes拥有自动包装、自我修复、横向缩放、服务发现、负载均衡、自动部署、升级回滚、存储编排等特性。