【发布时间】:2020-06-19 11:21:51
【问题描述】:
所以,我正在尝试将带有 helm3 的图表安装到 kubernetes 集群(EKS)。 我在下面有一个 terraform 配置。实际集群处于活动状态且可见
variable "aws_access_key" {}
variable "aws_secret_key" {}
locals {
cluster_name = "some-my-cluster"
}
provider "aws" {
region = "eu-central-1"
access_key = var.aws_access_key
secret_key = var.aws_secret_key
}
data "aws_eks_cluster" "cluster" {
name = local.cluster_name
}
data "aws_eks_cluster_auth" "cluster" {
name = data.aws_eks_cluster.cluster.name
}
output "endpoint" {
value = data.aws_eks_cluster.cluster.endpoint
}
output "kubeconfig-certificate-authority-data" {
value = data.aws_eks_cluster.cluster.certificate_authority.0.data
}
output "identity-oidc-issuer" {
value = "${data.aws_eks_cluster.cluster.identity.0.oidc.0.issuer}"
}
provider "kubernetes" {
version = "~>1.10.0"
host = data.aws_eks_cluster.cluster.endpoint
cluster_ca_certificate = base64decode(data.aws_eks_cluster.cluster.certificate_authority.0.data)
token = data.aws_eks_cluster_auth.cluster.token
load_config_file = false
}
provider "helm" {
version = "~>1.0.0"
debug = true
alias = "my_helm"
kubernetes {
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)
load_config_file = false
}
}
data "helm_repository" "stable" {
name = "stable"
url = "https://kubernetes-charts.storage.googleapis.com"
}
resource "helm_release" "mydatabase" {
provider = helm.my_helm
name = "mydatabase"
chart = "stable/mariadb"
namespace = "default"
set {
name = "mariadbUser"
value = "foo"
}
set {
name = "mariadbPassword"
value = "qux"
}
}
当我运行terraform apply 时,我看到error: Error: Kubernetes cluster unreachable
有什么想法吗?还将感谢一些如何调试问题的想法 - 调试选项不起作用。
可以确认它适用于新创建的cluster。
【问题讨论】:
-
你找到解决办法了吗?
-
我没有。我刚刚重新创建了集群,它可以工作。你可以试试这个配置github.com/kharandziuk/eks-getting-started-helm3 所以,这可能是政策或类似的问题。我建议你自己运行 helm,甚至尝试为 k8s 手动创建模板。它会给你一个调试问题的机会
-
在 AWS 上删除 terraform state S3 存储桶解决了我的问题。我有类似的问题和相同的错误消息:stackoverflow.com/questions/66427129/…
-
事实上,我可以通过
terraform refresh解决这个问题,我猜想在某个地方缓存了一个过期的令牌,没有正确刷新。
标签: kubernetes kubernetes-helm amazon-eks