随笔分类 - 黄嘉波-笔记汇总 / Kubernetes:
摘要:在Kubernetes(K8s)中,外部访问集群内的服务通常依赖于几种不同的方法,这些方法的选择取决于集群的部署环境、网络架构以及安全性和可扩展性的要求。以下是一些常见的方式: 1. 使用NodePort类型的Service 定义:NodePort类型的Service会在每个集群节点上开放一个特定的
阅读全文
摘要:在Kubernetes(K8s)中,Headless Service(无头服务)是一种特殊类型的服务发现机制,它允许用户直接访问集群中的Pod实例,而不是通过Service的负载均衡机制转发到某个具体的Endpoint(Pod)。以下是关于Headless Service的详细解释: 1. 定义与特
阅读全文
摘要:在Kubernetes(K8s)中,Service分发后端的策略主要涉及到如何将外部请求流量有效地分发到集群内部的后端Pod上。以下是K8s中Service分发后端策略的详细解释: 1. 默认负载均衡策略 Kubernetes默认的负载均衡策略是轮询(Round Robin)。在这种策略下,Serv
阅读全文
摘要:在Kubernetes(K8s)中,Service是一种抽象层,它定义了一种资源的逻辑集合和访问它们的策略。Service通过选择器(label selector)将一组Pod资源进行分组,并为它们分配一个统一的访问入口(单一接入点)。K8s中的Service类型主要有以下几种: 1. Cluste
阅读全文
摘要:在Kubernetes(K8s)中,自动扩容机制是一项关键功能,它根据应用程序的负载情况动态地调整集群中Pod的数量,以确保服务的稳定性和高效性。以下是对K8s自动扩容机制的详细解释: 1. 定义与目的 自动扩容机制通过监控Pod的资源使用情况,如CPU使用率、内存使用率等,当这些资源的使用超过预设
阅读全文
摘要:在Kubernetes(K8s)中,DaemonSet是一种特殊的控制器资源对象,其核心特性和用途使得它非常适合用于在集群的每个节点上运行守护进程或服务。以下是DaemonSet类型的资源特性的详细阐述: 1. 确保每个节点上运行Pod副本 节点级部署:DaemonSet确保集群中的每个节点(或满足
阅读全文
摘要:在Kubernetes(K8s)中,Deployment的升级策略主要用于控制Pod副本的更新过程,以确保应用程序的平滑过渡和最小化的服务中断。以下是Kubernetes中Deployment升级策略的详细说明: 1. 滚动更新(RollingUpdate) 概述: 滚动更新是Deployment的
阅读全文
摘要:在Kubernetes(K8s)中,Deployment的升级过程是一个受控且平滑的过程,用于将应用的新版本无缝地替换旧版本。以下是Deployment升级过程的详细步骤: 1. 更新Deployment配置 准备新版本镜像或配置: 确定新版本的应用程序镜像或需要更改的配置。 更新Deploymen
阅读全文
摘要:在Kubernetes(K8s)中,初始化容器(InitContainer)是一种特殊的容器,它在Pod的主容器启动之前运行,并执行一系列初始化任务。以下是关于初始化容器作用的详细解释: 1. 定义与特性 定义:初始化容器是定义在Pod规格中的一个或多个容器,它们在Pod中的任何应用程序容器(即普通
阅读全文
摘要:在Kubernetes(K8s)中,Pod的调度是一个关键过程,它决定了Pod在集群中的哪个节点上运行。K8s提供了多种调度方式,以满足不同应用的需求。以下是Pod常见的调度方式: 1. 默认调度(自由调度) 功能:Kubernetes的默认调度器(kube-scheduler)会根据一系列内置的调
阅读全文
摘要:在 Kubernetes 中,Pod 的 Liveness Probe 探针用于确定何时重启容器。以下是 Liveness Probe 的常见方式: ExecAction: 在容器内执行命令。如果命令执行成功(返回码为0),则认为容器健康。否则,kubelet 会杀死并重启容器。 配置示例: liv
阅读全文
摘要:在 Kubernetes 中,Pod 的健康检查是通过探针(Probe)来实现的,主要有三种类型的探针:存活探针(Liveness Probe)、就绪探针(Readiness Probe)和启动探针(Startup Probe)。以下是这些探针的详细介绍和配置方式: 存活探针(Liveness Pr
阅读全文
摘要:在 Kubernetes 中,Pod 的重启策略(restartPolicy)是一个重要的属性,它定义了容器在终止后是否需要重启以及如何重启。Pod 的 spec 中包含一个 restartPolicy 字段,其可能取值包括 Always、OnFailure 和 Never。以下是每种策略的详细说明
阅读全文
摘要:在 Kubernetes (K8s) 中创建一个 Pod 的主要流程可以分为以下几个步骤: 1. 编写 Pod 的配置文件 首先,你需要编写一个 YAML 或 JSON 格式的配置文件来定义 Pod 的属性。这个文件至少包含 Pod 的元数据(如名称、标签等)以及 Pod 规格(如容器的镜像、端口映
阅读全文
摘要:在Kubernetes(K8S)中,Pod作为最基本的部署单元,其状态反映了Pod的生命周期和当前状况。Pod可能处于以下几种状态: Pending(等待中): Pod被创建后,正在等待调度器分配所需的节点资源。 可能的原因包括等待调度、等待下载镜像、资源不足(如CPU、内存)导致调度器无法找到合适
阅读全文
摘要:在 Kubernetes (K8S) 中,静态 Pod(Static Pod)是一种特殊的 Pod 类型,它并不是通过 Kubernetes API Server 进行管理的,而是直接存在于节点上的。静态 Pod 的配置文件通常放置在节点上的特定目录中,由 `kubelet` 直接读取并创建和管理
阅读全文
摘要:在Kubernetes(K8s)中,kube-proxy是负责服务发现和负载均衡的关键组件,它支持多种代理模式,其中IPVS和iptables是两种常用的模式。以下是kube-proxy在IPVS和iptables模式下的异同点: 1. 相同点 服务发现和负载均衡: IPVS和iptables模式都
阅读全文
摘要:在Kubernetes(K8S)中,kube-proxy 的 IPVS 模式是一种高性能的负载均衡解决方案,它利用 Linux 内核的 IPVS(IP Virtual Server)功能来实现服务的负载均衡。以下是 kube-proxy 在 IPVS 模式下的工作原理: 监听API服务器:kube-
阅读全文
摘要:在 Kubernetes 中,kube-proxy 使用不同模式来实现其功能,其中 iptables 模式是早期广泛使用的模式之一。下面详细介绍 kube-proxy 使用 iptables 模式的基本原理。 1. iptables 原理概述 iptables 是 Linux 内核的一部分,用于定义
阅读全文
摘要:在Kubernetes(K8S)中,kube-proxy 是一个关键组件,它负责实现 Kubernetes Service 的通信和负载均衡机制。以下是 kube-proxy 的主要作用和工作原理: 服务代理和负载均衡:kube-proxy 作为集群内部的负载均衡器,负责将进入的请求转发到后端的 P
阅读全文