【发布时间】:2021-02-09 09:59:12
【问题描述】:
管道问题
- Terraform 用于构建我们的
eksKubernetes 集群。 - 我们使用 terraform 为其他依赖于 terraform 值的服务编写了几个配置文件
生成要应用的通用 k8s 目标文件
- 到目前为止,我可以生成文件了...
locals {
cert_issuer = {
apiVersion = "cert-manager.io/v1"
kind = "ClusterIssuer"
metadata = {
name = "letsencrypt-prd"
}
spec = {
acme = {
# https://letsencrypt.org/docs/acme-protocol-updates/
server = "https://acme-v02.api.letsencrypt.org/directory"
# Email for the cert contact
email = "contact@${var.domain}"
# Name of a secret used to store the ACME account private key
privateKeySecretRef = {
name = "${var.domain}-private-key-secret"
}
# Zone resolvers by Route53 DNS01 challenges
solvers = [{
selector = {
dnsZones = [var.domain]
}
dns01 = {
route53 = {
region = var.aws_region
hostedZoneID = data.aws_route53_zone.domain_hosted_zone.zone_id
}
}
}]
}
}
}
}
resource "local_file" "cert_manager_cluster_issuer_object" {
content = yamlencode(local.cert_issuer)
filename = "${path.module}/.k8s/cert-manager/cluster-issuer-letsencrypt-prd"
}
- 这会保存文件,我想使用
kubectl apply应用它
【问题讨论】:
-
您能描述一下您在这里面临的挑战吗?我不太明白您遇到的问题是什么。
-
@bitsapien 我使用 ArgoCD 使用 kustomize 应用应用程序,但是为了设置 kube-system 或其他系统级对象,我们想使用 terraform... 我想在本地生成它们并使用 kustomize 应用(因为 kubectl apply -f 可以申请整个目录)......这有意义吗?到目前为止,经过数小时试图让提供商工作后,我得到了以下解决方案...如果您有其他建议,请告诉我...