2024年9月21日,Kubernetes正式发布了代号"Elli"的v1.31版本,这一版本不仅在功能上进行了多方面的增强,还特别关注了安全性与稳定性的提升,同时首次为AI/ML工作流程提供了强有力的支持,下面是该版本主要的改进点。
增强的容器安全性(AppArmor)
关键点
- 全面支持:Kubernetes 现在完全支持 AppArmor,允许更精细的容器行为控制。
- 配置迁移:从使用注解迁移到使用
appArmorProfile.type
字段。
好处
- 提高安全性:通过限制容器的权限,减少潜在的安全风险。
- 简化管理:统一的配置方式简化了安全策略的管理。
实现细节
apiVersion: v1
kind: Pod
metadata:
name: mypod
spec:
containers:
- name: mycontainer
image: myimage
securityContext:
appArmorProfile: "runtime/default"
改进的负载均衡器可靠性
关键点
- 减少流量丢失:在节点终止期间,通过改进的负载均衡器减少流量丢失。
- 默认启用:自 v1.30 起,默认启用此特性。
好处
- 提高服务可用性:确保服务在节点维护期间的连续性和稳定性。
- 简化配置:无需额外配置,自动启用。
PersistentVolume 阶段转换洞察
关键点
- 跟踪阶段转换:通过
lastTransitionTime
字段跟踪 PersistentVolume 的状态变化。
好处
- 性能监控:监控存储资源的性能,优化配置。
- 服务级别目标 (SLO):提供数据支持,帮助设置和监控存储服务的 SLO。
实现细节
# 监控示例
kubectl get pv -o custom-columns=NAME:.metadata.name,STATUS:.status.phase,LAST:.status.lastTransitionTime
支持 OCI 兼容的图像卷
关键点
- 直接使用 OCI 图像:允许直接将 OCI 图像作为卷挂载到 Pod。
好处
- 简化 AI/ML 工作流:简化数据和模型的访问和管理。
- 提高开发效率:加速模型和算法的部署和测试。
实现细节
apiVersion: v1
kind: Pod
metadata:
name: mypod
spec:
containers:
- name: mycontainer
image: myimage
volumes:
- name: myvolume
ociImage:
kind: oci
nftables API
关键点
- 性能和可扩展性:nftables API 提供比 iptables 更好的性能和可扩展性。
好处
- 提高网络性能:更有效地处理服务端点变化和数据包。
- 增强安全性:利用 nftables 的高级特性,提高网络安全。
实现细节
# 启用 nftables 代理模式
kubectl set env daemonset/kube-proxy KUBE_PROXY_MODE=nftables
总结
Kubernetes v1.31 版本的新特性为用户提供了更安全、更可靠、更高效的容器编排平台。通过这些特性的实现细节,用户可以更好地理解和应用这些新功能,以满足他们的业务需求。