96SEO 2026-02-20 08:07 14
组件3、K8S创建Pod的工作流程重点4、K8S资源对象重点5、Kubernetes

(K12345678S)PS“嘛写全称也太累了吧不如整个缩写”。
用于自动部署、扩展和管理“容器化containerized应用程序”的开源系统。
K8S由google的Borg系统(博格系统google内部使用的大规模容器编排工具)作为原型后经GO语言延用Borg的思路重写并捐献给CNCF基金会开源。
云原生基金会CNCF于2015年12月成立隶属于Linux基金会。
CNCF孵化的第一个项目就是Kubernetes随着容器的广泛使用Kubernetes已经成为容器编排工具的事实标准。
https://github.com/kubernetes/kubernetes
试想下传统的后端部署办法把程序包包括可执行二进制文件、配置文件等放到服务器上接着运行启动脚本把程序跑起来同时启动守护脚本定期检查程序运行状态、必要的话重新拉起程序。
设想一下如果服务的请求量上来已部署的服务响应不过来怎么办传统的做法往往是如果请求量、内存、CPU超过阈值做了告警运维人员马上再加几台服务器部署好服务之后接入负载均衡来分担已有服务的压力。
这样问题就出现了从监控告警到部署服务中间需要人力介入那么有没有办法自动完成服务的部署、更新、卸载和扩容、缩容呢
K8S是Google开源的容器集群管理系统在Docker等容器技术的基础上为容器化的应用提供部署运行、资源调度、服务发现和动态伸缩等一系列完整功能提高了大规模容器集群管理的便捷性。
●通过自动布局、自动重启、自动复制、自动伸缩实现应用的状态检查与自我修复。
●为多个容器提供服务发现和负载均衡使得用户无需考虑容器IP问题。
Docker旗下的容器多机编排工具是实现Docker容器集群管理调度的工具
Google旗下的容器多机编排工具占据80%以上的市场份额已经成为容器编排工具的事实标准
mesos分布式资源管理框架可以对集群中的多台主机的硬件资源进行统一调度和管理
marathonmesos的容器编排框架用来调度和运行容器服务
2、controller-manager控制器管理器负责管理为Pod副本集、命名空间、端点、node等资源对象以及部署的控制器通过apiserver监控整个K8S集群的状态并确保集群处于预期的工作状态
3、scheduler资源调度器负责Pod资源的调度通过调度算法预选策略、优选策略为部署的Pod选择最适合的node节点
K8S集群的数据库是一种键值对存储结构的分布式数据库负责存储K8S集群所有的重要信息只有apiserver有读写权限
kubelet接收master发来的请求创建和管理Pod和容器跟容器引擎交互实现容器的生命周期的管理收集node节点的资源信息和Pod的运行状态汇报给master的apiserver
kube-proxy作为service资源的载体实现Pod的网络代理维护网络规则和四层负载均衡工作
1用户通过客户端发送创建Pod的请求到master节点上的apiserver
2apiserver会先把请求信息写入到etcd中保存再找controller-manager根据预设的资源配置模板创建Pod资源
3然后controller-manager会通过apiserver去找scheduler为新创建的Pod选择最合适的node节点
4scheduler通过调度算法的预选策略和优选策略筛选出最合适的node节点进行调度
5然后再通过apiserver找到对应的node节点上的kubelet去创建和管理Pod
7用户还可通过apiserver在kube-proxy上写入网络规则创建service资源实现对Pod的服务发现和负载均衡
Pod是K8S能够创建和管理的最小单元。
一个Pod里可以包含一个或者多个应用容器Pod里的容器之间共享网络、存储等资源。
Pod控制器deployment部署无状态应用。
同时也负责管理replicaset维持Pod副本数量符合期望数量和Pod一个容器化的应用进程
job一次性的部署短期任务的PodPod执行完任务就会自动退出
cronjob周期性的部署短期任务的PodPod执行完任务就会自动退出
包含多种类型的资源对象Pod、Label、Service、Replication
Kubernets其实是一个高度自动化的资源控制系统通过跟踪对比etcd存储里保存的资源期望状态与当前环境中的实际资源状态的差异来实现自动控制和自动纠错等高级功能。
里可以运行多个容器又叫边车模式SideCar。
而在生产环境中一般都是单个容器或者具有强关联互补的多个容器组成一个
也可以被添加到任意数量的资源对象中也可以在对象创建后动态添加或者删除。
区别在于有效的标签值必须为63个字符或更少并且必须为空或以字母数字字符[a-z0-9A-Z]开头和结尾中间可以包含横杠-、下划线_、点.和字母或数字。
注释值则没有字符长度限制。
Label就相当于给它打了一个标签随后可以通过标签选择器Label
标签选择器目前有两种基于等值关系等于、不等于和基于集合关系属于、不属于、存在。
在K8S的集群里虽然每个Pod会被分配一个单独的IP地址但由于Pod是有生命周期的它们可以被创建而且销毁之后不会再启动随时可能会因为业务的变更导致这个
并不是我们常说的“服务”的含义而更像是网关层可以看作一组提供相同服务的Pod的对外访问接口、流量均衡器。
Balance的功能自动把请求流量分布到后端所有的服务上Service
userspace废弃、iptables濒临废弃、ipvs推荐性能最好来实现网络的转发。
服务的核心屏蔽了服务细节统一对外暴露服务接口真正做到了“微服务”。
比如我们的一个服务
集群内部的网络拓扑那么集群外部怎么访问集群内部呢这个时候就需要
版本apiversion、类别kind、元数据metadata、定义清单spec、状态status等配置信息。
有default、kube-system、kube-public
Minikube是一个工具可以在本地快速运行一个单节点微型K8S仅用于学习、预览K8S的一些特性使用。
部署地址https://kubernetes.io/docs/setup/minikube
https://kubernetes.io/docs/reference/setup-tools/kubeadm/kubeadm/
生产首选从官方下载发行版的二进制包手动部署每个组件和自签TLS证书组成K8S集群新手推荐。
https://github.com/kubernetes/kubernetes/releases
Kubeadm降低部署门槛但屏蔽了很多细节遇到问题很难排查。
如果想更容易可控推荐使用二进制包部署Kubernetes集群虽然手动部署麻烦点期间可以学习很多工作原理也利于后期维护。
更稳定集群规模到达一定的规模(几百个节点、上万个Pod)二进制稳定性是要高于kubeadm部署
是以一种容器管理容器的方式允许的组件及服务故障恢复时间比二进制慢
遇到故障启动宿主机再启动进程最后去启动容器集群才能恢复速度比二进制慢
作为专业的SEO优化服务提供商,我们致力于通过科学、系统的搜索引擎优化策略,帮助企业在百度、Google等搜索引擎中获得更高的排名和流量。我们的服务涵盖网站结构优化、内容优化、技术SEO和链接建设等多个维度。
| 服务项目 | 基础套餐 | 标准套餐 | 高级定制 |
|---|---|---|---|
| 关键词优化数量 | 10-20个核心词 | 30-50个核心词+长尾词 | 80-150个全方位覆盖 |
| 内容优化 | 基础页面优化 | 全站内容优化+每月5篇原创 | 个性化内容策略+每月15篇原创 |
| 技术SEO | 基本技术检查 | 全面技术优化+移动适配 | 深度技术重构+性能优化 |
| 外链建设 | 每月5-10条 | 每月20-30条高质量外链 | 每月50+条多渠道外链 |
| 数据报告 | 月度基础报告 | 双周详细报告+分析 | 每周深度报告+策略调整 |
| 效果保障 | 3-6个月见效 | 2-4个月见效 | 1-3个月快速见效 |
我们的SEO优化服务遵循科学严谨的流程,确保每一步都基于数据分析和行业最佳实践:
全面检测网站技术问题、内容质量、竞争对手情况,制定个性化优化方案。
基于用户搜索意图和商业目标,制定全面的关键词矩阵和布局策略。
解决网站技术问题,优化网站结构,提升页面速度和移动端体验。
创作高质量原创内容,优化现有页面,建立内容更新机制。
获取高质量外部链接,建立品牌在线影响力,提升网站权威度。
持续监控排名、流量和转化数据,根据效果调整优化策略。
基于我们服务的客户数据统计,平均优化效果如下:
我们坚信,真正的SEO优化不仅仅是追求排名,而是通过提供优质内容、优化用户体验、建立网站权威,最终实现可持续的业务增长。我们的目标是与客户建立长期合作关系,共同成长。
Demand feedback