Ngày 27/08/2025, Kubernetes chính thức phát hành phiên bản v1.34 với hàng loạt cải tiến quan trọng về hiệu năng, bảo mật và khả năng mở rộng. Nếu bạn đang vận hành hệ thống microservices hoặc xây dựng nền tảng DevOps, đây là bản cập nhật đáng chú ý vì nó tập trung mạnh vào ba mảng: phân bổ tài nguyên động, bảo mật nâng cao và cải thiện trải nghiệm vận hành.

1. Dynamic Resource Allocation (DRA) – Stable
Bối cảnh
Trước đây, việc quản lý tài nguyên đặc biệt như GPU, FPGA, TPU hoặc phần cứng tùy chỉnh trong Kubernetes rất phức tạp. Hầu hết các cluster phải triển khai device plugin hoặc hardcode node selector. Điều này gây khó khăn khi workload cần nhiều loại tài nguyên khác nhau.
Kubernetes 1.34 mang gì mới
Từ v1.34, Dynamic Resource Allocation (DRA) chính thức lên stable, với API resource.k8s.io/v1.
Nó bổ sung trường mới resourceClaims trong Pod spec, cho phép pod yêu cầu thiết bị động tương tự như cách yêu cầu CPU/RAM.
Ví dụ:
apiVersion: v1
kind: Pod
metadata:
name: gpu-workload
spec:
resourceClaims:
- name: gpu-request
containers:
- name: trainer
image: nvcr.io/nvidia/pytorch:23.08-py3
resources:
claims:
- name: gpu-request
Tác động thực tế
- Giúp quản lý GPU và tài nguyên cao cấp đơn giản như CPU/RAM.
- Hỗ trợ multi-tenant: nhiều team cùng dùng một cụm GPU, nhưng phân bổ động tùy nhu cầu.
- Đặc biệt quan trọng với AI/ML workloads và hệ thống chạy Loki, Prometheus cần GPU tăng tốc query.
2. ServiceAccount Token cho Image Pull – Beta và bật mặc định
Vấn đề trước đây
Khi kubelet kéo image từ private registry, bạn cần cấu hình imagePullSecrets và cấp token dài hạn. Nếu token bị lộ → rủi ro bảo mật cực cao.
Điểm mới trong v1.34
Tính năng mới cho phép kubelet tự động sử dụng token của ServiceAccount để xác thực khi kéo image. Token này:
- Ngắn hạn, tự động refresh.
- Không cần tạo
Secretthủ công. - Được bật mặc định từ bản 1.34.
Ví dụ Deployment:
apiVersion: apps/v1
kind: Deployment
metadata:
name: my-app
spec:
replicas: 3
template:
spec:
serviceAccountName: app-sa
containers:
- name: app
image: my-private-registry.com/app:latest
Chỉ cần gán serviceAccountName, kubelet sẽ dùng token tự động, không cần imagePullSecrets.
Tác động thực tế
- Tăng bảo mật: token sống ngắn hạn, giảm rủi ro lộ thông tin.
- Giảm gánh vận hành: không cần rotate thủ công các Secret.
3. Pod Replacement Policy – Alpha
Vấn đề trước đây
Khi bạn deploy phiên bản mới, Kubernetes luôn chờ Pod cũ terminate xong mới tạo Pod mới. Điều này ổn với workload nhẹ, nhưng với workload nặng (ví dụ training AI) thì mất nhiều phút → downtime hoặc rollout chậm.
Kubernetes 1.34 giải quyết thế nào
Một trường mới .spec.podReplacementPolicy được thêm vào Deployment:
TerminationStarted: Tạo Pod mới ngay khi Pod cũ bắt đầu terminate.TerminationComplete: Chỉ tạo Pod mới sau khi Pod cũ terminate xong (mặc định hiện tại).
Ví dụ:
spec:
podReplacementPolicy: TerminationStarted
Tác động thực tế
- Giảm đáng kể thời gian rollout.
- Cho phép các cluster có tài nguyên dư thừa triển khai nhanh hơn.
- Tuy nhiên, cần giám sát kỹ vì có thể bùng nổ số lượng Pod tạm thời.
4. OpenTelemetry Tracing cho kubelet & API Server – Stable
Bối cảnh
Trước đây, việc debug request trong Kubernetes rất khó: API Server nhận request, forward xuống kubelet, rồi qua CRI → nhưng không có trace xuyên suốt.
Điểm mới
Bản 1.34 tích hợp OpenTelemetry:
- Bật tracing từ API Server xuống kubelet.
- Tạo span xuyên suốt request lifecycle.
- Hỗ trợ xuất trace sang Jaeger, Tempo hoặc Grafana.
Ví dụ bật tracing:
kube-apiserver \
--tracing-config-file=/etc/kubernetes/tracing.yaml
tracing.yaml:
apiVersion: tracing.config.k8s.io/v1alpha1
kind: TracingConfiguration
endpoint: otlp-collector.monitoring:4317
samplingRatePerMillion: 5000
Tác động thực tế
- Debug nhanh hơn khi gặp sự cố latency hoặc Pod pending.
- Tích hợp sâu với Prometheus + Grafana Tempo để có observability end-to-end.
5. TrafficDistribution – Ưu tiên Zone hoặc Node
Vấn đề trước đây
PreferClose trong EndpointSlice giúp ưu tiên traffic nội vùng, nhưng đôi khi bạn muốn kiểm soát chi tiết hơn:
Ví dụ, ưu tiên gửi traffic trên cùng node để giảm chi phí network.
Điểm mới
Từ 1.34, bạn có thể chọn:
PreferSameZone→ tương tự PreferClose.PreferSameNode→ ưu tiên traffic nội node.
Ví dụ:
apiVersion: discovery.k8s.io/v1
kind: EndpointSlice
metadata:
name: my-service
spec:
trafficDistribution: PreferSameNode
Tác động thực tế
- Giảm network latency.
- Tiết kiệm chi phí cho workload heavy-traffic trong cùng node.
- Hữu ích cho các cluster multi-zone hoặc multi-region.
6. KYAML – Định dạng YAML an toàn hơn
Bối cảnh
Các file YAML của Kubernetes thường phức tạp, dễ gây lỗi, đặc biệt khi xử lý với tool CI/CD. KYAML giới hạn cú pháp YAML thành một subset an toàn, dễ parse, tránh các trường hợp edge-case.
Cách dùng mới
Bạn có thể xuất YAML dưới dạng KYAML:
kubectl get pods -o kyaml
Tác động thực tế
- Giúp các tool CI/CD đọc YAML chính xác hơn.
- Giảm rủi ro parse sai cấu trúc.
7. HPA Configurable Tolerance – Beta
Vấn đề trước đây
HorizontalPodAutoscaler (HPA) có một tolerance mặc định 10% cho cả scale-up và scale-down. Điều này đôi khi không phù hợp:
- Muốn scale-up nhanh hơn khi load tăng.
- Nhưng vẫn muốn scale-down chậm hơn để tránh flapping.
Điểm mới
Từ 1.34, bạn có thể cấu hình riêng cho hai hướng:
behavior:
scaleUp:
tolerance: 0.05
scaleDown:
tolerance: 0.2
Tác động thực tế
- Kiểm soát linh hoạt hành vi autoscaling.
- Tránh tình trạng Pod nhấp nháy khi traffic dao động liên tục.
8. Kết luận
Kubernetes v1.34 tập trung mạnh vào ba trụ cột:
- Quản lý tài nguyên thông minh → DRA, TrafficDistribution, HPA tolerance.
- Bảo mật và vận hành dễ hơn → ServiceAccount image token, KYAML.
- Observability & Debug tốt hơn → OpenTelemetry tracing, Pod Replacement Policy.
Nếu bạn đang vận hành cluster production, nên chuẩn bị nâng cấp vì v1.34 sẽ giúp:
- Tiết kiệm chi phí GPU và tài nguyên.
- Tăng bảo mật khi pull image.
- Quan sát hệ thống sâu hơn, giảm thời gian debug.





