k8s的核心概念
Pod
1.最小部署单位 2.一组容器的集合 3.在一个Pod的容器共享网络命名空间(pod容器之间的网络是共享的,例如A B俩个容器属于一个pod,A上开了80端口,B上的80端口也是开通的) 4.Pod是短暂的(应用更新或者发版后Pod就会销毁)
Controllers
1.ReplicaSet: 确保预期的Pod副本数量 2.Deployment: 无状态应用部署 (Pod故障触发迁移后,Pod中的应用可以照常使用,不需要考虑存储、网络等问题,例如web应用) 3.StatefulSet: 有状态应用部署 (Pod故障触发迁移后,需要考虑网络和存储是否可以正常调用,有状态部署会对网络和存储进行标识,例如mysql主从和zk集群)
4.DaemonSet: 确保所有Node运行同一个Pod
5.Job: 一次性任务
6.Cronjob: 定时任务
Service
作用:将请求转发到相应的一组Pod和实现一定的负载功能,暴露应用
1.防止Pod失联 2.定义一组Pod的访问策略
Label
标签,附加到某个资源上,用于关联对象、查询和筛选
Namespace
命名空间,将对象逻辑上隔离