随笔分类 - 黄嘉波-笔记汇总
摘要:当 Kubernetes 中的 Pod 一直处于 Init 状态时,通常意味着初始化容器(Init Container)未能成功完成初始化流程。以下是详细的排查步骤: 1. 查看 Pod 状态 使用以下命令查看 Pod 的状态,确认其是否处于 Init 状态: bash复制 kubectl get
阅读全文
摘要:在 Kubernetes 中,资源限制(Resource Limits)和请求(Resource Requests)是通过 Pod 的 spec.containers[].resources 字段进行配置的,这些配置不仅用于资源管理,还会影响 Pod 的服务质量(QoS)等级。以下是详细的配置方法和
阅读全文
摘要:在Kubernetes(K8s)中,Kube-Proxy选择使用ipvs而不是iptables,主要基于以下几点原因: 1. 性能优势 连接跟踪效率: ipvs直接在内核空间处理连接跟踪,减少了用户空间和内核空间之间的切换,从而在处理大量并发连接时表现出更高的性能。 相比之下,iptables需要在
阅读全文
摘要:在 Kubernetes 中进行集群迁移是一项复杂但可以通过合理规划和工具支持来实现的任务。以下是详细的迁移步骤和最佳实践: 1. 迁移前的准备工作 需求分析与规划 评估现有集群:分析集群规模、组件版本、资源利用率等。 确定迁移目标:明确新集群的架构、硬件、软件环境等。 制定迁移计划:包括迁移时间、
阅读全文
摘要:在 Kubernetes 中,Pod 出现 OOM(Out of Memory,内存溢出)状态是一个常见的问题,通常会导致 Pod 被系统 OOM Killer 终止。以下是详细的排查步骤: 1. 确认 OOM 问题 查看 Pod 状态:使用 kubectl get pods 查看 Pod 列表,注
阅读全文
摘要:在 Kubernetes 中,Pod 的亲和性(Affinity)和反亲和性(Anti-affinity)是用于控制 Pod 调度策略的重要机制。对于 Pod 的硬亲和性(requiredDuringSchedulingIgnoredDuringExecution),其行为取决于配置的具体规则。 不
阅读全文
摘要:在 Kubernetes(K8S)环境中,Flannel 和 Calico 是两种常用的容器网络插件,它们在功能、架构、性能、安全性、易用性等方面存在诸多区别,以下是详细对比: 1. 工作原理 Flannel:通过在节点之间创建 overlay 网络来实现容器通信,通常与底层网络技术(如 VXLAN
阅读全文
摘要:在 Kubernetes(K8S)中,如果一个服务通过 Service 的 NodePort 暴露但无法访问,可以按照以下步骤进行排查: 1. 检查 Service 配置 检查 Service 状态:使用以下命令查看 Service 的状态,确认 Service 类型为 NodePort,并且端口映
阅读全文
摘要:在Kubernetes(K8S)中,增加Node(节点)的数量会对集群产生多方面的影响,这些影响既包括正面的也有负面的,具体取决于集群的具体配置和工作负载的需求。以下是对K8S中Node数量增多可能带来的影响的详细分析: 1. 正面影响 提高系统冗余性: 增加Node数量可以提高系统的冗余性。即使某
阅读全文
摘要:在K8S(Kubernetes)与Docker Swarm的比较中,两者各有其独特的优势和不足。以下是详细的对比分析: 1. 架构与设计理念 k8s:采用主从架构,由控制平面和工作节点组成。控制平面负责集群的整体管理和决策,如应用的部署、监控、扩缩容等;工作节点则负责运行应用程序。这种分层的架构使得
阅读全文
摘要:Flannel 是 Kubernetes 中常用的网络插件,用于实现 Pod 之间的跨节点通信。它支持多种工作模式,每种模式都有其特点和适用场景。以下是 Flannel 的主要工作模式及其底层原理: 1. Flannel 的工作模式 Flannel 支持以下几种工作模式: 1.1 VXLAN 模式
阅读全文
摘要:在Kubernetes(K8s)中,Pod的状态反映了Pod在其生命周期中的不同阶段和当前状况。以下是Pod的主要状态及其详细解释: 1. 基本状态 Running: Pod已经绑定到了某个节点,Pod中所有的容器都已被创建,并且至少有一个容器仍在运行,或者正处于启动或重启状态。 Succeeded
阅读全文
摘要:在 Kubernetes(K8S)集群中,日志收集是运维管理的重要环节。以下是几种常见的日志收集方案和工具,以及具体实施步骤: 1. 日志来源 K8S集群的日志主要来源于以下三个方面: 容器内部的日志:容器的标准输出和错误输出会被 Kubernetes 采集并存储。 K8S组件的日志:例如 kube
阅读全文
摘要:在 Kubernetes(K8S)集群中集成 Jenkins 主要包括以下几个步骤:安装 Jenkins、安装 Kubernetes 插件、配置 Kubernetes 云环境以及创建 Jenkins Pipeline。以下是详细的操作过程: 1. 安装 Jenkins 在 K8S 集群中部署 Jen
阅读全文
摘要:在Kubernetes(K8s)中,扩容和缩容是调整集群资源以满足应用程序需求的重要操作。以下是对K8s集群扩容和缩容的详细说明: 1. 扩容K8s集群 扩容操作通常包括增加工作节点的数量或增加Pod副本的数量。 1. 增加工作节点 使用云服务提供商:如果使用的是云服务提供商提供的Kubernete
阅读全文
摘要:在Kubernetes(K8S)中,镜像的拉取策略决定了Pod在启动或重启时如何从镜像仓库拉取镜像。Kubernetes提供了以下几种镜像拉取策略: 1. Always 定义:无论本地是否存在该镜像,总是尝试从远程仓库拉取最新的镜像。 行为: 如果本地没有该镜像,则从远程仓库拉取。 如果本地已经存在
阅读全文
摘要:在Kubernetes中,Service是一种抽象资源,用于定义一组Pod的逻辑集合和访问策略,使得Pod可以通过一个稳定的网络标识符(如IP地址和端口)被访问。Service的类型决定了它如何暴露服务以及如何被外部访问。以下是Kubernetes中常见的Service类型及其作用: 1. Clus
阅读全文
摘要:在Kubernetes(K8S)集群中,如果集群外部突然无法访问到Pod,可以按照以下步骤进行排查: 1. 检查服务类型与端口配置 确认服务类型: 确保服务的类型是NodePort或LoadBalancer,因为这两种类型允许外部访问。 如果使用NodePort,检查是否所有节点的防火墙都允许访问该
阅读全文
摘要:在Kubernetes(K8S)中,外部节点访问Pod主要有以下几种方式: 基于Service的负载均衡 NodePort 原理:通过将Service的类型设置为NodePort,Kubernetes会在每个节点上分配一个静态端口(范围通常为30000-32767),并将该端口上的流量转发到Serv
阅读全文
摘要:在Kubernetes(K8S)中,Pod的调度策略是一个复杂而精细的过程,它受到多种因素的影响。以下是对影响Pod调度策略因素的详细分析: 1. 资源需求与限制 资源请求(Requests):Pod在创建时会声明所需的最小资源量,如CPU和内存。调度器会寻找至少能满足这些资源请求的Node进行调度
阅读全文

浙公网安备 33010602011771号