kubernetes - 应用 agones 队列时出现 Kubectl 错误:确保首先安装 CRD

我正在使用 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

大厅-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

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

我对使用 k8s 还是很陌生,所以如果这个问题的答案很清楚,我很抱歉,我只是在别处找不到它。

提前致谢!

回答1

为了创建类型 Fleet 的资源,您必须首先应用定义什么是 Fleet 的自定义资源定义 (CRD)。

我查看了 agones 的 YAML 安装说明,https://raw.githubusercontent.com/googleforgames/agones/release-1.23.0/install/yaml/install.yaml 包含 CRD。您可以通过搜索 kind: CustomResourceDefinition 找到它。

我建议您首先尝试根据https://agones.dev/site/docs/installation/install-agones/yaml/#installing-agones进行安装。

相似文章

随机推荐

最新文章