Kubernetes Config
The k8s_config
resource allows Kubernetes configuraton to be applied on a k8s_cluster
. You can specify a list of paths or individual files and health checks for the resources. A k8s_config
only completes once the configuration has bene successfully applied and any health checks have passed. This allows you to create complex dependencies for your applications.
#
Minimal examplek8s_config "app" { depends_on = ["helm.consul"]
cluster = "k8s_cluster.k3s" paths = [ "./k8s_config/app", "./k8s_config/dashboard", ]
wait_until_ready = true}
#
Parameters#
depends_onType: []string
Required: false
Depends on allows you to specify resources which should be created before this one. In the instance of a destruction, this container will be destroyed before resources in.
#
clusterType: string
Required: true
Reference to a k8s_clsuter
resource where the configuration will be applied, must be specified using the convention k8s_cluster.<resource name>
.
#
pathsType: []string
Required: true
List of files or folders containing valid Kubernetes config.
#
wait_until_readyType: bool
Required: true
If true
the k8s_config
blocks until all resources in the specified paths
progress to the ready
state. Ready as a state is defined by Kubernetes and varies from resource to resource. For many kinds, ready is true when the resource has been successfully added or modified on the cluster.
#
health_checkType: HealthCheck
Required: true
Define a health check for the k8s_config
, the resource will only be marked as succesfully created when the health check passes. Health checks operate on the runing state of containers based on the pod selector.
health_check { timeout = "120s" pods = ["app.kubernetes.io/name=vault"]}
health_check
#
Type A health_check stanza allows the definition of a health check which must pass before the k8s_config
is marked as successfully created.
#
timeoutType: duration
Required: true
The maximum duration to wait before marking the health check as failed. Expressed as a Go duration, e.g. 1s
= 1 second, 100ms
= 100 milliseconds.
#
podsType: []string
Required: true
Pod selector to use for checks, a Pod is marked as healthy when all containers in all pods returned by the selector string are marked as running.