玛卡巴卡的k8s知识点问答题(二)

  1. 部署安装 K8s 为什么要关闭 swap 分区?

(1)资源管理失效,k8s无法感知swap的使用情况,因为他只监控物理内存,若启用了swap,pod可能会使用swap空间,导致k8s误判节点的使用情况。

(2)性能下降:swap的读写速度远远低于物理内存,使用swap会导致应用性能明显下降。

(3)Pod驱逐机制失效:k8s通过内存压力来触发Pod的驱逐机制,如果节点启用了swap,内存不足时系统会优先使用swap,而不是触发压力事件。

  1. 解释 br_netfilter。

br_netfilter 是 Linux 内核中的一个模块,主要用于桥接网络流量和防火墙(如 iptablesnftables)之间的交互。它允许对桥接流量进行过滤、NAT 等操作。

主要功能

  1. 桥接流量过滤

    • 默认情况下,Linux 桥接设备(br0 等)不经过 iptablesnftables 的过滤规则。

    • br_netfilter 模块使桥接流量也能被这些防火墙规则处理。

  2. NAT 支持

    • 支持在桥接流量上执行 NAT(网络地址转换),适用于虚拟机或容器通过桥接网络与外部通信的场景。
  3. 连接跟踪

    • 支持对桥接流量进行连接跟踪(conntrack),便于实现状态防火墙功能。
  4. 解释 kubeadm, kubectl, kubelet

kubeadm:k8s的官方集群管理工具,用于快速部署和管理K8s集群。

kubectl:是k8s的命令行工具,用于与k8s集群交互

kubelet:是k8s节点上的核心组件,负责节点上的pod容器。

使用场景

• 快速搭建 Kubernetes 集群(适用于开发、测试和生产环境)。

• 管理集群的生命周期(如初始化、升级、节点管理)。

示例

初始化一个 Kubernetes 集群:

kubeadm init --pod-network-cidr=10.244.0.0/16

将工作节点加入集群:

kubeadm join <控制平面节点的 IP>:6443 --token <token> --

discovery-token-ca-cert-hash sha256:<hash>

  1. kubectl

kubectl 是 Kubernetes 的命令行工具,用于与 Kubernetes 集群

交互。

功能

• 资源管理:创建、更新、删除 Kubernetes 资源(如 Pod、Service、

Deployment 等)。

• 集群管理:查看集群状态、节点信息、日志等。

• 调试和诊断:执行命令、查看日志、进入容器等。

使用场景

• 日常的 Kubernetes 资源管理。

• 集群的监控和故障排查。

示例

创建一个 Deployment:

kubectl create deployment nginx --image=nginx

查看 Pod 状态:

kubectl get pods

进入容器:

kubectl exec -it <pod-name> -- sh

  1. kubelet

kubelet 是 Kubernetes 节点上的核心组件,负责管理节点上的 Pod

和容器。

功能

• Pod 生命周期管理:根据 Kubernetes API Server 的指令,创

建、启动、停止和删除 Pod。

• 资源监控:监控节点上的资源使用情况(如 CPU、内存)。

• 健康检查:执行容器的存活探针(Liveness Probe)和就绪探

针(Readiness Probe)。

使用场景

• 在 Kubernetes 节点上运行和管理容器。

• 确保 Pod 按照期望状态运行。

工作原理

• kubelet 定期从 Kubernetes API Server 获取分配给当前节

点的 Pod 清单。

• 根据清单启动或停止容器。

• 将节点的状态和 Pod 的状态报告给 API Server。

相关推荐
xhaxy9 小时前
docker
docker·容器·eureka
上火的金鱼妹11 小时前
K8S基础组件作用和关系整理
linux·运维·服务器·kubernetes
一技安身12 小时前
【信创】Docker‑Compose V2 两种离线部署(独立模式、插件模式)简易教程
java·docker·eureka
鸿观工坊16 小时前
Docker 多阶段构建实践指南
docker
大牧师18 小时前
MySQL 学习教程
数据库·sql·mysql·docker·node·全栈·后端数据
MC丶科19 小时前
软考架构师90天冲刺|DAY44·Redis高级应用
数据库·数据仓库·redis·缓存·oracle·容器·规格说明书
天外天-亮19 小时前
docker + window 安装
运维·docker·容器
进击的小菜鸡dd20 小时前
docker 容器的挂载映射关系查看
运维·docker·容器
SLD_Allen20 小时前
从 HPA 到 KEDA:Kubernetes 弹性伸缩的进阶实践
云原生·容器·kubernetes
程序员老赵20 小时前
Docker 部署 TeX Live:轻松搭建 LaTeX 论文排版编译平台
前端·docker·latex