文章目录
- 1.k8s
- 1.概念
- 2.特性
- 3.核心组件
1.k8s
1.概念
用于自动部署、扩展和管理“容器化(containerized)应用程序”的开源系统。
可以理解成 K8S 是负责自动化运维管理多个容器化程序(比如 Docker)的集群,是一个生态极其丰富的容器编排框架工具。
2.特性
1.弹性收缩
保证高并发时的高可用性以及业务低时不浪费资源
2.自我修复
当节点出现问题时,将服务转移到其他节点上并且在期间重启服务后杀死出现问题的程序
3.服务发现及负载均衡
能够自动查询到服务并且负载均衡所关联的容器
4.集中化管理
管理机密数据和应用程序配置,而不需要把敏感数据暴露在镜像里,提高敏感数据安全性
5.任务批处理运行
提供一次性任务,定时任务;满足批量数据处理和分析的场景。
6.存储编排
挂载外部存储系统,无论是来自本地存储,公有云(如AWS),还是网络存储(如NFS、Glusterfs、Ceph)都作为集群资源的一部分使用,极大提高存储使用灵活性。
3.核心组件
主:master apiserver 核心大脑,负责管理整个k8s 并且对etcd数据库有着唯一读写性(scheduler,负责调度算法选择pod的node节点最优解,controller manager 里面有若干控制器,负责管理pod 副本等)
从:slave (kubelet,节点中负责调动pod的组件,并且监控记录pod的状态反应给apiserver,kube-proxy,负责网络代理,使pod能够暴露给外部,提供外部服务)
存储:etcd, apiserver每进行一步都会记录到etcd数据里