Task runner that executes a task inside a pod in a Kubernetes cluster.

text
This plugin is only available in the [Enterprise Edition](https://kestra.io/enterprise) (EE).

This task runner is container-based so the `containerImage` property must be set to be able to use it.

To access the task's working directory, use the `{{workingDir}}` Pebble expression or the `WORKING_DIR` environment variable. Input files and namespace files will be available in this directory.

To generate output files you can either use the `outputFiles` task's property and create a file with the same name in the task's working directory, or create any file in the output directory which can be accessed by the `{{outputDir}}` Pebble expression or the `OUTPUT_DIR` environment variables.

Note that when the Kestra Worker running this task is terminated, the pod will still runs until completion, then after restarting, the Worker will resume processing on the existing pod unless `resume` is set to false.

If your cluster is configure with [RBAC](https://kubernetes.io/docs/reference/access-authn-authz/rbac/), you need to configure the service account running your pod need to have the following authorizations: 
- pods: get, create, delete, watch, list
- pods/log: get, watch
- pods/exec: get, watch
As an example, here is a role that grant those authorizations: 
```yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata: 
  name: task-runner
rules: 
- apiGroups: [""]
  resources: ["pods"]
  verbs: ["get", "create", "delete", "watch", "list"]
- apiGroups: [""]
  resources: ["pods/exec"]
  verbs: ["get", "watch"]
- apiGroups: [""]
  resources: ["pods/log"]
  verbs: ["get", "watch"]
```
yaml
type: "io.kestra.plugin.ee.kubernetes.runner.Kubernetes"