kubernetes
文章平均质量分 72
k8s相关文章
云原生运维
运维工作十年
目前从事云原生运维
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
k8s pod oom排查攻略
通过监控工具(如 Prometheus 或 Grafana)长期跟踪 Pod 的内存使用趋势,帮助定位问题。排查应用代码中是否存在内存泄漏或不合理的内存使用,例如未释放的资源、大对象缓存等。实时监控 Pod 的内存使用情况,确认是否存在内存使用过高或持续增长的情况。检查容器的日志,尤其是应用日志,可能存在内存泄漏或异常内存占用的线索。确保节点本身有足够的内存资源,避免因节点内存不足导致 Pod 被终止。检查 Pod 的 YAML 配置或部署文件,确认容器的内存限制(根据实际内存使用情况,调整 Pod 的。原创 2025-10-31 17:24:40 · 427 阅读 · 0 评论 -
k8s证书过期时间扫描
【代码】k8s证书过期时间扫描。原创 2025-10-29 11:37:04 · 308 阅读 · 0 评论 -
k8s rbac权限最小化实践
通过持续优化上述实践,可显著降低 Kubernetes 集群的横向移动风险,符合零信任架构的安全要求。建议结合 CIS Kubernetes Benchmark 进行周期性安全评估。RBAC(Role-Based Access Control)是 Kubernetes 中用于控制用户或服务账户对资源访问权限的安全模型。原创 2025-10-29 11:35:40 · 636 阅读 · 0 评论 -
k8s pod优雅下线实践
在Kubernetes中,Pod的优雅下线(Graceful Shutdown)是确保服务无中断的关键环节。当Pod需要终止时,系统会发送SIGTERM信号,预留时间让应用完成未完成的任务、释放资源并拒绝新请求,避免数据丢失或客户端错误。部分云厂商的负载均衡器存在同步延迟(如AWS ALB约需15秒)。应用需捕获SIGTERM信号并执行清理逻辑。在Pod的YAML中定义。原创 2025-10-22 17:09:51 · 601 阅读 · 0 评论 -
deployment 字段详解及示例
selector 用于匹配管理的 Pod,必须与 template.metadata.labels 一致。metadata 包含 Deployment 的元数据信息,如名称、命名空间、标签等。minReadySeconds 指定新创建的 Pod 在就绪后必须运行的最小秒数。spec 定义了 Deployment 的期望状态,包括副本数、选择器、模板等。template 定义了 Pod 的模板,包括 metadata 和 spec。status 显示了 Deployment 的当前状态,由系统自动生成。原创 2025-10-17 16:16:39 · 420 阅读 · 0 评论 -
sql转prometheus指标神器:query-exporter
query-exporter 是一个开源工具,用于将 SQL 数据库查询结果转换为 Prometheus 可识别的指标格式。它通过配置文件定义 SQL 查询和对应的指标映射规则,周期性执行查询并将结果导出为 Prometheus 的/metrics端点。原创 2025-10-17 14:26:29 · 314 阅读 · 0 评论 -
k8s二次开发必备技能
掌握以上内容后,可针对特定场景(如自动化运维、AI 调度等)进行深度定制开发。建议从修改小型 Controller 或开发简单 Operator 开始实践。Kubernetes 及周边生态项目(如 Operator、CRD 等)主要使用 Go 语言开发。原创 2025-10-15 10:14:49 · 532 阅读 · 0 评论 -
k8s nginx ingress介绍
Nginx Ingress 是 Kubernetes 中基于 Nginx 的 Ingress 控制器,用于管理集群内外部流量的路由规则。它将外部请求路由到集群内不同的服务,支持基于域名、路径等规则的灵活配置。原创 2025-10-13 10:07:50 · 595 阅读 · 0 评论 -
TLS在Kubernetes中的作用
TLS对Kubernetes组件间的数据传输进行加密(如API Server与kubelet、etcd等),防止中间人攻击或数据泄露。例如,所有API请求默认通过HTTPS(基于TLS)传输。TLS(Transport Layer Security)在Kubernetes中用于保障集群内外的通信安全,确保数据在传输过程中加密且身份可信。Kubernetes使用TLS双向认证(mTLS)确保只有持有有效证书的实体才能访问集群资源。通过TLS,Kubernetes构建了安全的通信框架,是集群安全性的基石之一。原创 2025-10-10 14:51:34 · 648 阅读 · 0 评论 -
k8s opa集成
开放策略代理(Open Policy Agent, OPA)是一个开源的通用策略引擎,可用于统一实现跨技术栈的策略管理。它通过声明式语言(Rego)定义策略,并将策略决策与应用程序解耦,适用于访问控制、资源配额、合规性检查等场景。原创 2025-10-09 10:50:07 · 385 阅读 · 0 评论 -
Kubernetes 1.34 新特性概览
Kubernetes 1.34 版本带来了多项重要更新,覆盖了资源管理、存储、网络、调度等核心功能领域。这些改进进一步提升了 Kubernetes 的稳定性、性能和灵活性,使其更适合于生产环境中的大规模部署。动态资源分配功能允许 Pod 请求特定类型的资源(如 GPU、FPGA 等)而无需预先静态分配。这一功能现在进入 Beta 阶段,提供了更灵活的资源配置方式,特别适用于异构计算环境。Kubernetes 1.34 是一个重要的版本更新,引入了多项功能增强、稳定性改进和实验性特性。原创 2025-10-09 10:44:15 · 556 阅读 · 0 评论 -
配置Grafana以显示Kubernetes所有Workload类型变量
在Grafana中配置Kubernetes监控面板时,需要通过Prometheus数据源查询并显示不同Workload类型(如Deployment、StatefulSet、DaemonSet等)。通过以上配置,可以创建动态的Kubernetes监控仪表板,实时查看各类Workload的运行状态和资源使用情况。此变量会列出所选命名空间下的所有Pod名称,作为基础数据源。原创 2025-10-09 10:39:26 · 381 阅读 · 0 评论 -
k8s基础监控promql
PromQL(Prometheus Query Language)是 Prometheus 的时间序列数据查询语言,用于监控 Kubernetes 集群中的资源指标。通过以上 PromQL 查询,可以全面监控 Kubernetes 集群的节点、Pod、服务等核心组件的状态和性能。原创 2025-10-09 10:36:28 · 536 阅读 · 0 评论 -
动手模拟k8s网络-vxlan模式
VETH Pair(虚拟以太网设备对)和 VXLAN(虚拟可扩展局域网)是 Linux 网络虚拟化中常用的技术,用于跨主机通信。通过以上步骤,可以在多台机器上实现基于 VETH Pair 和 VXLAN 的跨主机通信。VXLAN 是一种隧道技术,用于在现有网络(如 Internet)上封装和传输二层帧。重复以上命令在其他机器上创建 VETH Pair,注意避免 IP 地址冲突。(IP: 10.0.1.20),目标是通过VXLAN实现二层互通。:如果使用多播模式(而非点对点),需确保网络支持多播。原创 2025-10-09 10:07:02 · 669 阅读 · 0 评论 -
API Server解密:集群的唯一切入点与通信枢纽
其核心功能围绕请求的安全性和可靠性展开,确保集群状态的一致性和操作的合规性。通过RBAC(基于角色的访问控制)或ABAC(基于属性的访问控制)验证请求的权限。通过Aggregated API Server支持功能扩展,允许将自定义API挂载到主API Server下,保持统一的访问入口。例如,两个并发更新操作中,版本号过期的请求会被拒绝。确保资源对象的字段符合Kubernetes API规范,如检查Pod的必填字段是否完整、端口号是否合法。将HTTP请求转换为Etcd的键值操作,维护资源对象的持久化存储。原创 2025-09-24 10:19:30 · 585 阅读 · 0 评论 -
k8s安全机制解析:RBAC、Service Account与安全上下文
通过定义Role(命名空间内权限)或ClusterRole(集群范围权限),再通过RoleBinding或ClusterRoleBinding将权限绑定到用户、组或服务账户。服务账户是为Pod中运行的进程设计的特殊身份标识,默认挂载到/var/run/secrets/kubernetes.io/serviceaccount。安全上下文通过内核级安全机制限制容器行为,包括Linux Capabilities、SELinux/AppArmor、Seccomp、只读根文件系统等。原创 2025-09-24 10:17:49 · 509 阅读 · 0 评论 -
CRI与容器运行时:从Kubelet到Container的最后一公里
Kubelet是Kubernetes集群中的关键组件,负责管理节点上的Pod生命周期。它通过监听API Server获取分配给当前节点的Pod清单,并确保这些Pod中的容器按预期运行。容器运行时接口(CRI)是Kubelet与容器运行时之间的抽象层,定义了标准gRPC协议。CRI解耦了Kubelet与具体容器运行时的实现细节,使得Kubernetes可以支持多种容器运行时。随着WebAssembly等新型运行时的出现,CRI将继续作为扩展Kubernetes容器支持的基础接口。原创 2025-09-23 16:33:15 · 425 阅读 · 0 评论 -
存储设计与Volume原理:如何为容器提供持久化存储?
Kubernetes通过抽象层将存储资源与容器解耦,允许动态分配和管理持久化存储。存储卷(Volume)是Pod级别的资源,挂载到容器文件系统的特定路径。集群级别的存储资源,由管理员预配置或动态供给。原创 2025-09-23 10:26:11 · 735 阅读 · 0 评论 -
Ingress原理:七层流量的路由管家
用户通过YAML文件定义Ingress资源,指定路由规则、后端服务及TLS配置。原创 2025-09-23 10:23:54 · 989 阅读 · 0 评论 -
Service与网络:Pod如何实现可靠通信
Service 通过 Endpoints 对象维护当前匹配的 Pod IP 列表。当 Pod 状态变化时,Endpoints 自动更新,确保流量仅路由到健康的 Pod。若需直接访问 Pod(如 StatefulSet),可创建无 ClusterIP 的 Service(Service 作为抽象层,屏蔽了 Pod 的动态变化(如扩缩容、重启),确保通信稳定性。Kubernetes 中 Pod 通过 Service 实现可靠通信的核心机制是。),DNS 会返回所有 Pod IP 供客户端选择。原创 2025-09-22 17:03:07 · 494 阅读 · 0 评论 -
Etcd详解:Kubernetes的大脑与记忆库
Etcd是一个高可用的分布式键值存储系统,主要用于共享配置和服务发现。它由CoreOS开发,现已成为Cloud Native Computing Foundation(CNCF)的核心项目之一。Etcd的设计目标是简单、安全和高效,特别适合作为分布式系统的数据存储后端。原创 2025-09-22 10:39:33 · 955 阅读 · 0 评论 -
k8s网络模型概述
每个 Pod 拥有独立的 IP 地址,且所有 Pod 可以直接通信(无需 NAT)。节点上的 Pod 可以与所有节点上的所有 Pod 通信。Pod 内部容器共享网络命名空间,通过localhost直接通信。这一模型通过插件(如 CNI)实现,抽象了底层网络细节。原创 2025-09-22 10:31:37 · 951 阅读 · 0 评论 -
k8s自定义CNI插件实现指南
Kubernetes CNI(Container Network Interface)插件负责容器网络的配置和管理。以下是一个实现自定义CNI插件的详细指南,包含Demo代码。原创 2025-09-19 15:14:24 · 591 阅读 · 0 评论 -
Kubernetes 的现状与未来
新兴技术如 Serverless 在事件驱动型场景中表现优异,但这与 K8s 的常驻服务管理能力形成互补而非替代关系。行业中的争议主要源于对其复杂性和适用场景的误解,但实际数据表明,K8s 的采用率仍在持续增长,尤其在大型企业和云原生生态中。混合云场景下,K8s 的联邦集群能力实现跨云资源统一调度。Kubernetes 正在从“万能解决方案”转变为“核心基础设施层”,其生命力体现在持续的生态创新和行业标准化进程中。对于需要构建弹性、可移植应用系统的组织而言,它仍是当前技术栈中最成熟的选择。原创 2025-09-19 10:14:33 · 330 阅读 · 0 评论 -
Kubernetes 调度GPU资源的方法
在 Kubernetes 中调度 GPU 资源需要结合设备插件机制和资源声明方式。该插件会将节点上的 GPU 信息上报给 Kubernetes 调度器。原创 2025-09-18 17:21:11 · 397 阅读 · 0 评论 -
k8s自定义调度器实现路径
Kubernetes调度器核心功能是将未调度的Pod分配到满足条件的Node上。默认调度器通过预选(Predicates)和优选(Priorities)两个阶段完成调度决策。自定义调度器允许开发者完全控制调度逻辑,或扩展默认调度器行为。Watch机制:监听API Server的Pod变化,过滤出未调度的Pod(为空且匹配)。调度算法:实现自定义的节点选择逻辑,可能包含资源评估、亲和性规则等。Bind操作:将调度决策通过API Server更新到Pod的字段。原创 2025-09-18 16:59:23 · 965 阅读 · 0 评论 -
k8s APIService详解
APIService 是 Kubernetes 聚合层(API Aggregation Layer) 的核心资源对象。它是在 Kubernetes 1.7 版本中引入的一种强大扩展机制,允许你将新的、自定义的 API 动态地注册到 Kubernetes API 服务器(kube-apiserver)上。原创 2025-09-18 10:29:16 · 1039 阅读 · 0 评论 -
Kubernetes Webhook 详解
Conversion Webhook 用于处理自定义资源(CRD)的多版本转换。当客户端请求的 CRD 版本与存储版本不一致时,API Server 会调用 Conversion Webhook 进行版本转换。Kubernetes Webhook 是一种扩展机制,允许用户在 API 请求的生命周期中注入自定义逻辑。Admission Webhook 在资源创建、更新或删除时触发,用于验证或修改资源。用于修改资源的内容,例如注入默认值或附加字段(如 Sidecar 容器)。,分别用于准入控制和资源版本转换。原创 2025-09-17 16:49:37 · 530 阅读 · 0 评论 -
Kubernetes API Server详解
Kubernetes API Server 是 Kubernetes 控制平面的核心组件,负责处理所有 RESTful API 请求,管理集群状态,并作为集群内部和外部通信的网关。以下是其核心功能和架构的详细解析。原创 2025-09-17 10:20:35 · 841 阅读 · 0 评论 -
Kubernetes Controller Manage介绍
Kubernetes Controller Manager 是 Kubernetes 控制平面的核心组件之一,负责运行各种控制器,确保集群的当前状态与期望状态保持一致。它通过监听 API Server 的资源变化,执行调谐(Reconcile)逻辑,实现自动化管理。用户可通过 Kubernetes 的client-go库和框架开发自定义控制器。定义 CRD(Custom Resource Definition)。实现 Reconcile 逻辑。使用 Manager 注册控制器并启动。原创 2025-09-17 10:15:20 · 769 阅读 · 0 评论 -
k8s调度-面试必备
Kubernetes调度器(Scheduler)是控制平面的核心组件之一,负责将未绑定的Pod分配到合适的Node上运行。调度过程基于资源需求、约束条件以及集群状态进行决策。原创 2025-09-17 10:10:27 · 855 阅读 · 0 评论 -
k8s污点与容忍介绍
污点和容忍是Kubernetes调度机制的核心组成部分,用于控制Pod在节点上的部署逻辑。污点是节点属性,用于标记节点拒绝某些Pod;容忍是Pod属性,允许Pod调度到带有特定污点的节点上。污点(Taint)由键(key)、值(value)和效果(effect)组成,格式为。效果分为三类:NoSchedule:禁止调度(已运行的Pod不受影响)。:尽量避免调度。NoExecute:禁止调度且驱逐已运行但不满足容忍的Pod。容忍(Toleration)定义在Pod的中,匹配节点的污点以实现调度。原创 2025-09-16 10:41:07 · 633 阅读 · 0 评论 -
k8s节点网络失联后会发生什么
Kubernetes节点网络失联会导致节点状态变为NotReady,Pod被驱逐重新调度,服务流量中断。关键影响包括:控制平面无法操作失联节点上的Pod,存储卷数据可能丢失,以及服务完全不可用等风险。建议调整监控容忍时间、配置PodDisruptionBudget和实施拓扑分布约束来增强容错能力。网络分区时需特别注意控制平面隔离导致的集群只读问题,可通过部署多区域控制平面和手动标记节点来缓解。网络恢复后系统会自动尝试恢复工作负载。原创 2025-09-16 10:47:13 · 945 阅读 · 0 评论 -
k8s pod优雅滚动更新实践
在Kubernetes中,优雅滚动更新(Graceful Rolling Update)是确保服务不中断的关键策略。通过Istio/Linkerd实现流量镜像或金丝雀发布,逐步验证新版本。在Deployment中定义。原创 2025-09-16 11:06:07 · 418 阅读 · 0 评论 -
k8s隔离pod保留排障现场技巧
通过修改Pod的标签,使其与控制器(如Deployment、StatefulSet)的标签选择器不匹配,控制器将不再管理该Pod。这可以防止控制器在排障期间自动重启或删除问题Pod。当业务pod发生cpu高负载,内存使用率持续增长有oom风险时,通过隔离pod方式保留故障pod现场,方便定位排查根因。若需临时限制Pod的资源消耗以避免影响集群,可通过。排障后恢复副本数即可重新调度。原创 2025-09-16 11:28:34 · 281 阅读 · 0 评论 -
k8s事件驱动运维利器 shell operator
Shell-Operator 是 Kubernetes 的一个工具,用于通过 shell 脚本扩展集群功能。它允许用户编写简单的脚本(Bash、Python 等)来响应 Kubernetes 事件(如资源变更、定时任务),无需编译复杂的控制器。原创 2025-09-15 15:50:12 · 833 阅读 · 0 评论 -
Kubernetes 可观测性架构设计
Kubernetes 可观测性通常由三大支柱构成:指标监控(Metrics)、日志收集(Logging)和分布式追踪(Tracing)。现代系统通常会结合 Prometheus、Loki 和 Jaeger 等工具实现全栈观测。原创 2025-09-16 16:15:32 · 568 阅读 · 0 评论
分享