On this page
kubernetes.core.kubectl – Execute tasks in pods running on Kubernetes.
Note
This plugin is part of the kubernetes.core collection (version 1.2.1).
You might already have this collection installed if you are using the ansible package. It is not included in ansible-core. To check whether it is installed, run ansible-galaxy collection list.
To install it, use: ansible-galaxy collection install kubernetes.core.
To use it in a playbook, specify: kubernetes.core.kubectl.
Synopsis
- Use the kubectl exec command to run tasks in, or put/fetch files to, pods running on the Kubernetes container platform.
 
Requirements
The below requirements are needed on the local controller node that executes this connection.
- kubectl (go binary)
 
Parameters
| Parameter | Choices/Defaults | Configuration | Comments | 
|---|---|---|---|
| ca_cert
        
        string
         | 
      Default: 
        ""
         | 
      
        
        env:K8S_AUTH_SSL_CA_CERT
        
       
        var: ansible_kubectl_ssl_ca_cert
        
       
        var: ansible_kubectl_ca_cert
         | 
      
        
        Path to a CA certificate used to authenticate with the API.
        
       aliases: kubectl_ssl_ca_cert  | 
     
| client_cert
        
        string
         | 
      Default: 
        ""
         | 
      
        
        env:K8S_AUTH_CERT_FILE
        
       
        var: ansible_kubectl_cert_file
        
       
        var: ansible_kubectl_client_cert
         | 
      
        
        Path to a certificate used to authenticate with the API.
        
       aliases: kubectl_cert_file  | 
     
| client_key
        
        string
         | 
      Default: 
        ""
         | 
      
        
        env:K8S_AUTH_KEY_FILE
        
       
        var: ansible_kubectl_key_file
        
       
        var: ansible_kubectl_client_key
         | 
      
        
        Path to a key file used to authenticate with the API.
        
       aliases: kubectl_key_file  | 
     
| kubectl_container
        
        string
         | 
      Default: 
        ""
         | 
      
        
        env:K8S_AUTH_CONTAINER
        
       
        var: ansible_kubectl_container
         | 
      
        
        Container name.
        
       
        Required when a pod contains more than one container.
         | 
     
| kubectl_context
        
        string
         | 
      Default: 
        ""
         | 
      
        
        env:K8S_AUTH_CONTEXT
        
       
        var: ansible_kubectl_context
         | 
      
        
        The name of a context found in the K8s config file.
         | 
     
| kubectl_extra_args
        
        string
         | 
      Default: 
        ""
         | 
      
        
        env:K8S_AUTH_EXTRA_ARGS
        
       
        var: ansible_kubectl_extra_args
         | 
      
        
        Extra arguments to pass to the kubectl command line.
        
       
        Please be aware that this passes information directly on the command line and it could expose sensitive data.
         | 
     
| kubectl_host
        
        string
         | 
      Default: 
        ""
         | 
      
        
        env:K8S_AUTH_HOST
        
       
        env:K8S_AUTH_SERVER
        
       
        var: ansible_kubectl_host
        
       
        var: ansible_kubectl_server
         | 
      
        
        URL for accessing the API.
         | 
     
| kubectl_kubeconfig
        
        string
         | 
      Default: 
        ""
         | 
      
        
        env:K8S_AUTH_KUBECONFIG
        
       
        var: ansible_kubectl_kubeconfig
        
       
        var: ansible_kubectl_config
         | 
      
        
        Path to a kubectl config file. Defaults to ~/.kube/config
         | 
     
| kubectl_namespace
        
        string
         | 
      Default: 
        ""
         | 
      
        
        env:K8S_AUTH_NAMESPACE
        
       
        var: ansible_kubectl_namespace
         | 
      
        
        The namespace of the pod
         | 
     
| kubectl_password
        
        string
         | 
      Default: 
        ""
         | 
      
        
        env:K8S_AUTH_PASSWORD
        
       
        var: ansible_kubectl_password
         | 
      
        
        Provide a password for authenticating with the API.
        
       
        Please be aware that this passes information directly on the command line and it could expose sensitive data. We recommend using the file based authentication options instead.
         | 
     
| kubectl_pod
        
        string
         | 
      Default: 
        ""
         | 
      
        
        env:K8S_AUTH_POD
        
       
        var: ansible_kubectl_pod
         | 
      
        
        Pod name.
        
       
        Required when the host name does not match pod name.
         | 
     
| kubectl_token
        
        string
         | 
      
        
        env:K8S_AUTH_TOKEN
        
       
        env:K8S_AUTH_API_KEY
        
       
        var: ansible_kubectl_token
        
       
        var: ansible_kubectl_api_key
         | 
      
        
        API authentication bearer token.
        
       
        Please be aware that this passes information directly on the command line and it could expose sensitive data. We recommend using the file based authentication options instead.
         | 
     |
| kubectl_username
        
        string
         | 
      Default: 
        ""
         | 
      
        
        env:K8S_AUTH_USERNAME
        
       
        var: ansible_kubectl_username
        
       
        var: ansible_kubectl_user
         | 
      
        
        Provide a username for authenticating with the API.
         | 
     
| validate_certs
        
        string
         | 
      Default: 
        ""
         | 
      
        
        env:K8S_AUTH_VERIFY_SSL
        
       
        var: ansible_kubectl_verify_ssl
        
       
        var: ansible_kubectl_validate_certs
         | 
      
        
        Whether or not to verify the API server's SSL certificate. Defaults to true.
        
       aliases: kubectl_verify_ssl  | 
     
Authors
- xuxinkun
 
© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
 https://docs.ansible.com/ansible/latest/collections/kubernetes/core/kubectl_connection.html