NVIDIA/ais-k8s v3.0.0
NVIDIA/ais-k8s
Captured source
source ↗published Jun 8, 2026seen 2dcaptured 1dhttp 200method exa
Release: NVIDIA/ais-k8s v3.0.0
- Repository: NVIDIA/ais-k8s | Kubernetes Operator, Helm Charts, Ansible Playbooks, and utility scripts for large-scale AIStore deployments on Kubernetes. | 132 stars | Go
- Author: [@github-actions[bot]](https://github.com/github-actions[bot])
- Created: 2026-06-08T21:31:56Z
- Published: 2026-06-08T21:45:00Z
v3.0.0
WARNING: This release will result in an AIStore cluster rollout to sync pod templates.
Added
- Default pod-level security context applied when
securityContextis unset, with runtime-default seccomp profiles. - AIS-container security context spec option
aisContainerSecurityContextto replacecapabilities. Keeps the same underlying K8s type.
- Default when
aisContainerSecurityContextis unset: drop all capabilities and disallow privilege escalation.
Changed
- Admission webhook
- Rejects specs that set both
spec.tlsand any ofconfigToUpdate.net.http.{server_crt,server_key,client_ca_tls}. The operator owns these paths (/var/certs/{tls.crt,tls.key,ca.crt}) wheneverspec.tlsis configured. - Allows updates to both proxy and target
capabilities, mapped to container security context.
- Target rollouts now tolerate Kubernetes-unschedulable pending pods.
- Container spec comparison and sync are now unified across init, primary, and sidecar containers, with a per-kind rollout-trigger policy:
- Sidecars (e.g.
ais-logs):resourcesandsecurityContextdiffs now trigger a rollout in addition toimage. - Init containers: all init containers are compared.
securityContextdiffs now trigger a rollout in addition toimage;envand probe diffs no longer trigger. - Renaming a container at the same index now triggers a rollout.
- Pod template field removals cause a rollout to sync (previously only
envrespected removals). - All label-based selection will use prefixed labels
app.kubernetes.io/nameandapp.kubernetes.io/component
- Labels applied to pods are NOT changed.
- Newly-created StatefulSets select only on prefixed labels. Existing StatefulSets continue to select on all labels and are not updated in place.
- Replaces selector usage of
appandcomponent. Legacy labels remain on pods and StatefulSets for compatibility with existing selectors. - User labels cannot override
app.kubernetes.io/nameandapp.kubernetes.io/component.
- Deprecated the
capabilitiesspec option, replaced with a more accurateaisContainerSecurityContext. - Deprecated the
stateStorageClassandhostPathPrefixroot-level spec options. UsestateStorage.pvc.storageClassandstateStorage.hostPath.prefix, respectively. - Updated default manager args set by the operator kustomize overlay and resulting helm chart:
- Enable leader election by default.
- Set explicit bind addresses for health probe and metrics.
- Metrics server will now use the certificate from the
metrics-server-certsecret.
Removed
- Removed StatsD ConfigMap, volume, and mounts
- StatsD support was deprecated in AIStore in v3.28 and dropped in v4.0
- Removed deprecated TLS spec fields:
spec.tlsCertificate,spec.tlsSecretName,spec.tlsCertManagerIssuerName.
- Migrate to
spec.tls.certificate,spec.tls.secretName, orspec.tls.certificatewithmode: csirespectively before upgrading. Existing CRs that still use the old fields will be rejected by the new schema.
- Removed deprecated log-sidecar spec fields:
spec.logSidecarImage,spec.logSidecarResources.
- Migrate to
spec.logSidecar.imageandspec.logSidecar.resourcesbefore upgrading.
- Removed backwards-compatible env-var rollout skips:
AIS_PUBLIC_HOSTNAMEremovals on the AIS container andAIS_PUBLIC_DNS_MODE/HOST_IPSadditions on the init container will now trigger a rollout instead of being ignored. - Removed the rollout-skip for adding
resources.requests.ephemeral-storage; resource diffs are now compared in full.
---
Assets
| File | Size | Downloads | | --- | --- | --- | | ais-operator.yaml | 401 KB | 0 downloads |