无法在EKS集群上创建PodPreset

时间:2018-09-04 17:07:52

标签: amazon-eks

环境: 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"

3 个答案:

答案 0 :(得分:1)

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

$ kubectl proxy
Starting to serve on 127.0.0.1:8001

我跑步

curl localhost:8001/apis

很明显,在我的情况下,settings.k8s.io/v1alpha1不被支持。我建议运行相同的检查。 同时检查here时提到

  

您应该已经启用了API类型设置。k8s.io/ v1alpha1 / podpreset

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

答案 1 :(得分:0)

EKS尚未启用任何k8s Alpha功能,而到目前为止,PodPreset是k8s Alpha功能。因此,如果您想实现上述目标,则必须创建一个现在由EKS支持的Mutating Admission Webhook。但是不确定简单用例,PodPreset是否可以处理大多数简单用例,希望它将很快进入Beta阶段。

答案 2 :(得分:0)

截至2020年3月11日,仍然有open GitHub的请求。