41 lines
1.1 KiB
HCL
41 lines
1.1 KiB
HCL
provider "kubectl" {
|
|
apply_retry_count = 5
|
|
host = module.eks.cluster_endpoint
|
|
cluster_ca_certificate = base64decode(module.eks.cluster_certificate_authority_data)
|
|
load_config_file = false
|
|
|
|
exec {
|
|
api_version = "client.authentication.k8s.io/v1beta1"
|
|
command = "aws"
|
|
args = ["eks", "get-token", "--cluster-name", module.eks.cluster_id]
|
|
}
|
|
}
|
|
|
|
resource "kubectl_manifest" "karpenter_provisioner" {
|
|
yaml_body = <<-YAML
|
|
apiVersion: karpenter.sh/v1alpha5
|
|
kind: Provisioner
|
|
metadata:
|
|
name: default
|
|
spec:
|
|
requirements:
|
|
- key: karpenter.sh/capacity-type
|
|
operator: In
|
|
values: ["spot"]
|
|
limits:
|
|
resources:
|
|
cpu: 1000
|
|
provider:
|
|
subnetSelector:
|
|
Name: "*private*"
|
|
securityGroupSelector:
|
|
karpenter.sh/discovery/${module.eks.cluster_id}: ${module.eks.cluster_id}
|
|
tags:
|
|
karpenter.sh/discovery/${module.eks.cluster_id}: ${module.eks.cluster_id}
|
|
ttlSecondsAfterEmpty: 30
|
|
YAML
|
|
|
|
depends_on = [
|
|
helm_release.karpenter
|
|
]
|
|
} |