玛卡巴卡的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。

相关推荐
C-20024 小时前
使用Deployment部署运行Nginx和Apache服务
运维·kubernetes·apache
斯普信专业组4 小时前
基于Kubernetes的Apache Pulsar云原生架构解析与集群部署指南(下)
云原生·kubernetes·apache
leo·Thomas5 小时前
NetBox Docker 全功能部署方案(Ubuntu 22.04 + Docker)
运维·ubuntu·docker·容器·资产管理
码码哈哈0.09 小时前
2025最新:3分钟使用Docker快速部署Redis集群
redis·docker·容器
张青贤12 小时前
k8s的pod挂载共享内存
云原生·容器·kubernetes
和计算机搏斗的每一天12 小时前
k8s术语之secret
云原生·容器·kubernetes
韩先超12 小时前
2022年8月,韩先超对中移信息进行微服务架构原理(Docker+k8s+DevOps+Go等)培训
docker·微服务·kubernetes·devops
码上飞扬13 小时前
深入理解 Docker 网络原理:构建高效、灵活的容器网络
docker
xbd_zc13 小时前
【Harbor v2.13.0 详细安装步骤 安装证书启用 HTTPS】
docker·harbor
_板栗_14 小时前
k8s 中 deployment 管理的多个 pod 构成集群吗
云原生·容器·kubernetes