一。容器:
1. 容器是运行一个或一组进程的方法,使得这些进程和主机上其他进程相隔离
2. 容器类似于虚拟机,但不同于虚拟机
容器 虚拟机
内核 调用宿主机的内核 每个虚拟机一个
启动速度 秒级 分钟级
资源使用 仅容器里的进程占用 整个虚拟机占用
二。kubernets是什么?
1. 是一种容器编排器,或者叫容器管理器:
不仅仅是管理容器的启动和停止,还管理着和容器相关的各种资源:网络,持久化存储卷
2. 声明式类型:
你只需要告诉它,你要的是什么,它会帮你实现你的目的
3. 源于google的Borg,
开源:开发源代码
开放性治理:区别于“严格的开源”,不希望为某一个公司所控制,由代码贡献最大的所领导
4. 社区:
4.1 每周开例会,有兴趣的人都可以参加
4.2 SiGs组:特殊兴趣的小组
三。技术层面的Kubernetes:
1.是一个数据库(etcd):存储着我们“我们期望状态的数据”
2. pod:一组共生的docker,例如:一个app+对应的监控+对应的日志。。。
app仅仅是pod的一个部分
3. label:和pod一一对应
版本1的pod
版本2的pod
相同的label,用于灰度升级
4. kubectl:rest api接口
调用接口,不用直接修改配置文档
四。kubernetes工作流
五。Kubernetes社区发展方向
做个稳定版本:新功能和稳定性取舍,基于1.8做个稳定版本。
六。如何在企业里用kubernetes
1. 用负载均衡器管理流量
2.用持久卷存储有状态的应用数据
3.开放了底层,有一定的学习成本,但是很多人喜欢