应用agones舰队时Kubectl错误:确保首先安装CRD

kco*_*ode 10 kubernetes minikube agones

我正在使用 minikube(docker 驱动程序)和 kubectl 来测试 agones 舰队部署。运行后kubectl apply -f lobby-fleet.yml(当我尝试应用任何其他 agones yaml 文件时),我收到以下错误:

error: resource mapping not found for name: "lobby" namespace: "" from "lobby-fleet.yml": no matches for kind "Fleet" in version "agones.dev/v1"
ensure CRDs are installed first
Run Code Online (Sandbox Code Playgroud)

大厅-fleet.yml:

apiVersion: "agones.dev/v1"
kind: Fleet
metadata:
  name: lobby
spec:
  replicas: 2
  scheduling: Packed
  template:
    metadata:
      labels:
        mode: lobby
    spec:
      ports:
      - name: default
        portPolicy: Dynamic
        containerPort: 7600
        container: lobby
      template:
        spec:
          containers:
          - name: lobby
            image: gcr.io/agones-images/simple-game-server:0.12 # Modify to correct image
Run Code Online (Sandbox Code Playgroud)

我在 WSL2 上运行它,但在使用 Windows 安装的 kubectl(通过 choco)时收到相同的错误。我使用 docker 在 WSL2 中为 ubuntu 安装并运行了 minikube。

我对使用 k8s 还很陌生,所以如果这个问题的答案很明确,我很抱歉,我只是在其他地方找不到它。

提前致谢!

小智 7

为了创建某种资源Fleet,您必须应用自定义资源定义(CRD)来定义什么是Fleet第一个。

我查看了 agones 的 YAML 安装说明,清单包含 CRD。你可以通过搜索找到它kind: CustomResourceDefinition

我建议您首先尝试按照文档中的说明进行安装。