各位 Kubernetes 用户们,请注意!1.30版本即将发布,这将对运维和开发者带来强大的功能。以下是关键特性的详细介绍:
Kubernetes 1.30引入了一个名为“ User Namespaces for Pods”的测试特性。该特性允许您将 pod 内使用的 UID (用户 ID )和 GID (组 ID )映射到主机系统上的不同值,从而显著提高了 pod 之间的安全性和隔离性。
减少攻击面: 通过限制 pod 在主机系统上的特权,用户名称空间使得攻击者更难利用 pod 中的漏洞并访问主机。
改进的隔离性: 使用不同用户命名空间运行的 pods 在不同的用户环境中运行,防止它们访问资源或相互干扰。
可定制的安全性: 可以为 pod 定义自定义的 uid / gid 范围,对访问权限进行更细粒度的控制。
传统上,pod与主机系统共享相同的用户名称空间。
启用User Namespaces后,将为每个pod创建单独的用户名称空间。
pod中使用的UID和GID映射到主机系统上的不同UID和Gid。
要利用User Namespaces,需要显式地设置 hostUsers字段到 false在你的spec描述中:
apiVersion: v1
kind: Pod
metadata:
name: ns-test
spec:
hostUsers: false #显式设置
containers:
- name: sleep
command: ["sleep", "infinity"]
image: ubuntu
User Namespaces是Kubernetes 1.30中的一个beta特性,因此建议不在在生产环境中使用。
目前并非所有容器运行时都支持User Namespaces。请查看容器运行时文档以了解兼容性。
总体而言,User Namespaces为Kubernetes pod提供了强大的安全增强功能。通过隔离pod并限制其对主机系统的访问,您可以显著降低安全漏洞的风险,并改善Kubernetes集群的整体安全状况。
Kubernetes 1.30带来了多项改进,可增强容器化应用程序的安全性。让我们仔细看看一些关键的功能:
重要性:以前,与 IfNotPresent映像拉策略,如果攻击者获得了对节点的访问权限,则存在未经授权访问已下载image的风险。
新功能:Kubernetes 1.30加强了更严格的控制。Pods 只有拥有正确的凭据才能访问下载的image,特别是使用secret(如private registry key)下载的图像。
举例说明:
apiVersion: v1
kind: Pod
metadata:
name: secret-image-pod
spec:
containers:
- name: container
image: my-private-image
imagePullPolicy: IfNotPresent
imagePullSecrets:
- name: my-registry-key
在本例中, kubelet 在允许它使用下载的image(my-private-image)之前会验证pod是否拥有secret my-registry-key。
之前,pod共享主机系统的用户名称空间。
启用用户名称空间后,每个pod都有自己的用户名称空间。
pod中使用的UID和GID映射到主机系统上的不同值。
通过限制主机系统上的pod权限来减少攻击面。
改进了运行在不同用户命名空间中的pod之间的隔离。
pod可自定义的安全性与自定义的UID/GID范围。
工作原理:
之前,pod共享主机系统的用户名称空间。
启用用户名称空间后,每个pod都有自己的用户名称空间。
pod中使用的UID和GID映射到主机系统上的不同值。
示例(指定 hostUsers: false要使能):
apiVersion: v1
kind: Pod
metadata:
name: secure-pod
spec:
hostUsers: false
# ... other pod configurations
附加安全措施:
Kubelet 对镜像文件系统拆分的支持( KEP # 4191 ):隔离容器内的可写和只读文件系统层,减少未经授权修改的风险。
AppArmor Support ( KEP # 24 ):启用在容器级别使用 AppArmor 配置文件定义和执行安全策略。
结构化授权配置( KEP # 3221 ):允许更细粒度的、可自定义的授权控制。
总之,Kubernetes 1.30为您的容器化工作负载提供了显著的安全改进。这些特性使您能够为您的应用程序创建一个更加安全和隔离的环境。
细粒度资源分配情况:需要您的pod根据实时需求调整资源使用情况吗?Kubernetes 1.30允许您基于特定指标定义资源请求和限制。想象一下,一个应用程序可以在高峰时段自动分配更多的资源,为您的客户提供平稳的业务整理。
容器级 Pod 自动缩放Kubernetes 1.30允许您基于内存使用或其他特定于容器的指标自动缩放pod。对于像图像处理工具这样很吃内存的应用来说,这是非常好的。
这些只是其中的几个亮点!Kubernetes 1.30提供了一个工具箱,包含其他改进,包括支持节点内存交换(alpha)和更多授权控制(beta)。请继续关注官方版本,深入了解这些功能并释放Kubernetes集群的全部潜力!为你的业务增添新的能力~~
转载自 云原生运维圈 ,如若侵权请联系我们进行删除!