随笔分类 - 黄嘉波-笔记汇总 / Kubernetes:
摘要:在 Kubernetes (K8S) 中,增加节点的数量会对集群产生多方面的影响。这些影响既包括正面的也有负面的,具体取决于集群的具体配置和工作负载的需求。以下是一些主要的影响: 1. 正面影响 提高可用性 增加节点数量可以提高系统的冗余性,即使某些节点出现故障,其他节点仍然可以继续处理请求。 这有
阅读全文
摘要:在Kubernetes(K8S)中,Flannel和Calico是两种常用的网络插件,它们各自具有不同的特点和应用场景。以下是Flannel和Calico在多个方面的详细区别: 1. 技术基础与数据平面实现 Flannel: 使用虚拟网络(如VXLAN或UDP)来实现数据平面。 通过封装和解封装技术
阅读全文
摘要:在Kubernetes(K8S)中,Flannel是一个广泛使用的容器网络接口(CNI)插件,它提供了一种简单而有效的方法来为集群中的每个容器分配网络,并确保它们可以互相通信。Flannel支持多种工作模式来实现数据报文的转发,其中最常见的是VXLAN、UDP和HOST-GW三种模式。 1. Fla
阅读全文
摘要:在 Kubernetes (K8S) 中,Pod 的状态反映了 Pod 及其内部容器的运行情况。以下是 Pod 可能出现的主要状态及其含义: Pending(等待) Pod 已经被 Kubernetes API 接受,但其容器镜像还未被拉取,或者 Pod 所需的节点资源(如 CPU、内存等)还未满足
阅读全文
摘要:在 Kubernetes (K8S) 集群中收集日志通常涉及到几个层面:容器日志、Kubernetes 组件日志(如 kubelet、kube-apiserver 等)、以及系统日志。下面是一些常用的方法和工具来实现这些目标: 1. 使用 kubectl 命令获取容器日志 可以通过 kubectl
阅读全文
摘要:在Kubernetes (K8s) 中集成Jenkins是一个常见场景,尤其是在持续集成/持续部署 (CI/CD) 流程中。以下是详细的步骤和说明,介绍如何在Kubernetes集群中部署和配置Jenkins。 1. 准备 Kubernetes 集群 确保你有一个运行良好的Kubernetes集群,
阅读全文
摘要:在Kubernetes(K8S)中,扩容和缩容通常指的是调整集群中工作节点(Worker Nodes)的数量或者调整Deployment、StatefulSet、DaemonSet等资源中Pod副本的数量。以下是扩容和缩容的详细步骤: 1. 扩容集群 增加工作节点: 如果你使用的是云服务提供商提供的
阅读全文
摘要:在Kubernetes中,镜像拉取策略(Image Pull Policy)定义了何时从容器镜像仓库拉取或更新容器镜像。这些策略对于管理容器化应用的部署和更新非常重要。Kubernetes提供了以下几种镜像拉取策略: Always: 无论本地是否存在该镜像,总是尝试从远程仓库拉取最新的镜像。这可以确
阅读全文
摘要:在Kubernetes (K8s) 中,Service 是一种抽象,它定义了一组逻辑上相同的服务实例(即Pod)以及访问它们的策略。Service 可以将外部客户端的流量路由到后端的一个或多个Pod。Kubernetes 提供了几种不同类型的 Service,每种都有其特定的用途: ClusterI
阅读全文
摘要:在Kubernetes (K8s) 中,如果突然无法访问到某个Pod,可以按照以下步骤来排查问题: 1. 检查Pod的状态 首先确认Pod的状态是否正常: 使用 kubectl get pods 查看Pod列表及其状态。 使用 kubectl describe pod <pod-name> 获取更详
阅读全文
摘要:在Kubernetes(K8S)中,外部节点访问Pod的方式主要有以下几种: 1. hostNetwork 原理:通过将Pod配置为使用hostNetwork,Pod中的容器将直接看到并共享宿主机的网络接口。这意味着外部流量可以直接通过宿主机的IP地址和端口访问Pod内的服务。 配置示例: apiV
阅读全文
摘要:在Kubernetes(K8S)中,影响Pod调度策略的因素众多,这些因素共同决定了Pod最终将被调度到哪个节点上运行。以下是影响Pod调度策略的主要因素: 1. 资源请求与限额 资源请求(Requests):Pod在创建时会声明需要的最小资源量,如CPU和内存。调度器会寻找至少能满足这些资源请求的
阅读全文
摘要:在Kubernetes(K8S)中,Pod的声明周期是指Pod从创建到终止的整个过程,它涵盖了Pod的多个状态和阶段。以下是Pod声明周期的详细解释: 一、Pod的声明周期概述 Pod的声明周期通常包括以下几个主要阶段:创建、初始化(可选)、运行、终止。在这些阶段中,Pod会经历不同的状态和事件,这
阅读全文
摘要:创建Pod是Kubernetes集群管理的基本操作之一。创建Pod的流程涉及多个组件和步骤,包括API server、Controller Manager、Scheduler等核心组件的交互和协作。以下是创建Pod的一般流程: 发起创建Pod请求 认证授权:用户通过kubectl命令向API Ser
阅读全文
摘要:K8S(Kubernetes)是一个开源的容器编排和管理平台,它提供了容器部署、扩展、管理以及服务发现等功能。K8S的架构可以大致分为控制平面(Control Plane)和工作节点(Worker Nodes)两部分。以下是对K8S架构的详细陈述: 一、控制平面(Control Plane) 控制平
阅读全文
摘要:在Kubernetes(K8S)中,Pod污点(Taints)和容忍度(Tolerations)是两种用于控制Pod调度到特定节点的机制。它们相互配合,允许集群管理员更精细地控制Pod的部署位置,以确保资源的高效利用和服务的稳定运行。 一、Pod污点(Taints) 定义与目的: 污点是一种应用于节
阅读全文
摘要:在Kubernetes中,Pod亲和性(Pod Affinity)是一种策略,它允许你根据特定的规则来控制Pod在集群中的分布。使用Pod亲和性,你可以定义Pod应该或不应该与哪些节点或Pod一起运行。这有助于优化资源使用、提高应用性能、确保数据的局部性以及满足特定的业务需求。 Pod亲和性主要有以
阅读全文
摘要:在Kubernetes中,Flannel负责为Pod提供跨节点的网络连接,但它本身并不直接分配Pod的IP地址。Pod的IP地址是由Kubernetes的网络插件分配的,Flannel只是在这个过程中起到辅助作用。然而,Flannel可以配置为使用特定的网络模式,以支持更灵活的IP地址管理。 以下是
阅读全文
摘要:在Kubernetes(K8S)中,Flannel作为一个流行的容器网络接口(CNI)插件,用于为集群中的容器提供网络互通能力。Flannel支持多种模式来实现其网络功能,主要包括以下几种常见模式: 1. VXLAN模式 描述:VXLAN(Virtual Extensible LAN)是Flanne
阅读全文
摘要:在Kubernetes(K8S)中,有状态应用(StatefulSets)和无状态应用(Stateless applications)是两种不同的应用部署和管理方式,它们在设计和运行时考虑了应用的状态管理需求。 1. 无状态应用(Stateless Applications) 定义:无状态应用是指应
阅读全文