Difference between revisions of "Terraform provider: Kubernetes"
Jump to navigation
Jump to search
(49 intermediate revisions by 6 users not shown) | |||
Line 1: | Line 1: | ||
* https://registry.terraform.io/providers/hashicorp/kubernetes/latest/docs | * https://registry.terraform.io/providers/hashicorp/kubernetes/latest/docs | ||
+ | == Resources == | ||
+ | {{k8s tf resources}} | ||
− | provider "kubernetes" { | + | == K8s [[Provider]] configuration == |
− | config_path = "[[~/.kube/config]]" | + | |
− | config_context = "my-context" | + | [[provider]] "kubernetes" { |
+ | [[config_path]] = "[[~/.kube/config]]" | ||
+ | [[config_context]] = "my-context-cluster" | ||
} | } | ||
− | resource "kubernetes_namespace" "example" { | + | resource "[[kubernetes_namespace]]" "example" { |
metadata { | metadata { | ||
name = "my-first-namespace" | name = "my-first-namespace" | ||
Line 13: | Line 17: | ||
} | } | ||
− | + | == [[Terraform EKS]] examples == | |
− | [[Terraform EKS]] | ||
provider "kubernetes" { | provider "kubernetes" { | ||
− | + | load_config_file = false | |
− | + | ||
− | cluster_ca_certificate = [[base64decode]](data.aws_eks_cluster.cluster.certificate_authority.0.data) | + | host = [[data.]][[aws_eks_cluster]].cluster.endpoint |
+ | [[token]] = data.[[aws_eks_cluster_auth]].cluster.token | ||
+ | [[cluster_ca_certificate]] = [[base64decode]](data.aws_eks_cluster.cluster.certificate_authority.0.data) | ||
} | } | ||
+ | |||
+ | https://registry.terraform.io/providers/hashicorp/kubernetes/latest/docs#exec-plugins | ||
+ | {{provider kubernetes eks}} | ||
+ | |||
+ | == Errors == | ||
+ | * <code>[[Error: Provider configuration: cannot load Kubernetes client config]]</code> | ||
+ | * <code>[[Error: Unauthorized]]</code> | ||
== Related == | == Related == | ||
* [[Terraform: Helm provider]] | * [[Terraform: Helm provider]] | ||
+ | * <code>[[token]]</code> | ||
+ | * [[Terraform provider: kubectl]] | ||
+ | * <code>[[hashicorp/kubernetes]]</code> | ||
+ | * [[Deploy GKE cluster using Terraform]] | ||
+ | * [[Deploy EKS cluster using Terraform]] | ||
+ | * [[Terraform EKS module]] | ||
+ | * <code>[[client.authentication.k8s.io/v1beta1]]</code> | ||
== See also == | == See also == | ||
− | * {{ | + | * {{Tf K8s}} |
− | |||
[[Category:Terraform]] | [[Category:Terraform]] | ||
+ | [[Category:K8s]] |
Latest revision as of 13:32, 12 February 2024
Contents
Resources[edit]
kubernetes_service_account
kubernetes_secret
kubernetes_manifest
kubernetes_namespace
kubernetes_daemonset
kubernetes_cluster_role
kubernetes_cluster_role_binding
kubernetes_config_map
kubernetes_storage_class_v1
kubernetes_persistent_volume
kubernetes_labels
kubernetes_annotations
K8s Provider configuration[edit]
provider "kubernetes" { config_path = "~/.kube/config" config_context = "my-context-cluster" } resource "kubernetes_namespace" "example" { metadata { name = "my-first-namespace" } }
Terraform EKS examples[edit]
provider "kubernetes" { load_config_file = false host = data.aws_eks_cluster.cluster.endpoint token = data.aws_eks_cluster_auth.cluster.token cluster_ca_certificate = base64decode(data.aws_eks_cluster.cluster.certificate_authority.0.data) }
https://registry.terraform.io/providers/hashicorp/kubernetes/latest/docs#exec-plugins
provider "kubernetes" { host = var.cluster_endpoint cluster_ca_certificate = base64decode(var.cluster_ca_cert) exec { api_version = "client.authentication.k8s.io/v1alpha1" args = ["eks", "get-token", "--cluster-name", var.cluster_name] command = "aws" } }
Errors[edit]
Related[edit]
- Terraform: Helm provider
token
- Terraform provider: kubectl
hashicorp/kubernetes
- Deploy GKE cluster using Terraform
- Deploy EKS cluster using Terraform
- Terraform EKS module
client.authentication.k8s.io/v1beta1
See also[edit]
- Terraform provider: Kubernetes,
kubernetes_storage_class_v1, kubernetes_persistent_volume, kubernetes_manifest, kubernetes daemonset, kubernetes_service, kubernetes_namespace, kubernetes_service_account, kubernetes_secret, kubernetes_namespace, kubernetes_service_account_v1, kubernetes_secret_v1, kubernetes horizontal pod autoscaler v1, kubernetes_ingress_v1, kubernetes_persistent_volume_claim_v1
Advertising: