作者信息:https://home.cnblogs.com/u/huangjiabobk
摘要: 在 Kubernetes (k8s) 中,CNI(Container Network Interface)模型是一个标准化的接口规范,用于在容器创建时配置和管理其网络连接。CNI模型的核心概念包括: 插件化设计: CNI 是一个由 Cloud Native Computing Foundation 阅读全文
posted @ 2024-02-14 16:25 黄嘉波 阅读(129) 评论(0) 推荐(0) 编辑
摘要: 在 Kubernetes(k8s)中,网络模型是集群内容器间以及容器与外部世界通信的基础架构。Kubernetes 网络模型的核心目标是在多个节点上的容器之间创建一个扁平、统一且可预测的网络空间,确保任意两个 Pod(Pod 是 k8s 中运行容器的基本单元)能够直接通过各自的 IP 地址相互通信, 阅读全文
posted @ 2024-02-14 16:20 黄嘉波 阅读(22) 评论(0) 推荐(0) 编辑
摘要: PodSecurityPolicy (PSP) 在 Kubernetes 中能够实现以下的安全策略: 运行时用户和组限制: 确保容器以非 root 用户身份运行,或者限制容器可以使用的用户或组ID范围。 容器能力控制: 允许或禁止特定的 Linux 容器能力(capabilities),从而限制容器 阅读全文
posted @ 2024-02-13 19:30 黄嘉波 阅读(49) 评论(0) 推荐(0) 编辑
摘要: PodSecurityPolicy(PSP)是 Kubernetes 中的一个集群级别的安全机制,它允许管理员为集群中的 Pod 定义和实施一组详细的准入控制策略。通过PodSecurityPolicy,集群管理员可以精细地控制哪些类型的Pod可以被创建或运行在集群内,以防止不安全的容器配置和潜在的 阅读全文
posted @ 2024-02-13 19:27 黄嘉波 阅读(67) 评论(0) 推荐(0) 编辑
摘要: 在Kubernetes (k8s) 中,Secret 是一种资源对象,用于存储敏感信息(如密码、密钥、凭证等),并以安全的方式将其注入到 Pod 中的容器。以下是 Kubernetes Secret 的几种主要使用方式: 通过 --from-literal 创建 Secret: 在命令行中创建 Se 阅读全文
posted @ 2024-02-13 19:24 黄嘉波 阅读(150) 评论(0) 推荐(0) 编辑
摘要: 在Kubernetes(k8S)中,Secret是一种用于存储和管理敏感信息的对象资源类型。它的主要作用是: 安全存储:将密码、API密钥、TLS证书、SSH密钥等敏感数据以加密形式存储在集群内部,而不是直接暴露在配置文件或容器镜像中。 保密传输:当Secret被挂载到Pod时,虽然数据是以明文形式 阅读全文
posted @ 2024-02-13 19:18 黄嘉波 阅读(122) 评论(0) 推荐(0) 编辑
摘要: 在Kubernetes(k8S)中,Role-Based Access Control(RBAC)是一种强大的权限管理和访问控制机制。它允许集群管理员细粒度地控制用户、组或服务账户对Kubernetes API资源的访问权限。 特点和优势: 细粒度授权: RBAC提供了一种基于角色的灵活授权模式,可 阅读全文
posted @ 2024-02-13 19:16 黄嘉波 阅读(66) 评论(0) 推荐(0) 编辑
摘要: 在Kubernetes(k8s)中,准入控制机制(Admission Control)是一个关键的安全和策略执行层。它位于API Server层级,在接收到对集群资源的创建、更新或删除请求后、但实际操作存储在etcd中的数据之前的一个环节。 准入控制器是一系列插件式的组件,它们会对发送到API Se 阅读全文
posted @ 2024-02-12 10:46 黄嘉波 阅读(58) 评论(0) 推荐(0) 编辑
摘要: 在Kubernetes (k8s) 中,确保集群的安全性需要从多个层面进行考虑和实施措施。以下是一些关键的策略和实践: 网络安全: 网络策略(Network Policies):定义Pod间的网络通信规则,控制进出Pod的流量。 防火墙与访问控制:配置节点防火墙限制对集群节点不必要的外部访问,仅允许 阅读全文
posted @ 2024-02-12 10:43 黄嘉波 阅读(159) 评论(0) 推荐(0) 编辑
摘要: 在Kubernetes集群中,kubelet是工作节点上的核心服务,它负责确保Pods及其容器按照预期的状态运行。为了实现这一目标,kubelet依赖于内置的cAdvisor组件来进行资源监控。cAdvisor(Container Advisor)是一个开源的容器监控工具,它集成在kubelet内部 阅读全文
posted @ 2024-02-12 10:38 黄嘉波 阅读(49) 评论(0) 推荐(0) 编辑
摘要: 在Kubernetes(k8s)中,Scheduler是一个核心组件,它的主要作用是负责集群中的Pod调度。具体来说: Scheduler的作用: 资源分配:根据每个Pod的资源请求(如CPU、内存),以及节点当前的可用资源情况,选择合适的Node来运行Pod。 满足约束条件:考虑Pod的调度约束条 阅读全文
posted @ 2024-02-12 10:35 黄嘉波 阅读(120) 评论(0) 推荐(0) 编辑
摘要: 在Kubernetes(k8S)中,kubelet是一个核心组件,它负责管理单个计算节点上的容器运行时环境。kubelet的主要功能和作用包括: Pod生命周期管理: kubelet会接收来自API Server的指令,确保本节点上运行的Pod达到期望的状态。这包括创建、启动、停止或删除Pod中的容 阅读全文
posted @ 2024-02-12 10:31 黄嘉波 阅读(357) 评论(0) 推荐(0) 编辑
摘要: 在Kubernetes(k8S)中,Scheduler使用两种主要的算法阶段来决定将Pod绑定到哪个worker节点上: 预选算法 (Predicates) 预选阶段的主要目标是过滤掉不满足调度条件的节点。Scheduler会根据一系列预定义的预选策略对所有可用节点进行筛选。这些策略可能包括但不限于 阅读全文
posted @ 2024-02-11 20:16 黄嘉波 阅读(60) 评论(0) 推荐(0) 编辑
摘要: 在Kubernetes (k8S) 中,各个模块与API Server的通信通常通过以下方式进行: RESTful API: Kubernetes API Server 提供了一个统一的 RESTful 接口用于集群内所有组件之间的通信。任何想要操作集群资源(如Pods、Services、Confi 阅读全文
posted @ 2024-02-11 20:13 黄嘉波 阅读(134) 评论(0) 推荐(0) 编辑
摘要: 在Kubernetes(k8s)中,负载均衡器是一种网络组件,用于将外部或内部网络流量均匀地分发到一组服务后端的Pod实例上,以确保高可用性、资源利用率以及响应速度。 Kubernetes中的负载均衡主要体现在以下几个方面: Service资源类型: Kubernetes内置了负载均衡功能,通过创建 阅读全文
posted @ 2024-02-11 20:09 黄嘉波 阅读(136) 评论(0) 推荐(0) 编辑
摘要: 在Kubernetes(k8s)中,容器镜像的下载策略主要体现在Pod的imagePullPolicy字段上。以下是三种不同的镜像下载策略: Always: 默认情况下,如果Pod模板中的镜像标签为 latest 或者没有指定标签,Kubernetes会默认使用此策略。 策略说明:每次创建Pod时都 阅读全文
posted @ 2024-02-11 20:04 黄嘉波 阅读(141) 评论(0) 推荐(0) 编辑
摘要: 在Kubernetes(k8s)中,Ingress是一种资源对象,它定义了从集群外部到集群内部服务的HTTP(S)路由规则。简单来说,Ingress提供了一种将外部网络请求转发到集群内不同Service的方式,并可以根据URL、主机名或其他HTTP元数据进行路由决策。 Ingress控制器是实现这些 阅读全文
posted @ 2024-02-11 19:56 黄嘉波 阅读(271) 评论(0) 推荐(0) 编辑
摘要: 在Kubernetes (k8s) 中,要让外部客户端能够访问集群内的服务,通常有以下几种方式: NodePort: 创建一个类型为NodePort的服务,这会在每个工作节点上开放一个特定端口(系统自动分配或用户指定的范围内的端口),并将流量转发到对应Service背后的Pod。外部客户端可以通过任 阅读全文
posted @ 2024-02-10 15:14 黄嘉波 阅读(182) 评论(0) 推荐(0) 编辑
摘要: 在Kubernetes(k8s)中,Headless Service是一种特殊类型的Service,它不会被分配一个ClusterIP(集群内部的虚拟IP地址),而是直接将服务背后的Pod IP地址暴露给客户端。当创建Headless Service时,其spec.clusterIP字段设置为"No 阅读全文
posted @ 2024-02-10 14:43 黄嘉波 阅读(474) 评论(0) 推荐(0) 编辑
摘要: 在Kubernetes (k8s) 中,Service可以使用多种策略来分发流量到后端Pod。以下是一些主要的分发策略: ClusterIP (默认策略): Service会获取一个仅集群内部可访问的虚拟IP(ClusterIP),kube-proxy组件根据Service定义的SessionAff 阅读全文
posted @ 2024-02-10 14:41 黄嘉波 阅读(376) 评论(0) 推荐(0) 编辑
摘要: 在Kubernetes(k8s)中,Service是用于定义一组Pod的访问策略和机制的资源对象。以下是Kubernetes Service支持的主要类型: ClusterIP: 这是默认的服务类型。创建一个仅集群内部可访问的虚拟IP地址(VIP)。应用程序只能通过内部集群DNS名称从集群内的其他P 阅读全文
posted @ 2024-02-10 14:31 黄嘉波 阅读(26) 评论(0) 推荐(0) 编辑
摘要: 在Kubernetes (k8s) 中,自动扩容机制主要用于根据资源使用情况动态调整Pod副本的数量,以确保服务的稳定性和高效性。主要实现这一功能的组件是Horizontal Pod Autoscaler(HPA)。 Horizontal Pod Autoscaler工作原理如下: 监控指标: HP 阅读全文
posted @ 2024-02-10 14:17 黄嘉波 阅读(189) 评论(0) 推荐(0) 编辑
摘要: Kubernetes (k8S) 中的 DaemonSet 是一种控制器资源,它具有以下关键特性: 每个节点运行一个实例: DaemonSet 确保集群中的每个节点(满足特定条件的节点)上都运行一个Pod副本。这意味着无论何时创建或加入新的节点到集群中,DaemonSet都会自动为新节点调度和管理一 阅读全文
posted @ 2024-02-09 18:28 黄嘉波 阅读(80) 评论(0) 推荐(0) 编辑
摘要: 在Kubernetes (k8s) 中,Deployment 的升级策略主要指的是在更新 Pod 副本以部署新的容器镜像或配置时所采用的方法。主要有两种内置的升级策略: 滚动更新(RollingUpdate): 这是 Deployment 默认使用的升级策略。 在滚动更新中,Deployment 控 阅读全文
posted @ 2024-02-09 18:25 黄嘉波 阅读(148) 评论(0) 推荐(0) 编辑
摘要: 在Kubernetes (k8s) 中,Deployment升级过程是一个受控且平滑的过程,用于将应用的新版本无缝地替换旧版本。以下是Deployment进行滚动升级的基本步骤: 更新Deployment配置: 首先,你需要更新Deployment的yaml配置文件,例如更改镜像标签到新版本的应用程 阅读全文
posted @ 2024-02-09 18:17 黄嘉波 阅读(99) 评论(0) 推荐(0) 编辑
摘要: 在 Kubernetes (k8S) 中,初始化容器(Init Container)是一个特殊类型的容器,它会在应用程序容器启动之前运行。它的主要目的是执行一些必要的先决条件任务,这些任务必须在主应用容器开始服务前完成。 初始化容器的概念原理如下: 顺序执行: Pod 中可以定义多个初始化容器,它们 阅读全文
posted @ 2024-02-09 18:14 黄嘉波 阅读(156) 评论(0) 推荐(0) 编辑
摘要: 在 Kubernetes (k8s) 中,Pod 的调度可以通过多种方式来实现其在集群中的节点分配。以下是 Pod 常见的调度方式: 默认调度: 默认情况下,Kubernetes 调度器会自动根据资源需求(CPU、内存等)、节点标签选择器、污点和容忍度(Taints and Tolerations) 阅读全文
posted @ 2024-02-09 18:07 黄嘉波 阅读(121) 评论(0) 推荐(0) 编辑
摘要: 在 Kubernetes (k8s) 中,Pod 的 LivenessProbe 探针常见的方式有以下三种: Exec: 通过在容器内部执行一个命令来检查应用是否正常运行。如果命令的退出状态码为0,则认为应用程序是健康的;非0状态码则视为不健康。例如: livenessProbe: exec: co 阅读全文
posted @ 2024-02-08 08:13 黄嘉波 阅读(75) 评论(0) 推荐(0) 编辑
摘要: 在 Kubernetes (K8s) 中,Pod 的健康检查主要通过两种类型的探针实现:Liveness Probe 和 Readiness Probe。 Liveness Probe(存活探针): 用于检测容器是否处于正常运行状态。如果Liveness Probe失败,则表明容器已不再健康,并且k 阅读全文
posted @ 2024-02-08 08:12 黄嘉波 阅读(135) 评论(0) 推荐(0) 编辑
摘要: 在Kubernetes(K8S)中,Pod的重启策略是通过restartPolicy字段指定的,用于定义当Pod中的容器终止时kubelet应如何处理这些容器。以下是三种主要的重启策略: Always: 这是默认的重启策略。如果一个容器终止(无论退出码是什么),kubelet都会自动重启该容器。这意 阅读全文
posted @ 2024-02-08 08:09 黄嘉波 阅读(68) 评论(0) 推荐(0) 编辑
摘要: 在Kubernetes(简称K8s)中创建一个Pod的主要流程如下: 用户请求: 用户通过kubectl命令行工具或API接口提交一个Pod的定义,通常是通过YAML或JSON格式的配置文件来描述Pod的详细信息,包括容器镜像、环境变量、资源需求、卷挂载等。 API Server接收入口: 用户的请 阅读全文
posted @ 2024-02-08 08:01 黄嘉波 阅读(544) 评论(0) 推荐(0) 编辑
摘要: 在Kubernetes(K8s)中,Pod可能处于以下几种状态: Pending: Pod已经被集群接受,但至少有一个容器镜像尚未创建。这个阶段包括调度Pod到节点的时间、下载容器镜像时间以及等待其他初始化条件满足的过程。 ContainerCreating: 这是一个过渡状态,表示kubelet正 阅读全文
posted @ 2024-02-08 07:55 黄嘉波 阅读(58) 评论(0) 推荐(0) 编辑
摘要: 在Kubernetes(K8s)中,静态Pod是由kubelet直接管理的特殊类型Pod。与通常通过Kubernetes API Server创建和管理的Pod不同,静态Pod的定义文件直接放置在特定节点上的kubelet配置目录中,而非由API Server创建和调度。 特点: 直接由kubele 阅读全文
posted @ 2024-02-07 07:29 黄嘉波 阅读(69) 评论(0) 推荐(0) 编辑
摘要: 在Kubernetes(K8s)中,kube-proxy作为集群网络代理组件,可以配置为使用iptables或IPVS模式来实现服务的负载均衡和网络代理功能。下面是kube-proxy在iptables模式和IPVS模式下的异同点: 相同点: 目标:无论是iptables还是IPVS模式,kube- 阅读全文
posted @ 2024-02-07 07:25 黄嘉波 阅读(228) 评论(0) 推荐(1) 编辑
摘要: 在Kubernetes(K8s)集群中,kube-proxy 是一个关键组件,它负责实现从 Service 到后端 Pods 的网络代理和负载均衡功能。当kube-proxy工作在IPVS模式时,其原理如下: 监听API服务器: kube-proxy启动后会持续监听Kubernetes API服务器 阅读全文
posted @ 2024-02-07 07:21 黄嘉波 阅读(128) 评论(0) 推荐(0) 编辑
摘要: 在Kubernetes(K8s)中,kube-proxy组件使用iptables模式时,其主要原理是利用Linux内核的iptables工具动态管理节点上的网络规则,以实现服务(Service)到后端Pod之间的透明网络代理和负载均衡。以下是kube-proxy在iptables模式下工作的大致步骤 阅读全文
posted @ 2024-02-07 07:18 黄嘉波 阅读(161) 评论(0) 推荐(0) 编辑
摘要: 在Kubernetes(K8s)中,kube-proxy是一个关键的网络组件,它运行在集群中的每个节点上,负责实现服务发现和负载均衡功能。kube-proxy的主要作用包括: 服务代理: kube-proxy将Kubernetes的服务抽象(Service)转换为实际的网络路由规则,使得Pod可以相 阅读全文
posted @ 2024-02-07 07:14 黄嘉波 阅读(351) 评论(0) 推荐(0) 编辑
摘要: 在 Kubernetes (K8s) 中,Replica Set 和 Replication Controller(RC)都是用于确保集群中特定数量的 Pod 副本始终运行的服务。尽管它们有相似的功能,但在功能演变过程中,Replica Set 是对 Replication Controller 的 阅读全文
posted @ 2024-02-06 16:43 黄嘉波 阅读(119) 评论(0) 推荐(0) 编辑
摘要: 在Kubernetes(K8s)中,Replication Controller(RC)是一种工作负载资源对象,它负责确保指定的Pod副本集始终保持预期的数量。其机制如下: 定义期望状态: 用户通过创建一个Replication Controller资源定义文件来声明他们希望运行的Pod副本数量,同 阅读全文
posted @ 2024-02-06 16:40 黄嘉波 阅读(55) 评论(0) 推荐(0) 编辑
摘要: 在 Kubernetes(K8s)中,集群相关的组件主要分为两类:控制平面组件和节点组件。 控制平面组件(Master Components): kube-apiserver:它是整个系统的入口,提供 RESTful API 接口供用户和内部组件与集群进行交互。所有资源的增删改查操作都通过它来完成, 阅读全文
posted @ 2024-02-06 16:34 黄嘉波 阅读(50) 评论(0) 推荐(0) 编辑
版权声明:原创作品,谢绝转载!否则将追究法律责任。--作者 黄嘉波