开源的容器编排平台Kubernetes
文章平均质量分 96
认识Kubernetes
Fang_Qianling
人生从来不是爽文,而是脚踏实地的历程。
展开
-
Kubernetes基础理论介绍
① 管理员使用 kubectl 命令进行身份认证,与集群通过 API server 通信;② API server 将管理员或其他组件的请求存储到 etcd 数据库中,作为集群状态的持久化存储;etcd 生成模板,通过 API server 联系 controll manager(控制器管理器);③ 控制器管理器根据 API server 通知,发送需求给 scheduler(资源调度器);④ 资源调度器根据控制器管理器的需求,将 Pod 调度到合适的节点上(预选和优选),并将调度记录写入etcd;原创 2024-05-12 21:09:26 · 1031 阅读 · 0 评论 -
二进制部署Kubernetes集群——单Master和Node组件
本文将介绍如何使用二进制文件手动搭建 Kubernetes v1.20 集群。通过这种方法,我们可以更好地理解 Kubernetes 的内部工作原理,并具备更大的灵活性和控制权。下面将逐步构建 Kubernetes 集群,并进一步了解其各个组件之间的交互和配置。原创 2024-05-15 16:02:13 · 782 阅读 · 0 评论 -
Kubernetes的CNI网络插件介绍
Overlay Network 是一种网络虚拟化技术,用于在物理网络之上创建逻辑网络。它通过在现有网络二层或者三层基础设施上叠加一个虚拟网络(虚拟链路隧道)来实现不同主机之间的通信。目前 Overlay 主要采用 VXLAN,VXLAN 是一种覆盖网络技术,是 Flannel 的一种数据转发方式。下面介绍两款虚拟化技术插件(方案):Flannel、CalicoVXLAN 是一种常见的 Overlay Network 技术。原创 2024-05-15 16:19:55 · 1148 阅读 · 0 评论 -
Kubernets多master集群构建负载均衡
仪表板是基于 Web 的 Kubernetes 用户界面,用于部署、故障排除和管理容器化应用程序和集群资源。通过仪表板,您可以概述应用程序状态、创建/修改 Kubernetes 资源,执行滚动更新、重启 Pod 等操作,并获取资源状态和错误信息。原创 2024-05-16 13:27:53 · 1050 阅读 · 0 评论 -
Kubeadm部署Kubernetes集群和Harbor私有仓库
enabled=1gpgcheck=0EOF# kubeadm:部署Kubernetes集群的工具,简化了集群的初始化过程# kubelet:运行在每个节点上,管理该节点上的Pod和容器,与Master节点通信,执行Master节点下发的任务# kubectl: 是K8s的命令行工具,用于与K8s集群进行交互,如创建、管理和监视K8s资源1. 初始化节点设备2. 所有节点安装docker容器,harbor建议安装旧版本docker容器。原创 2024-05-16 23:34:28 · 934 阅读 · 0 评论 -
了解K8s集群kubectl命令进行陈述式资源管理
在 Kubernetes 集群中,通过陈述式和声明式资源管理是确保应用程序高效运行的关键。认识这两种管理方法,能够更好地掌握 Kubernetes 集群的运维和管理。原创 2024-05-20 21:34:44 · 1467 阅读 · 1 评论 -
认识K8s集群的声明式资源管理方法
通过使用 yaml 或 josn 文件对资源配置,然后再实现对资源的管理。适合于对资源的修改操作声明式资源管理方法依赖于资源配置清单文件对资源进行管理;资源配置清单文件有两种格式:yaml(人性化,易读),json(易于api接口解析)对资源的管理,是通过事先定义在统一资源配置清单内,再通过陈述式命令应用到k8s集群里。原创 2024-05-22 22:38:25 · 1099 阅读 · 0 评论 -
kubernetes集群pod理论介绍
pod 是 K8s 集群中最小的创建和运行单元,一个 pod 代表着集群中运行的一个进程,一个 pod 包含一个或多个容器。如:应用容器/业务容器(淘宝、京东、拼多多后台)。每个 pod 有一个根容器/父容器/基础容器/ pause 容器。在 K8s 中 pod 里的容器共享 network、uts、ipc、user、mount 六大命名空间。这意味着这些容器在同一个 Pod 内部具有相同的网络、主机名、进程间通信、用户和文件系统挂载等环境。原创 2024-05-24 18:13:50 · 1080 阅读 · 0 评论 -
Kubernetes中Pod容器的资源限制和探针配置
在 K8s 中,对 Pod 容器的资源限制主要围绕着两个关键参数:request 资源和 limit 资源,用于配置 CPU 和内存的使用情况;避免资源竞争和不必要的浪费,同时确保 Pod 在运行时具有足够的资源支持。为 Pod 和容器管理资源 | Kubernetes探针是由 kubelet 对容器执行的定期诊断。容器的探针是一种关键的机制,用于监测和管理容器的健康状态,确保容器在各种情况下都能正常运行。原创 2024-05-26 23:12:08 · 975 阅读 · 0 评论 -
K8s集群中的Pod调度约束亲和性与反亲和性
Pod 的生命周期是指从 Pod 被创建到最终被销毁的整个过程,涉及多个阶段和状态转换,以及可能执行的各种操作。Pod 生命周期/启动过程① 首先,由 pid 为1的 init 容器(pause容器)管理整个容器的初始化② 接着,init 容器串行启动③ 容器启动时执行 postStart 操作④ 随后启动存活探针和就绪探针⑤ 根据资源限制的 request 和 limit 启动应用容器⑥ 最后,在容器退出时执行 preStop 操作。原创 2024-05-28 18:55:03 · 1290 阅读 · 0 评论 -
K8s集群中的Pod调度约束:污点、容忍与驱逐
节点亲和性让 Pod 倾向或强制部署在特定节点上,而 Taint 则是节点用来拒绝不兼容 Pod 的机制。每个节点可设多个 Taint,拒绝不容忍这些 Taint 的 Pod 接入。通过 kubectl taint 命令可以给 Node 添加污点限制,Node 被设置上污点之后就和 Pod 之间存在了一种相斥的关系,可以让 Node 拒绝 Pod 的调度执行,甚至将 Node 已经存在的 Pod 驱逐出去。污点的组成格式为:key=value:effect。原创 2024-05-29 15:21:05 · 1173 阅读 · 0 评论 -
Kubernetes集群存储卷Valume、PV和PVC介绍
是一种空目录卷,与 Pod 的生命周期绑定。当 Pod 被删除时,其中的数据也会被清除。简单地说:其作用就是做容器与容器之前的共享存储。当 Pod 被分配给节点时,首先创建 emptyDir 卷,并且只要该 Pod 在该节点上运行,该卷就会存在。正如卷的名字所述,它最初是空的。Pod 中的容器可以读取和写入 emptyDir 卷中的相同文件,尽管该卷可以挂载到每个容器中的相同或不同路径上。当出于任何原因从节点中删除 Pod 时,emptyDir 中的数据将被永久删除。原创 2024-05-30 13:57:03 · 853 阅读 · 0 评论 -
Kubernetes集群Pod控制器
Pod 控制器是一种 K8s 对象,设计用于管理和维护 Pod 实例。它们不是直接操作 Pod,而是通过与 K8s API 交互来间接控制 Pod,从而保证即使面对节点故障、Pod 终止或其他意外情况,也能维持应用的高可用性和期望的部署配置。自动扩缩容根据预设策略自动增加或减少Pod副本的数量,以应对负载变化或确保服务的高可用性。自我修复当检测到Pod由于各种原因(如节点故障、容器崩溃)不再运行时,控制器会自动创建新的Pod副本以替换故障实例,保持预期的Pod数量和配置。滚动更新。原创 2024-05-30 21:44:10 · 1204 阅读 · 2 评论 -
配置Kubernetes资源管理Secret与ConfigMap
在 K8s 中,Secret 是用于存储敏感信息的对象,如密码、token 令牌和 SSH 密钥。这类数据虽然也可以存放在 Pod 或者镜像中,但是放在 Secret 中是为了更方便的控制如何使用数据,并减少暴露的风险;这些信息以加密形式存储,并且只能被授权的 Pod 访问。通过使用 Secret,可以更安全地管理应用程序所需的敏感数据。也就是说 K8s 解决了我们和 Docker 使用的一些弊端,比如:环境变量、存储问题都要去重新编辑 Dockerfile,而且密码还是明文的。原创 2024-06-03 15:46:54 · 1070 阅读 · 0 评论 -
Kubernetes外部服务管理Ingress介绍
对集群内部,它不断跟踪pod的变化,更新 endpoint 中对应 pod 的对象,提供了 ip 不断变化的 pod 的服务发现机制;对集群外部,他类似负载均衡器,可以在集群内外部对 pod 进行访问。Ingress 是 Kubernetes 中用于管理对集群内服务的外部访问的 API 对象。它允许您将 HTTP 和 HTTPS 路由流量到集群中的服务,通过定义规则,Ingress 可以将传入的请求路由到适当的服务。原创 2024-06-04 18:00:26 · 1190 阅读 · 0 评论