环境: 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"
答案 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的请求。