0

环境:AWS 托管 Kubernetes 集群 (EKS)

行动:通过应用以下内容创建一个 PodPreset 对象:

apiVersion: settings.k8s.io/v1alpha1
kind: PodPreset
meta data:
  name: sample
  spec:
    selector:
      matchLabels:
        app: microservice
    env:
      - name: test_env
        value: "6379"
    volumeMounts:
      - name: shared
        mountPath: /usr/shared
    volumes:
      - name: shared
        emptyDir: {}

观察:

unable to recognize "podpreset.yaml": no matches for kind "PodPreset" in version "settings.k8s.io/v1alpha1"
4

3 回答 3

1

看起来settings.k8s.io/v1alpha1EKS 默认不支持 API 版本。我也在使用 EKS,我只是运行这个命令来检查它:

$ kubectl 代理
开始服务于 127.0.0.1:8001

我跑

卷曲 l​​ocalhost:8001/apis

显然在我的情况下settings.k8s.io/v1alpha1不受支持。我建议运行相同的检查。还检查here它提到了

您应该启用 API 类型 settings.k8s.io/v1alpha1/podpreset

我不知道如何settings.k8s.io/v1alpha1在 EKS 中启用。

于 2018-09-08T06:58:49.447 回答
0

EKS 不启用任何 k8s Alpha 功能,截至今天,PodPreset 是 k8s Alpha 功能。因此,如果您想实现上述目标,您必须创建一个现在 EKS 支持的 Mutating Admission webhook。但是不确定简单的用例,PodPreset 可以处理大多数简单的用例,希望它很快就会进入 Beta 阶段。

于 2018-11-02T22:24:31.553 回答
0

截至 2020 年 11 月 3 日,仍有一个开放的 GitHub请求。

于 2020-11-03T02:23:35.810 回答