1.5k1 分钟

PV (PersistentVolume) 和 PVC (PersistentVolumeClaim) 是 Kubernetes 中持久化存储的核心机制,解决了 hostPath 的节点绑定问题 。 PV :代表 K8s 中的存储资源(允许用户将外部存储资源映射到集群),由管理员(存储部门提供) PVC:是用户对 PV 的申请单,赋予 Pod 访问 PV 的权限 实验要求: mariadb namespace 中的 MariaDB Deployment 被误删除。请恢复该 Deployment 并确保数据持久性。请按照以下步骤: 如下规格在 mariadb namespace 中创
2k2 分钟

PriorityClass 是 Kubernetes 中用于定义 Pod 调度优先级的集群级资源,它通过数值(value)表示优先级高低,数值越大优先级越高。当集群资源不足时,调度器会优先调度高优先级的 Pod,并可能驱逐低优先级的 Pod 以腾出资源,从而确保关键业务在资源紧张时仍能正常运行。 实验要求: 请执行以下任务: 为用户工作负载创建一个名为 high-priority 的新 PriorityClass ,其值比用户定义的现有最高优先级类值小一。 修改在 priority namespace 中运行的现有 busybox-logger Deployment ,以使用 high-
1.2k1 分钟

svc 为一组 Pod 提供稳定的网络访问入口,通过标签选择器 Label Selector 动态关联后端 Pod,屏蔽其频繁变化的 IP。实现了服务发现与负载均衡,无需关心底层实例的生命周期。 实验要求: 重新配置 spline-reticulator namespace 中现有的 front-end Deployment,以公开现有容器 nginx 的端口 80/tcp 创建一个名为 front-end-svc 的新 Service ,以公开容器端口 80/tcp 配置新的 Service ,以通过 NodePort 公开各个 Pod 参考链接:无 难度: ⭐
1.5k1 分钟

存储类StorageClass ,是 Kubernetes 中动态存储供给的核心机制,它让 PVC 可以自动创建 PV,无需管理员手动预配置 实验要求: 首先,为名为 rancher.io/local-path 的现有制备器,创建一个名为 ran-local-path 的新 StorageClass 将卷绑定模式设置为 WaitForFirstConsumer 注意,没有设置卷绑定模式,或者将其设置为 WaitForFirstConsumer 之外的其他任何模式,都将导致分数降低。 接下来,将 ran-local-path StorageClass 配置为默认的 Stora
2.4k2 分钟

Sidecar 模式是 Kubernetes(K8s)中最常用的容器设计模式之一,核心是在一个 Pod 内 与主业务容器并行运行一个辅助容器(Sidecar 容器),两者共享 Pod 的网络、存储、PID 等命名空间,辅助主容器完成非业务核心的支撑性工作,且完全解耦主业务逻辑。 实验要求: Context 您需要将一个传统应用程序集成到 Kubernetes 的日志架构(例如 kubectl logs)中。 实现这个要求的通常方法是添加一个流式传输并置容器。 Task 更新现有的 synergy-leverager Deployment, 将使用 busybox:stable 镜像
1.7k2 分钟

Ingress 是 Kubernetes 的七层(HTTP/HTTPS)流量入口控制器,通过单一 IP/域名将外部请求路由到不同 Service,替代多个 LoadBalancer 节省成本。 实验要求: 如下创建新的 Ingress 资源: 名称: echo Namespace: sound-repeater 使用 Service 端口 8080 在 http://example.org/echo 上公开 echoserver-service Service。 可以使用以下命令检查 echoserver-service Servi
3.2k3 分钟

HPA(水平 Pod 自动扩缩容,Horizontal Pod Autoscaler) 是 Kubernetes 中根据 CPU/内存使用率 或 自定义指标 自动调整 Pod 副本数量的机制。 实验要求: 在 autoscale namespace 中创建一个名为 apache-server 的新 HorizontalPodAutoscaler(HPA)。此 HPA 必须定位到 autoscale namespace 中名为 apache-server 的现有 Deployment 。 将 HPA 设置为每个 Pod 的 CPU 使用率旨在 50% 。将其配置为至少有 1 个 P
2.4k2 分钟

# 核心心智模型:脱离 API 掌控的“法外狂徒” 普通的 Pod 是由 Kube-apiserver 存入 etcd,再派发给节点运行的。 静态 Pod 则完全不同:它们根本不归 apiserver 管! 技术本质: Master 节点上的 kubelet 进程会死死盯着宿主机上的一个特定目录(/etc/kubernetes/manifests/)。 运行机制: 只要这个目录里放了 YAML 文件,kubelet 就会直接调用底层的容器运行时(如 containerd)把它拉起来。如果 YAML 被修改,kubelet 会瞬间重启该容器;如果 YAM
3.2k3 分钟

# 核心心智模型 Service 只是空壳,Endpoints 才是灵魂 初学者一般会认为流量是发给 Service,然后再由 Service 发给 Pod,这是错的。 在 Linux 网络栈的底层,Service 分配的 ClusterIP 其实是一个"假 IP",它连真实的网卡都没有。 真正的流程是: CoreDNS 负责把域名翻译成这个虚拟的 ClusterIP。 K8s 控制台会在后台默默维护一个叫 Endpoints 的列表,里面记录了真实 Pod 的物理 IP。 节点上的 kube-proxy 会读取 Endpoints 列表,并在 Linux 内核写入底层的
2.1k2 分钟

# 实验前置准备:制造多样化数据 先拉起几个不同状态和镜像的 Pod,为我们的查询提供素材。 kubectl run pod-nginx --image=nginx kubectl run pod-httpd --image=httpd kubectl run pod-fail --image=busybox -- false # 故意让它 Error/CrashLoopBackOff 等几秒钟,确保它们状态稳定。 # 核心技术逻辑:如何找路径? 这是掌握 JSONPath 的唯一正确方法:先输出纯 JSON,看清结构再写路径。 执行:kubectl