| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 系统运维 -> k8s组件架构说明 -> 正文阅读 |
|
[系统运维]k8s组件架构说明 |
高可用集群副本数据最好是 >= 3 奇数个 (也就是下面第一张图片的BorgMaster的个数,下面的是5个) 下面的是谷歌公司的borg架构 下面的是k8s架构 ??????? ? 上图是我们的k8smaster和node节点的相关组件,由上图可知,我们的node节点需要安装kubelet,kube proxy和docker 。。。。 分析一下上面的图片把,我们kubelet的作用就是,它会跟我们的CRI(容器运行接口),说白了就是我们的docker在这里的表现形式,也就是说我们的kubelet会跟我们的docker去交互,操作我们的docker去创建对应的容器,也就是说我们的kubelet维持我们pod的生命周期。。。 kube proxy的功能就是实现我们的pod与pod之间的访问,包括负载均衡,需要借助到我们的kube proxy,它的默认操作是去操作防火墙去实现pod的映射,当然我们的新版本还支持ipvs,也就是我们的lvs组件。。。。。 节点上面有个kube-proxy进程,这个进程从master apiserver获取信息,感知service和endpoint的创建,然后做两个事: 1.为每个service 在集群中每个节点上面创建一个随机端口,任何该端口上面的连接会代理到相应的pod 2.集群中每个节点安装iptables/ipvs规则,用于clusterip + port路由到上一步定义的随机端口上面, 所以集群中每个node上面都有service的转发规则:iptables -L -n -t filter APISERVER:所有服务的访问统一入口(如上面的箭头,也包括kube proxy和kubelet) ControllerManager:负责容器编排及Kubernetes集群状态的维护,例如故障检测、自动扩展、滚动更新等。 Scheduler:我们的调度器,负责接收任务,选择合适的节点进行分配任务(合适的节点:就是我们的节点有足够的资源供给pod去运行,例如我们想要这个节点有什么的固态硬盘,或者带宽比较高,cpu比较大啊等特殊的资源分配给我们的pod,都是由它来完成的) etcd:键值对数据库,存储k8s集群的所有重要持久化的信息(也就意味这某一天我们想要恢复我们的k8s集群的话,我们只需要对我们的etcd进行还原即可) 上面的是我们master组件中有的,下面的是当我们的node节点中有的 kubelet:直接跟容器引擎(也就是docker)交互实现容器的生命周期管理 (也就时说,我们的kubelet接收到指令之后,先把我们k8s发过来的指令进行理解,理解完成之后就把对应的指令直接转化成为我们的container能够听懂的命令,达到这么一个创建pod的流程)
kube-proxy:负责写入规则至IPTABLES或者IPVS实现服务映射(也叫做端口转发)访问的。 上面的是官方比较重要的组件,下面的是其他的一些插件: CoreDNS:这是cores公司 的一个DNS服务器,它主要实现的是可以为集群中的SVC创建一个域名ip对应域名关系解析,也就是我们以后在集群中访问我们的一些其他的pod的时候,我们完全不需要通过这个pod的IP地址,可以通过coreDNS给它生成的这个域名去实现访问。。。。这个是我们实现负载均衡的一个重要的组件。。。 DASHBOARD:给k8s集群提供一个B/S结构的访问体系。。。。 INGRESS CONTROLLER:官方k8s集群只能实现四层代理,INGRESS 可以实现七层代理(也就是可以根据我们的主机名根据我们的域名去负载均衡) FEDERATION:提供一个可以跨集群中心多K8S统一管理功能 PROMETHEUS:提供K8S集群的监控能力 ELK:提供 K8S 集群日志统一分析介入平台 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/15 0:26:51- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |