无法创建具有在节点上通告的扩展资源的 pod
Unable to create a pod with extended resources advertised on a node
你好,我有一个单节点集群,我按照 kubernetes-extended-resource 上的文档将名为“sctrls”的扩展资源通告给节点 softserv1141。在这里我 运行 命令:
kubectl get nodes -o yaml
其中输出包含以下部分,表示资源创建成功。
status:
addresses:
- address: 172.16.250.120
type: InternalIP
- address: softserv1141
type: Hostname
allocatable:
cpu: "3"
ephemeral-storage: "7721503937"
hugepages-1Gi: "0"
hugepages-2Mi: "0"
memory: 16163880Ki
pods: "110"
sctrls: "64"
capacity:
cpu: "3"
ephemeral-storage: 8182Mi
hugepages-1Gi: "0"
hugepages-2Mi: "0"
memory: 16266280Ki
pods: "110"
sctrls: "64"
我尝试创建将扩展资源分配给 pod,并按照 kubernetes-assign-extended-resource-pod 中的文档创建它。
pod文件如下
$ cat nginx-pod.yaml
apiVersion: v1
kind: Pod
metadata:
name: extended-resource-demo
spec:
containers:
- name: extended-resource-demo-ctr
image: nginx
resources:
requests:
sctrls: 3
我在创建 pod 的过程中遇到了以下问题
$ kubectl create -f nginx-pod.yaml
The Pod "extended-resource-demo" is invalid:
* spec.containers[0].resources.limits[sctrls]: Invalid value: "sctrls": must be a standard resource type or fully qualified
* spec.containers[0].resources.limits[sctrls]: Invalid value: "sctrls": must be a standard resource for containers
* spec.containers[0].resources.requests[sctrls]: Invalid value: "sctrls": must be a standard resource type or fully qualified
* spec.containers[0].resources.requests[sctrls]: Invalid value: "sctrls": must be a standard resource for containers
我不知道为什么会出现此错误,并且还没有在网上找到任何好的解决方案。但我觉得它可能是 kubectl 版本,因为 docs 将其作为功能状态提及:Kubernetes v1.18 [稳定] 我的 kubectl 版本是
$ kubectl version
Client Version: version.Info{Major:"1", Minor:"16", GitVersion:"v1.16.8", GitCommit:"ec6eb119b81be488b030e849b9e64fda4caaf33c", GitTreeState:"clean", BuildDate:"2020-03-12T21:00:06Z", GoVersion:"go1.13.8", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"16", GitVersion:"v1.16.8", GitCommit:"ec6eb119b81be488b030e849b9e64fda4caaf33c", GitTreeState:"clean", BuildDate:"2020-03-12T20:52:22Z", GoVersion:"go1.13.8", Compiler:"gc", Platform:"linux/amd64"}
我需要确认这是问题所在还是有未经测试的解决方案。
看起来 docs 中的这一段有答案:“扩展资源完全符合 *.kubernetes.io/ 之外的任何域。有效的扩展资源名称有表单示例。com/foo 其中 example.com 替换为您组织的域,foo 是描述性资源名称。".
你好,我有一个单节点集群,我按照 kubernetes-extended-resource 上的文档将名为“sctrls”的扩展资源通告给节点 softserv1141。在这里我 运行 命令:
kubectl get nodes -o yaml
其中输出包含以下部分,表示资源创建成功。
status:
addresses:
- address: 172.16.250.120
type: InternalIP
- address: softserv1141
type: Hostname
allocatable:
cpu: "3"
ephemeral-storage: "7721503937"
hugepages-1Gi: "0"
hugepages-2Mi: "0"
memory: 16163880Ki
pods: "110"
sctrls: "64"
capacity:
cpu: "3"
ephemeral-storage: 8182Mi
hugepages-1Gi: "0"
hugepages-2Mi: "0"
memory: 16266280Ki
pods: "110"
sctrls: "64"
我尝试创建将扩展资源分配给 pod,并按照 kubernetes-assign-extended-resource-pod 中的文档创建它。 pod文件如下
$ cat nginx-pod.yaml
apiVersion: v1
kind: Pod
metadata:
name: extended-resource-demo
spec:
containers:
- name: extended-resource-demo-ctr
image: nginx
resources:
requests:
sctrls: 3
我在创建 pod 的过程中遇到了以下问题
$ kubectl create -f nginx-pod.yaml
The Pod "extended-resource-demo" is invalid:
* spec.containers[0].resources.limits[sctrls]: Invalid value: "sctrls": must be a standard resource type or fully qualified
* spec.containers[0].resources.limits[sctrls]: Invalid value: "sctrls": must be a standard resource for containers
* spec.containers[0].resources.requests[sctrls]: Invalid value: "sctrls": must be a standard resource type or fully qualified
* spec.containers[0].resources.requests[sctrls]: Invalid value: "sctrls": must be a standard resource for containers
我不知道为什么会出现此错误,并且还没有在网上找到任何好的解决方案。但我觉得它可能是 kubectl 版本,因为 docs 将其作为功能状态提及:Kubernetes v1.18 [稳定] 我的 kubectl 版本是
$ kubectl version
Client Version: version.Info{Major:"1", Minor:"16", GitVersion:"v1.16.8", GitCommit:"ec6eb119b81be488b030e849b9e64fda4caaf33c", GitTreeState:"clean", BuildDate:"2020-03-12T21:00:06Z", GoVersion:"go1.13.8", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"16", GitVersion:"v1.16.8", GitCommit:"ec6eb119b81be488b030e849b9e64fda4caaf33c", GitTreeState:"clean", BuildDate:"2020-03-12T20:52:22Z", GoVersion:"go1.13.8", Compiler:"gc", Platform:"linux/amd64"}
我需要确认这是问题所在还是有未经测试的解决方案。
看起来 docs 中的这一段有答案:“扩展资源完全符合 *.kubernetes.io/ 之外的任何域。有效的扩展资源名称有表单示例。com/foo 其中 example.com 替换为您组织的域,foo 是描述性资源名称。".