Docker+k8s 技术笔记
前言
Docker容器化封装应用程序的意义
-
Docker引擎统一了基础设施环境 -docker环境
硬件配置(服务器硬件)
操作系统的版本
运行环境的异构
-
Docker引擎统一了程序打包方式(集装箱) -docker环境 微信小程序 (技术飞跃)
java程序
python程序
-
Docker引擎统一了程序部署(运行)方式 -docker容器
java -jar … ->docker run …
python manage.py runserver … -> docker run …
解决复杂的程序依赖环境问题 ,提升工作效率
互联网技术飞跃
- cs–>bs (从服务器-客户端到服务器-浏览器)
- 移动互联网 拥有移动端可以与服务器直接通信
- 小程序 微信小程序 统一了一个平台 (docker-集装箱-统一打包方式-docker镜像)
docker缺点&&k8s优点
- 单机使用,无法集群化
- 单点化 数量多 管理成本升高
- 没有有效的容灾机制/自愈机制 (第三方介入 监控 干预)
- 没用预设编排模板,无法实现快速,大规模容器调度(快速调度 大规模调度 传统意义上无法一起实现,没用统一的管理环境)
- 速度受限,人工管理 没有统一的管理工具
- 没有生命周期管理(状态 创建 启动 退出 挂起 退出 精细化管理)
- 没有图形化的管理工具
容器编排工具
基于docker容器引擎的开源容器编排工具
- docker compose(单机编排)、docker swarm(使用人数少)
- Mesosphere+Marathon (使用人数少)
- kubernets 被谷歌开源 占领市场 捐献给CNCF 基金会 非盈利组织。(谷歌borg --> k8s)
- 开源容器编排框架工具
k8s优势
- 自动装箱,水平扩展,自我修复(自愈)
- 服务器发现和负载均衡
- 自动发布 (默认滚动发布和秘钥管理)
- 存储编排 (外挂存储)
- 任务批处理运行