terraform kubernetes alpha提供程序失败,返回415不支持的媒体类型



我正在尝试在我的terraform配置中使用kubernetes alpha提供程序。我正在使用它来应用app-crd.yaml作为一个组来管理我的资源。

kubectl apply -f "https://raw.githubusercontent.com/GoogleCloudPlatform/marketplace-k8s-app-tools/master/crd/app-crd.yaml"

我使用将这个yaml文件转换为tf文件https://github.com/jrhouston/tfk8s工具

我正在使用kubernetes alpha提供程序将此tf文件应用为清单

我的tf配置如下所示。

供应商.tf

terraform {
required_providers {
kubernetes-alpha = {
source = "localdomain/provider/kubernetes-alpha"
}
}
}
provider "kubernetes-alpha" {
host                   = "https://${var.endpoint}"
token                  = var.token
cluster_ca_certificate = var.cluster_ca_certificate
server_side_planning   = true
}

app_crd.tf

resource "kubernetes_manifest" "customresourcedefinition_applications_app_k8s_io" {
provider = kubernetes-alpha
manifest = {
"apiVersion" = "apiextensions.k8s.io/v1beta1"
"kind"       = "CustomResourceDefinition"
"metadata" = {
"creationTimestamp" = null
"labels" = {
"controller-tools.k8s.io" = "1.0"
}
"name" = "applications.app.k8s.io"
}
"spec" = {
"group" = "app.k8s.io"
"names" = {
"kind"   = "Application"
"plural" = "applications"
.
.
.
"status" = {
"acceptedNames" = {
"kind"   = ""
"plural" = ""
}
"conditions"     = []
"storedVersions" = []
}
}
}

当我尝试地形计划时,我得到了一个415不支持的

[DEBUG] plugin.terraform-provider-kubernetes-alpha: -----------------------------------------------------
[DEBUG] plugin.terraform-provider-kubernetes-alpha: 2020/08/27 15:14:57 [DEBUG] Kubernetes API Response Details:
[DEBUG] plugin.terraform-provider-kubernetes-alpha: ---[ RESPONSE ]--------------------------------------
[DEBUG] plugin.terraform-provider-kubernetes-alpha: HTTP/2.0 415 Unsupported Media Type
[DEBUG] plugin.terraform-provider-kubernetes-alpha: Content-Length: 165
[DEBUG] plugin.terraform-provider-kubernetes-alpha: Audit-Id: 537f3df0-f9b8-4f57-a3ce-6afacc383bc4
[DEBUG] plugin.terraform-provider-kubernetes-alpha: Content-Type: application/json
[DEBUG] plugin.terraform-provider-kubernetes-alpha: Date: Thu, 27 Aug 2020 22:14:57 GMT
[DEBUG] plugin.terraform-provider-kubernetes-alpha:
[DEBUG] plugin.terraform-provider-kubernetes-alpha: {
[DEBUG] plugin.terraform-provider-kubernetes-alpha:  "kind": "Status",
[DEBUG] plugin.terraform-provider-kubernetes-alpha:  "apiVersion": "v1",
[DEBUG] plugin.terraform-provider-kubernetes-alpha:  "metadata": {},
[DEBUG] plugin.terraform-provider-kubernetes-alpha:  "status": "Failure",
[DEBUG] plugin.terraform-provider-kubernetes-alpha:  "message": "415: Unsupported Media Type",
[DEBUG] plugin.terraform-provider-kubernetes-alpha:  "reason": "UnsupportedMediaType",
[DEBUG] plugin.terraform-provider-kubernetes-alpha:  "details": {},
[DEBUG] plugin.terraform-provider-kubernetes-alpha:  "code": 415
[DEBUG] plugin.terraform-provider-kubernetes-alpha: }

API请求如下所示

[DEBUG] plugin.terraform-provider-kubernetes-alpha: -----------------------------------------------------
[DEBUG] plugin.terraform-provider-kubernetes-alpha: 2020/08/27 15:14:57 [DEBUG] Kubernetes API Request Details:
[DEBUG] plugin.terraform-provider-kubernetes-alpha: ---[ REQUEST ]---------------------------------------
[DEBUG] plugin.terraform-provider-kubernetes-alpha: PATCH /apis/apiextensions.k8s.io/v1beta1/customresourcedefinitions/app
lications.app.k8s.io?dryRun=All&fieldManager=Terraform HTTP/1.1
plugin.terraform-provider-kubernetes-alpha: Host: <REDACTED>
[DEBUG] plugin.terraform-provider-kubernetes-alpha: User-Agent: terraform-provider-kubernetes-alpha/v0.0.0 (darwin/amd64)
kubernetes/$Format
[DEBUG] plugin.terraform-provider-kubernetes-alpha: Content-Length: 2957
[DEBUG] plugin.terraform-provider-kubernetes-alpha: Accept: application/json
[DEBUG] plugin.terraform-provider-kubernetes-alpha: Authorization: Bearer <REDACTED>
[DEBUG] plugin.terraform-provider-kubernetes-alpha: Content-Type: application/apply-patch+yaml
[DEBUG] plugin.terraform-provider-kubernetes-alpha: Accept-Encoding: gzip
[DEBUG] plugin.terraform-provider-kubernetes-alpha:
[DEBUG] plugin.terraform-provider-kubernetes-alpha: {
[DEBUG] plugin.terraform-provider-kubernetes-alpha:  "apiVersion": "apiextensions.k8s.io/v1beta1",
[DEBUG] plugin.terraform-provider-kubernetes-alpha:  "kind": "CustomResourceDefinition",
[DEBUG] plugin.terraform-provider-kubernetes-alpha:  "metadata": {
[DEBUG] plugin.terraform-provider-kubernetes-alpha:   "creationTimestamp": null,
[DEBUG] plugin.terraform-provider-kubernetes-alpha:   "labels": {
[DEBUG] plugin.terraform-provider-kubernetes-alpha:    "controller-tools.k8s.io": "1.0"
[DEBUG] plugin.terraform-provider-kubernetes-alpha:   },
[DEBUG] plugin.terraform-provider-kubernetes-alpha:   "name": "applications.app.k8s.io"
[DEBUG] plugin.terraform-provider-kubernetes-alpha:  },
.
.
.

我手动安装了这里讨论的插件terraform手动安装的插件失败

我缺少任何配置吗?

提前感谢

我运行的GKE集群版本为1.15,不支持服务器端。升级我的集群到1.6修复了这个问题

最新更新