Pod Security Admission
The Pod Security Admission (PSA) profile that a namespace enforces determines whether the pods of your mesh workloads are admitted.
Baseline: All mesh workloads are admitted with the default control plane configuration.Restricted: A mesh workload is admitted only when its pod carries theRuntimeDefaultseccomp profile, which the control plane does not add by default. Otherwise the pod is rejected, for example withseccompProfile ... must be set to "RuntimeDefault" or "Localhost".
Each kind of workload is configured separately:
Injected sidecars
Injected sidecars are admitted into a Restricted namespace only when both of the following conditions are met:
-
The
IstioCNIresource is deployed, so that the control plane injects the unprivilegedistio-validationcontainer instead of the privilegedistio-initcontainer. This is the default installation flow described in Installing Alauda Service Mesh. -
The
Istioresource setsspec.values.global.proxy.seccompProfile.typetoRuntimeDefault:This setting applies to the
istio-validationandistio-proxycontainers only.
Changing the spec.values field of the Istio resource updates the injection template, but running pods keep the sidecar that was injected when they were created. Restart the affected workloads so that they pick up the new seccomp profile.
Gateway API gateways and waypoint proxies
The control plane renders gateways deployed with the Kubernetes Gateway API and waypoint proxies from its own templates, which do not read spec.values.global.proxy.seccompProfile. The Istio resource does not expose spec.values.gateways either; that field is silently discarded. Configure the seccomp profile with the spec.values.gatewayClasses overlay, which the control plane merges into the generated Deployment.
Patch the Istio resource before you create a Gateway resource in a namespace that enforces the Restricted profile. Apply only the gateway classes that you use.
-
For gateways that use the
istiogateway class: -
For waypoint proxies, which use the
istio-waypointgateway class:
The patch merges by key, so you can apply both commands and keep both overlays.
Verification
Confirm that the control plane generated a ConfigMap for each patched gateway class by running the following command:
Example output
The overlay applies to every gateway of that class in the cluster. Existing gateways roll out once to pick up the seccomp profile.
Reference
- Pod Security Standards (Kubernetes documentation)
- Restrict a Container's Syscalls with seccomp (Kubernetes documentation)