随笔分类 - 黄嘉波-笔记汇总 / Kubernetes:
摘要:在Kubernetes(K8S)中,Service是一种抽象,它定义了一组逻辑上的Pods以及访问这些Pods的策略。Service解决了Pods的生命周期管理和通信问题,提供了稳定的网络端点和负载均衡机制,确保应用程序的高可用性和可扩展性。Kubernetes支持多种类型的Service,每种类型
阅读全文
摘要:在Kubernetes中,Deployment 和 StatefulSet 都是用来管理应用的资源对象,但是它们的设计目的和服务场景有所不同。下面详细解释这两种资源的区别: 1. Deployment 用途: Deployment 主要用于管理无状态应用,即那些不需要持久化数据或者不需要唯一网络标识
阅读全文
摘要:在Kubernetes中,Deployment 提供了一种非常强大的方式来更新应用,同时保持应用的可用性。以下是使用 Deployment 进行应用升级的过程,包括滚动更新、回滚、暂停和恢复更新等操作。 1. 升级过程 准备工作: 确保你有一个现有的 Deployment。 准备新的容器镜像或者其他
阅读全文
摘要:在Kubernetes(K8S)中,Deployment的创建过程是一个涉及多个组件和步骤的复杂流程。以下是一个详细的步骤说明,包括从创建Deployment配置文件到Pod在集群中实际运行的整个过程: 1. 创建Deployment配置文件 首先,需要准备一个YAML格式的配置文件,用于定义Dep
阅读全文
摘要:在Kubernetes中,Deployment 是用来声明式地管理无状态应用的声明周期的API对象。一个典型的Deployment YAML 文件包含了一系列的字段,用于定义应用的期望状态。以下是编写Deployment YAML 文件的基本步骤和要点: 定义API版本 (apiVersion):
阅读全文
摘要:在K8S中,API Server(kube-apiserver)的高可用性是通过冗余部署、负载均衡、共享存储、健康检查与自动恢复以及同步时间等策略来实现的。下面将详细阐述每一种实现机制,并探讨它们如何共同确保集群在面对故障时能够保持服务的连续性和稳定性: 冗余部署 无状态特性:kube-apiser
阅读全文
摘要:在 Kubernetes (K8S) 中,有两种主要的安装方法:二进制安装和使用 kubeadm 安装。这两种方法各有优缺点,适用于不同的场景和需求。下面详细解释这两种安装方法的区别: 1. 二进制安装 定义 二进制安装 是指手动下载 Kubernetes 组件(如 kubelet、kube-api
阅读全文
摘要:在 Kubernetes (K8S) 中,Pods 可以根据其创建和管理的方式分为几类。下面是三种常见的 Pod 类型:静态 Pod、自主式 Pod 和动态 Pod。 1. 静态 Pod (Static Pods) 定义: 静态 Pod 是一种特殊的 Pod 类型,它们不是通过 Kubernetes
阅读全文
摘要:在 Kubernetes (K8S) 中,Pod 的生命周期涉及多个状态,这些状态反映了 Pod 从创建到终止的各个阶段。以下是 Pod 生命周期中的主要状态: Pending (挂起): Pod 已经被创建,但至少有一个容器镜像尚未创建。 这个状态还包括 Pod 被调度到节点之前的时间,以及等待镜
阅读全文
摘要:在 Kubernetes (K8S) 中,镜像的更新策略主要由 imagePullPolicy 参数控制。当 Pod 中的容器镜像需要更新时,Kubernetes 会根据这个策略决定如何处理镜像的拉取行为。imagePullPolicy 是 Pod 规范的一部分,它影响着容器镜像的拉取方式。以下是
阅读全文
摘要:在 Kubernetes (K8S) 中,Pod 的重启策略(Restart Policy)是指当 Pod 或其容器失败时 Kubernetes 如何处理这些失败的情况。每个 Pod 都有一个重启策略来控制其容器的重启行为。重启策略是在 Pod 规范中定义的,并且可以为 Pod 中的所有容器指定相同
阅读全文
摘要:在Kubernetes(K8S)中,删除一个Pod会触发一系列操作,包括向容器发送终止信号、清理资源以及可能的重新调度。以下将详细阐述具体过程: 用户发出删除命令 命令提交:用户通过kubectl命令行工具或者API接口发出删除Pod的请求,例如执行kubectl delete pod <pod-n
阅读全文
摘要:在Kubernetes(K8S)中,Pod的创建过程涉及多个核心组件的紧密协作,包括API server、Scheduler、Kubelet等。 这一过程从用户提交创建请求开始,到Pod在节点上的最终运行,每一步都至关重要。以下是详细的步骤: 用户提交创建请求 创建请求提交:用户通过kubectl命
阅读全文
摘要:在 Kubernetes (K8s) 中,Pod 的容器可以通过探针(Probes)来检测容器的健康状况和就绪状态。探针主要用于确保容器能够正确启动并在运行过程中保持健康状态。Kubernetes 支持三种类型的探针: livenessProbe (存活探针) readinessProbe (就绪探
阅读全文
摘要:在 Kubernetes(K8s)中,实现高可用性(HA)对于保证系统的稳定性和可靠性至关重要。Kubernetes 的设计本身就考虑到了高可用性的需求,无论是控制平面组件还是节点组件,都有相应的机制来确保系统的健壮性。下面将详细介绍各个组件如何实现高可用性。 1. 控制平面组件的高可用性 1. A
阅读全文
摘要:Kubernetes(常简称为 K8s)是一个开源系统,用于自动化部署、扩展和管理容器化应用。它提供了一个框架来运行分布式系统,使得开发者可以轻松地部署和管理容器化的应用程序。Kubernetes 由许多不同的组件组成,这些组件可以分为两大类:控制平面组件和节点组件。 1. 控制平面组件 控制平面组
阅读全文
摘要:在K8S中,可以通过Downward API将Pod和Namespace的名字注入到容器内的环境变量或文件中。这种方法允许容器内部的应用直接访问这些信息,从而进行相应的配置或处理。具体技术介绍如下: 环境变量获取 获取Pod名称:在Pod的配置中,可以通过设置一个环境变量,将Pod的名称注入到容器内
阅读全文
摘要:在K8S中,ip-cer-pod与docker原生端口映射的区别在于网络模型、服务暴露以及集群内部通信等方面。具体区别介绍如下: 网络模型 Docker原生端口映射:Docker使用NAT技术在宿主机上创建端口转发规则,使得来自宿主机外部的流量能够到达正确的容器内部服务。例如,通过“docker r
阅读全文
摘要:在 Kubernetes (K8S) 中,DNS 组件是集群的核心组成部分之一,它负责提供服务发现的功能,使 Pod 和服务能够通过域名相互通信。Kubernetes 的 DNS 组件主要由以下几个部分组成: DNS 服务器: kube-dns 或 coredns 是 Kubernetes 社区中最
阅读全文
摘要:在K8S中,服务的发布包括定义Service资源、创建Service对象、配置路由规则以及通过Service的ClusterIP或NodePort暴露服务给外部访问。 下面将详细探讨这一过程: 定义Service资源 Resource Definition:在Kubernetes中,要发布一个服务,
阅读全文