比如大模型很热,这么马上大谈特谈大模型,似乎大模型能解决一切问题。然后网上到处去抄,把别人的模型,拿来用一下,关键抄都不会抄。问题一堆,然后骂手下无能,逼这个赶那个的。
这个世界就是一个草台班子。
虽然每天每个人都在用k8s, 知道原理的不多。今天我再次思考了K8S的原理。 原理就是这张图:
主节点上:
Kubernetes 主要由以下几个核心组件组成: etcd 保存了整个集群的状态; apiserver 提供了资源操作的唯一入口,并提供认证、授权、访问控制、API 注册和发现等机制; controller manager 负责维护集群的状态,比如故障检测、自动扩展、滚动更新等; scheduler 负责资源的调度,按照预定的调度策略将 Pod 调度到相应的机器上; kubelet 负责维护容器的生命周期,同时也负责 Volume(CSI)和网络(CNI)的管理; kube-proxy 负责为 Service 提供 cluster 内部的服务发现和负载均衡;
调度程序会考虑容器集的资源需求(例如 CPU 或内存)以及集群的运行状况。随后,它会将容器集安排到适当的计算节点。
看起来这么一堆名词,理解起来似乎好困难。其实也不难理解。 现在流行虚拟化,用docker启虚拟机很容易,要人来管理机房,管理这些机器。k8s可以看作是it运维部,可以看作运维四大块: 网络通信,资源调度,设备监控,资源存储。
网络通信: kube-apiserver (it网管)这个好理解,负责机房各个主机的内外网通信。 资源调度: kube-scheduler (IDC机房运维)负责资源的调度,设备的申请。 设备监控: kube-controller-manager (监控运维)监控服务器运行情况,并确保服务器正常运行; 资源存储: etcd (DBA), 负责及时备份各服务器数据,确保数据安全
分节点可以理解为外包, kubelet 为外包负责签合同的,负责将团队拉进项目。 kube-proxy 为外包负责沟通的(网络代理),将甲方外部信息命令任务分配下去让外包员工执行。
Kubernetes 的特点: 自动调度 – Kubernetes 提供了一个高级调度程序来启动集群节点上的容器。它执行资源优化。 自我修复功能–它提供重新调度,替换和重新启动已失效的容器。 自动退出和回滚 – 它支持针对容器化应用程序的所需状态进行推出和回滚。 水平扩展和负载平衡 – Kubernetes 可以根据要求扩展和缩减应用程序。 资源利用率 – Kubernetes 提供资源利用率监控和优化,确保容器有效利用其资源。 支持多云和混合云 – Kubernetes 可以部署在不同的云平台上,并跨多个云运行容器化应用程序。 可扩展性 – Kubernetes 非常可扩展,可以使用自定义插件和控制器进行扩展。
总结一句话是,高可用,弹性伸缩,负载均衡,支持回滚 高可用:自动调度和自动修复。(不行就被替代) 弹性伸缩:就是需要的时候加,不需要的时候减少。(外包的精髓) 负载均衡:就是吃大锅饭,有事大家一起上。(发包的时候每个公司都拿点) 支持回滚:随时打回原形。(打回原形) 用4个字记忆就是:弹(蛋)高(糕)均(军)滚(棍) 联想记忆法:有个蛋糕军棍攻击了网络。 蛋和弹同音,代表弹性伸缩 糕和高同音,代表高可用 军与均同音,代表负载均衡 棍与滚同音,代表回滚