我正在尝试部署具有自我管理节点组的集群。无论我使用什么配置选项,我总是会出现以下错误:
\n\n\n错误:发布\n“ http://localhost/api/v1/namespaces/kube-system/configmaps ”:\ndial tcp 127.0.0.1:80:连接:连接被拒绝\nmodule.eks-ssp.kubernetes_config_map.aws_auth[ 0]on\n.terraform/modules/eks-ssp/aws-auth-configmap.tf 第 19 行,在资源\n"kubernetes_config_map" "aws_auth":resource\n"kubernetes_config_map" "aws_auth" {
\n
\xe2\x80\x8b
\n该.tf
文件如下所示:
module "eks-ssp" {\nsource = "github.com/aws-samples/aws-eks-accelerator-for-terraform"\n\n# EKS CLUSTER\ntenant = "DevOpsLabs2"\nenvironment = "dev-test"\nzone = ""\nterraform_version = "Terraform v1.1.4"\n\n# EKS Cluster VPC and Subnet mandatory config\nvpc_id = "xxx"\nprivate_subnet_ids = ["xxx","xxx", "xxx", "xxx"]\n\n# EKS CONTROL PLANE VARIABLES\ncreate_eks = true\nkubernetes_version = "1.19"\n\n# EKS SELF MANAGED NODE GROUPS\nself_managed_node_groups = {\nself_mg = {\nnode_group_name = "DevOpsLabs2"\nsubnet_ids = ["xxx","xxx", "xxx", "xxx"]\ncreate_launch_template = true\nlaunch_template_os = "bottlerocket" # …
Run Code Online (Sandbox Code Playgroud) 我收到了 SwaggerHub 上托管的 OpenAPI 3.0.1 定义的链接,并被告知要部署它。在 Terraform 方面,我看到太多让我困惑的资源,我不确定该使用哪一个。通过 Terraform 部署已在 OpenAPI 定义中配置的 API 网关的最直接方法是什么?是否有资源可以让我向 API 网关提供 OpenAPI 定义 URL,或者我必须将实际的 JSON 复制粘贴到某处?
我已经尝试部署自我管理节点 EKS 集群有一段时间了,但没有成功。我现在遇到的错误是 EKS 插件:
错误:创建 EKS 插件时出错 (DevOpsLabs2b-dev-test--eks:kube-proxy):InvalidParameterException:不支持指定的插件版本,AddonName:“kube-proxy”,ClusterName:“DevOpsLabs2b-dev-test-- eks", Message_: "不支持指定的插件版本" } 在 .terraform/modules/eks-ssp-kubernetes-addons/modules 上使用 module.eks-ssp-kubernetes-addons.module.aws_kube_proxy[0].aws_eks_addon.kube_proxy /kubernetes-addons/aws-kube-proxy/main.tf 第 19 行,在资源“aws_eks_addon”“kube_proxy”中:
coredns 也会重复此错误,但 ebs_csi_driver 会抛出:
错误:创建期间返回意外的 EKS 附加组件 (DevOpsLabs2b-dev-test--eks:aws-ebs-csi-driver) 状态:等待状态变为“ACTIVE”时超时(最后状态:“DEGRADED”,超时: 20m0s) [警告] 再次运行 terraform apply 将删除 kubernetes 插件并尝试再次创建它,有效清除以前的插件配置
我的 main.tf 看起来像这样:
terraform {
backend "remote" {}
required_providers {
aws = {
source = "hashicorp/aws"
version = ">= 3.66.0"
}
kubernetes = {
source = "hashicorp/kubernetes"
version = ">= 2.7.1"
}
helm = {
source = "hashicorp/helm"
version = ">= 2.4.1" …
Run Code Online (Sandbox Code Playgroud) amazon-web-services kubernetes terraform terraform-provider-aws amazon-eks
我有 4 个 env,qa 和 dev 使用一个 ID,uat 和 prod 使用另一个 ID。我正在尝试执行 if else,基本上,如果 env 是 dev 或 qa,则使用 id1,否则使用 id2。这是我尝试过的:
\nlocals{\n endpoint_id = "${var.env == "dev" || "qa" ? "id1" : "id2"}"\n}\n
Run Code Online (Sandbox Code Playgroud)\n这就是我得到的:
\nError: Invalid operand\n\xe2\x94\x82 \n\xe2\x94\x82 on ssm-parameters.tf line 2, in locals:\n\xe2\x94\x82 2: endpoint_id = "${var.env == "dev" || "qa" ? "id1" : "id2"}"\n\xe2\x94\x82 \n\xe2\x94\x82 Unsuitable value for right operand: a bool is required.\n
Run Code Online (Sandbox Code Playgroud)\n显然我不能在这里做“或”。我该怎么办呢?谢谢。
\n