kubernetes

Etcd的作用

ETCD 是一个高可用的分布式键值数据库,可用于服务发现。ETCD 采用 raft 一致性算法,基于 Go 语言实现。etcd作为一个高可用键值存储系统,天生就是为集群化而设计的。由于Raft算法在做决策时需要多数节点的投票,所以etcd一般部署集群推荐奇数个节点,推荐的数量为3、5或者7个节点构成一个集群。

controller

1、ReplicationController(rc)
确保副本数始终保持在用户期望值,新版本建议使用ReplicaSet取代
2、ReplicaSet(rs)
和rc没有本质不同,仅是名字不一样,并且rs支持集合食selector,虽然可以独立使用,但建议通过deployment来自动管理,比如rs不支持滚动更新,deployment支持
3、deployment
不直接创建pod,通过创建rs来实现pod的创建,通过不同版本的rs版本实现滚动更新和回滚
4、HPA(Horizontal Pod Autoscaling)
监控资源水平自动扩展pod,仅支持deployment和ReplicaSet。
5、StatefulSet
解决有状态服务,对应Deployment和ReplicaSet是为无状态服务而设计。应用场景包括:
稳定的持久化存储,基于PVC实现
稳定的网络标志,基于headless Service实现
有序部署,基于init containers实现
有序收缩
6、DaemonSet
确保全部(或一些)Node上运行一个Pod副本。当有Node加入会新增一个Pod,Node移除也会被回收。删除DaemonSet将会删除它创建的所有Pod。使用场景:
运行集群存储daemon,如每个node上运行ceph
运行日志收集daemon,如每个node上运行fluentd
运行系统监控daemon,如每个node上运行Prometheus Node Exporter
7、Job
负责批处理任务,仅执行一次的任务,它保证批处理任务的一个或多个pod成功结束。比如数据库备份
8、Cron Job
管理基于时间的Job,即在给定的时间点只运行一次;周期性地在给定时间点运行。如每天凌晨两点统计报表

数据库应该用哪个部署

StatefulSet

什么是pv什么是pvc

PV是集群中由管理员配置的一段网络存储。
PVC是由用户进行存储的请求。
类似于pod。 Pod消耗节点资源,PVC消耗PV资源。
Persistent Volume Claim(PVC)和Persistent Volume(PV)

你可能感兴趣的:(kubernetes)