kubernetes学习总结-1架构
程序员文章站
2024-01-01 12:00:58
google的管理框架Borg系统,为了指定行业标准,所以让开发工程师使用go语言按照borg框架开发了k8s系统go语言在语言级别支持进程管理,不需要人为控制,使用go开发k8s占用的的系统资源是非常小的(轻量级)特点:轻量级开源弹性伸缩(如果访问量不需要这些节点的话就可以释放这些机器的资源 减轻企业的资金消耗)负载均衡:k8s实现了模块之间的负载均衡,使用IPVSKubernetes 架构服务分类高可用集群副本的数目最好是大于等于3的奇数(奇数的原因的避免投票问题)...
kubernetes简介
-
google的管理框架Borg系统,为了指定行业标准,所以让开发工程师使用go语言按照borg框架开发了k8s系统
-
go语言在语言级别支持进程管理,不需要人为控制,使用go开发k8s占用的的系统资源是非常小的(轻量级)
特点:
- 轻量级
- 开源
- 弹性伸缩(如果访问量不需要这些节点的话就可以释放这些机器的资源 减轻企业的资金消耗)
- 负载均衡:k8s实现了模块之间的负载均衡,使用IPVS
Kubernetes 架构
- 服务分类
- 高可用集群副本的数目最好是
大于等于3的奇数
(奇数的原因的避免投票问题)
1、有状态服务服务:DBMS
2、无状态服务:LVS APACHEAPISERVER
所有的服务访问统一入口ControllerManager
:维持副本期望数目Scheduler
:负责介绍任务,选择合适的节点进行分配任务Etcd
定位一个可信赖的分布式键值存储服务,能够为整个分布式集群存储一些关键数据,协助分布式集群的正常运转(保存整个集群正常持久化运转的配置信息,一旦集群死亡可以切换到etcd中进行数据恢复)。推荐在k8s集群中使用etcdV3版本(v2版本已经在kubernetesv1.11中弃用)
Etcd架构kubelet
跟CRI(Contain Runtime运行环境 Interface)操作docker创建对应的容器,维持pod的生命周期kube proxy
实现pod与pod之间的访问,和负载均衡。默认操作是操作防火墙firewall实现pod的映射,新版本中的IPVS
重要的几个插件
coreDNS
: 可以为集群的SVC创建一个域名IP的对应关系解析Ingress Controller
官方只能实现四层代理,Ingress可以实现七层的代理Dashboard
可以为集群提供一个B/S结构访问体系Prometheus
提供K8s集群的监控能力Federation
提供一个跨集群中心多K8s统一管理功能Elk
提供K8s集群日志同意分析介入平台
本文地址:https://blog.csdn.net/qq_26884501/article/details/107382231