k3s-io / docs

k3s Documentation
http://docs.k3s.io
16 stars 117 forks source link

Failed to determine GroupVersionResource for manifest #258

Closed GodAtum360 closed 3 months ago

GodAtum360 commented 3 months ago

Ran kubectl apply -f https://github.com/rancher/system-upgrade-controller/releases/latest/download/system-upgrade-controller.yaml --insecure-skip-tls-verify

Output:

kubectl get deploy -n system-upgrade  --insecure-skip-tls-verify
NAME                        READY   UP-TO-DATE   AVAILABLE   AGE
system-upgrade-controller   1/1     1            1           21m

Now ran my plans.tf file:

resource "kubernetes_manifest" "server_plan" {
  manifest = {
    apiVersion = "upgrade.cattle.io/v1"
    kind       = "Plan"
    metadata = {
      name      = "server-plan"
      namespace = "system-upgrade"
    }
    spec = {
      concurrency = 1
      cordon      = true
      nodeSelector = {
        matchExpressions = [
          {
            key      = "node-role.kubernetes.io/control-plane"
            operator = "Exists"
          }
        ]
      }
      tolerations = [
        {
          operator = "Exists"
          effect   = "NoSchedule"
        }
      ]
      serviceAccountName = "system-upgrade"
      upgrade = {
        image = "rancher/k3s-upgrade"
      }
      channel = "https://update.k3s.io/v1-release/channels/stable"
    }
  }
}

resource "kubernetes_manifest" "agent_plan" {
  manifest = {
    apiVersion = "upgrade.cattle.io/v1"
    kind       = "Plan"
    metadata = {
      name      = "agent-plan"
      namespace = "system-upgrade"
    }
    spec = {
      concurrency = 1
      cordon      = true
      nodeSelector = {
        matchExpressions = [
          {
            key      = "node-role.kubernetes.io/control-plane"
            operator = "DoesNotExist"
          }
        ]
      }
      tolerations = [
        {
          operator = "Exists"
          effect   = "NoSchedule"
        }
      ]
      prepare = {
        args  = ["prepare", "server-plan"]
        image = "rancher/k3s-upgrade"
      }
      serviceAccountName = "system-upgrade"
      upgrade = {
        image = "rancher/k3s-upgrade"
      }
      channel = "https://update.k3s.io/v1-release/channels/stable"
    }
  }
}

On apply I get the error:

Error: Failed to determine GroupVersionResource for manifest
│ 
│   with kubernetes_manifest.server_plan,
│   on plans.tf line 1, in resource "kubernetes_manifest" "server_plan":
│    1: resource "kubernetes_manifest" "server_plan" {
│ 
│ no matches for kind "Plan" in group "upgrade.cattle.io"
╵
╷
│ Error: Failed to determine GroupVersionResource for manifest
│ 
│   with kubernetes_manifest.agent_plan,
│   on plans.tf line 35, in resource "kubernetes_manifest" "agent_plan":
│   35: resource "kubernetes_manifest" "agent_plan" {
│ 
│ no matches for kind "Plan" in group "upgrade.cattle.io"
brandond commented 3 months ago

You're missing the CRDs; they are available in a separate manifest: https://github.com/rancher/system-upgrade-controller/releases/latest/download/crd.yaml

We are likely going to re-enable having the controller auto-create them, see https://github.com/rancher/system-upgrade-controller/pull/297