组件
k8s的结构:
主服务器: scheduler api server repliaction controller
scheduler:调度器,负责分配任务到合适的节点
replication controller: 控制器, 维持副本期望数目
kubelet : pod的生命周期
kubectl:命令行管理工具
etcd: k8s的存储, 持久化的数据,如果哪一天想恢复k8s的集群的化,只需要恢复etcd即可, etcd的架构:
RAFT: 数据读写的地方,WAL是每次数据更改都会生成一个日志
会定期进行全部备份,防止之后集群的复原,另外也是实时的写入到本地的磁盘中(store)
可信赖: 说明etcd自己可以直接集群,不需要借助其他
分布式键值存储:有利于扩容
协助分布式集群的正常运转: 里面保存了集群的配置文件,一旦集群坏掉了,可以通过etcd里面的配置文件进行恢复
kuberlet : 接收k8s传过来的指令后,先进行理解,然后转化为容器引擎(比如Docker)可以理解的指令
kuber proxy: pod之间的访问,以及负载均衡, 默认是使用防火墙,实现pod的映射
高可用的集群副本数据最好是 >= 3奇数个
主要组件
CoreDNS:
访问集群中pod的时候,不需要通过pod的IP去访问,可以通过coreDNS为骑生成的域名去访问pod
实现负载均衡的其中一个功能