Exec Plugin

Exec plugin is one of Kubernetes authentication strategies which allows kubectl to execute an external command to receive user credentials to send to api-server. Since Kubernetes 1.26, the default azure auth plugin is removed from client-go and kubectl.

To interact with an Azure AD enabled Kubernetes cluster, Exec plugin using kubelogin will be required.

A kubeconfig using exec plugin will look somewhat like:

kind: Config preferences: {} users: - name: user-name user: exec: apiVersion: client.authentication.k8s.io/v1beta1 command: kubelogin args: - get-token - --environment - AzurePublicCloud - --server-id - <AAD server app ID> - --client-id - <AAD client app ID> - --tenant-id - <AAD tenant ID>

When using kubelogin in Exec plugin, the kubeconfig tells kubectl to execute kubelogin get-token subcommand to perform various Azure AD login modes to get the access token.