本页面提供互动式测验题目,帮助您检验和巩固所学的 Kubernetes 网络知识。完成测验后可以看到您的得分和详细解析。
在 Kubernetes 中,关于 Pod 网络模型的描述,以下哪项是不正确的?
正确答案:E
Kubernetes Pod 网络模型的基本原则包括:每个 Pod 有自己的 IP;Pod 之间可以直接通信而不需要 NAT;节点和 Pod 之间可以直接通信;Pod 内部看到的 IP 与外部看到的相同。Pod 的 IP 地址在 Pod 重启后通常会改变,除非使用了特殊的静态 IP 分配机制。
关于 Kubernetes 中的 CNI (容器网络接口),以下哪项描述是正确的?
正确答案:B
CNI (容器网络接口) 是一种规范或接口标准,它定义了容器运行时如何与网络插件交互来设置容器网络。它不是 Kubernetes 的内置组件,而是一个开放标准,允许不同的网络实现(如 Calico、Flannel、Weave 等)以标准方式与容器编排系统交互。CNI 支持多种网络模式,包括直接路由和 Overlay 网络,也可以在 Windows 上实现。
关于 Kubernetes 中 kube-proxy 的工作模式,下列哪项描述是正确的?
kube-proxy 有三种工作模式:userspace、iptables 和 IPVS。其中 iptables 模式是当前的默认模式,它使用 Linux iptables 规则来实现服务的负载均衡和网络代理功能。IPVS 模式在大规模集群中通常比 iptables 模式性能更好,因为它设计用于负载均衡并使用更高效的数据结构。kube-proxy 支持 TCP 和 UDP 流量。userspace 模式是最早的实现,但性能较差,不再推荐使用。
在以下 Kubernetes Service 类型中,哪种类型不需要集群外部负载均衡器的支持就可以将服务暴露到集群外?
正确答案:D
NodePort 类型的 Service 可以在不依赖外部负载均衡器的情况下将服务暴露到集群外。NodePort Service 会在集群的每个节点上开放一个特定端口,任何发送到该端口的流量都会被转发到相应的服务。LoadBalancer 类型需要云提供商的负载均衡器支持。ClusterIP 只在集群内部可访问。ExternalName 只提供 DNS CNAME 记录,不直接暴露服务。
关于 Linux 网络命名空间和 veth 对的关系,以下哪项描述是正确的?
veth (虚拟以太网) 对是成对出现的虚拟网络接口,可以作为不同网络命名空间之间的通信管道,是连接容器网络命名空间和主机网络命名空间的常用方法。veth 对的两端可以位于同一个网络命名空间中,也可以位于不同的网络命名空间中。网络命名空间可以没有 veth 对(例如,刚创建的空命名空间),也可以包含多个 veth 对或其他类型的网络接口。
以下哪种 Overlay 网络技术不使用 UDP 封装?
正确答案:C
IP-in-IP 是一种 IP 隧道技术,它直接将一个 IP 数据包封装在另一个 IP 数据包中,不使用 UDP 封装。VXLAN、Geneve 和 Flannel 的 UDP 后端都使用 UDP 作为传输协议来封装原始数据包,以便在底层网络上传输。
关于 Kubernetes 集群 DNS(如 CoreDNS),以下哪项描述是不正确的?
在 Kubernetes 中,Pod 不需要显式配置 DNS 服务器地址就能使用集群 DNS。Kubernetes 会自动将 Pod 的 /etc/resolv.conf 配置为使用集群 DNS 服务(如 CoreDNS)。集群 DNS 确实负责将 Service 名称解析为 ClusterIP,允许 Pod 通过 DNS 查询访问集群外部域名,并且每个命名空间都有自己的 DNS 子域(格式为 service-name.namespace-name.svc.cluster.local)。
在 Kubernetes 集群中,谁负责为 Pod 分配 IP 地址?
在 Kubernetes 集群中,CNI (容器网络接口) 插件负责为 Pod 分配 IP 地址。当 kubelet 创建一个 Pod 时,它会调用已配置的 CNI 插件来设置 Pod 的网络,包括分配 IP 地址、设置路由规则和其他必要的网络配置。不同的 CNI 插件(如 Calico、Flannel、Weave 等)有不同的 IP 分配策略。
关于 Kubernetes Service 的 Endpoints 资源,以下哪项描述是正确的?
Endpoints 资源包含了与 Service 关联的所有 Pod 的 IP 地址和端口信息。通常,当创建带有选择器的 Service 时,Kubernetes 会自动创建和维护相应的 Endpoints 资源,无需手动创建。所有类型的 Service(不仅是 ClusterIP)都有 Endpoints。Endpoints 资源是由 Endpoint Controller(kube-controller-manager 的一部分)管理的,而不是 kube-proxy。
关于 Kubernetes NetworkPolicy,以下哪项是不正确的?
并非所有的 CNI 插件都支持 NetworkPolicy。NetworkPolicy 的实现是由底层网络插件提供的,一些 CNI 插件如 Calico、Cilium、Weave 等支持 NetworkPolicy,但其他如基本的 Flannel 不直接支持(需要与其他解决方案组合)。NetworkPolicy 确实是命名空间作用域的资源,可以基于 Pod 标签选择目标 Pod,并且可以单独控制入站和出站流量。
您的得分:/10