高可用集群副本数据最好是 >= 3 奇数个
k8s架构
所有服务访问统一入口
维护副本的期望数
负责介绍任务,选择合适的节点进行分配任务
键值对数据库,存储K8S集群的所有重要信息(持久化)
架构图
AWL:日志
Store:持久化写入本地磁盘
直接跟容器交互实现容器的生命周期管理
负责写入规则至IPTABELS、IPVS,实现服务映射访问的
可以为集群中的SVC创建一个域名、IP对应关系解析
给K8S集群提供一个B/S结构的访问体系
官方只能实现四层代理,Ingress可以实现7层
提供一个可以跨集群中心多K8S统一管理功能
提供一个K8S集群监控能力
提供K8S集群日志统一分析介入平台
注:官方不是安上面的分类的
HPA
Horizontal Pod Autoscaling仅适用于Deployment和ReplicaSet,在V1版本中仅支持根据Pod的CPU利用率扩缩容,在vlalpha版本中,支持根据内存和用户自定义的metric扩缩容。
StatefulSet
是为了解决有状态服务的问题(对应Deployments和ReplicaSets是为了无状态服务而假设),其场景包括:
DaemonSet
确保全部(或者一些)Node上运行一个Pod的副本。当有Node加入集群时,也会为他们新增一个Pod。当有Node从集群移除时,这些Pod也会被回收。删除DaemonSet将会删除它创建的所有Pod
使用DaemonSet的一些典型用法
Job
负责批处理任务,即执行一次任务,它保证批处理任务的一个或多个Pod成功结束
Cron Job
管理基于时间的Jod,即
Kubernetes的网络模型假定了所有的Pod都在一个可以直接连通的扁平的网络空间中,这在GCE(Google Comute Engine)里面是现成的网络模型,Kubernetes假定这个网络已经存在。而在私有云里面搭建Kubernetes集群,就不能假定这个网络已经存在了。我们需要自己实现这个网络假设,将不同节点上的Docker容器之间的互相访问先打通,然后运行Kubernetes。
Flannel是CoreOS团队针对Kubernetes设计的一个网络规划服务,简单来说,它的功能是让集群中的不同节点主机创建的Docker容器都具有全集群唯一的虚拟IP地址。而且它还能在这些IP地址之间建立一个覆盖网络(Overlay Network),通过这个覆盖网络,将数据包原封不动地传递到目标容器内。
etcd之Flannel提供说明
学习地址:
https://www.bilibili.com/video/BV1w4411y7Go
版权说明 : 本文为转载文章, 版权归原作者所有 版权申明
原文链接 : https://vitcloud.blog.csdn.net/article/details/123992351
内容来源于网络,如有侵权,请联系作者删除!