Teleport Workload Identity with SPIFFE: Achieving Zero Trust in Modern Infrastructure
May 23
Virtual
Register Today
Teleport logoTry For Free
Fork me on GitHub

Teleport

Kubernetes 1.25 and PSP removal

PodSecurityPolicies (PSPs) were deprecated in Kubernetes 1.22 and are removed in Kubernetes 1.25. This page explains the security implications of such changes for Teleport users, and what actions are required.

The two Teleport charts teleport-cluster and teleport-kube-agent were relying on PodSecurityPolicies to provide an additional security level for Teleport pods. Their removal has two main consequences:

  • After upgrading to 1.25, Helm can end up with a corrupted state referencing PSP objects. In this case, the Helm release state has to be manually fixed.
  • Security policy enforcement is managed by PodSecurityAdmission (PSA) since 1.23. PSA security level is configured on the namespace resource, which Helm doesn't manage. You now have to set the security enforcement level as the chart can't do it.

To prepare for the 1.25 upgrade:

  • Make sure you are running at least Kubernetes 1.23 (run kubectl version)

  • Label the namespace you are deploying the chart in with the PSA enforcement level:

    kubectl label namespace my-teleport-namespace 'pod-security.kubernetes.io/enforce=baseline'

    namespace/my-teleport-namespace labeled
  • Explicitly disable PSP deployment from the chart by setting podSecurityPolicy.enabled: false and upgrading the Helm release.

Once all the Teleport namespaces are labeled with the adequate PodSecurityStandard, and all Helm releases have been upgraded at least once with PSP disabled, you can safely upgrade to 1.25.

0