Bootstrap

【Kubernetes】常见面试题汇总(十六)

目录

48.简述 Kubernetes PodsecurityPolicy 机制能实现哪些安全策略?

49.简述 Kubernetes 网络模型?

50.简述 Kubernetes CNl 模型?


48.简述 Kubernetes PodsecurityPolicy 机制能实现哪些安全策略?

在 PodSecurityPolicy 对象中可以设置不同字段来控制 Pod 运行时的各种安全策略,常见的有:

(1)特权模式:privileged 是否允许 Pod 以特权模式运行。

(2)宿主机资源:控制 Pod 对宿主机资源的控制。

- 如 hostPID:是否允许 Pod共享宿主机的进程空间。

(3)用户和组:设置运行容器的用户 ID(范围)或组(范围)。

(4)提升权限:

AllowPrivilegeEscalation:设置容器内的子进程是否可以提升权限,通常在设置非 root 用户(MustRunAsNonRoot)时进行设置。

(5)SELinux:进行 SELinux 的相关配置。


49.简述 Kubernetes 网络模型?

- Kubernetes 网络模型中每个 Pod 都拥有一个独立的 IP 地址,并假定所有 Pod 都在一个可以直接连通的、扁平的网络空间中。

- 所以不管它们是否运行在同一个 Node(宿主机)中,都要求它们可以直接通过对方的 IP 进行访问。

- 设计这个原则的原因是:用户不需要额外考虑如何建立 Pod 之间的连接,也不需要考虑如何将容器端口映射到主机端口等问题。

- 同时为每个 Pod 都设置一个 IP 地址的模型使得同一个 Pod 内的不同容器会共享同一个网络命名空间,也就是同一个 Linux 网络协议栈。

- 这就意味着同一个 Pod 内的容器可以通过 localhost 来连接对方的端口。

- 在 Kubernetes 的集群里,IP 是以 Pod 为单位进行分配的

- 一个 Pod 内部的所有容器共享一个网络堆栈(相当于一个网络命名空间,它们的 IP 地址、网络设备、配置等都是共享的)。


50.简述 Kubernetes CNl 模型?

- CNI 提供了一种应用容器的插件化网络解决方案,定义对容器网络进行操作和配置的规范,通过插件的形式对CNI接口进行实现。

- CNI 仅关注在创建容器时分配网络资源,和在销毁容器时删除网络资源。

- 在 CNI 模型中只涉及两个概念:容器和网络

容器(Container):是拥有独立 Linux 网络命名空间的环境,例如使用 Docker 或 rkt 创建的容器。容器需要拥有自己的 Linux 网络命名空间,这是加入网络的必要条件。

网络(Network):表示可以互连的一组实体,这些实体拥有各自独立、唯一的 IP 地址,可以是容器、物理机或者其他网络设备(比如路由器)等。

- 对容器网络的设置和操作都通过插件(Plugin)进行具体实现,CNI 插件包括两种型:CNI Plugin 和 IPAM(IP Address Management)Plugin。

① CNl Plugin 负责为容器配置网络资源,IPAM Plugin 负责对容器的 IP 地址进行分配和管理。

② IPAM Plugin 作为 CNI Plugin 的一部分,与 CNI Plugin 协同工作。

;