验证数据时出错:ValidationError(Deployment.spec.template.spec.volumes[0]): io.k8s.api.core.v1.Volume 中的未知字段 "hostAliases"
error validating data: ValidationError(Deployment.spec.template.spec.volumes[0]): unknown field "hostAliases" in io.k8s.api.core.v1.Volume
我正在尝试在 kubeadm 上使用带有一个头节点和两个工作节点的指标服务器,但我不断收到未知的 hostAliases 错误
................................................ .....................
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
labels:
k8s-app: metrics-server
name: metrics-server
namespace: kube-system
spec:
selector:
matchLabels:
k8s-app: metrics-server
template:
metadata:
labels:
k8s-app: metrics-server
name: metrics-server
spec:
containers:
-
command:
- /metrics-server
- "--kubelet-insecure-tls"
- "--kubelet-preferred-address-types=InternalDNS,InternalIPExternalDNS,ExternalIP,Hostname"
image: "k8s.gcr.io/metrics-server-amd64:v0.3.1"
imagePullPolicy: Always
name: metrics-server
volumeMounts:
-
mountPath: /tmp
name: tmp-dir
serviceAccountName: metrics-server
volumes:
-
emptyDir: {}
hostAliases:
-
hostnames:
- k8s-head
ip: "192.168.205.10"
-
hostnames:
- k8s-node-1
ip: "192.168.205.11"
-
hostnames:
- k8s-node-2
ip: "192.168.205.12"
name: tmp-dir
你的 YAML 文件结构似乎有误,HostAliases 应该是这样的结构
apiVersion: v1
kind: Pod
metadata:
name: hostaliases-pod
spec:
restartPolicy: Never
hostAliases:
- ip: "127.0.0.1"
hostnames:
- "foo.local"
- "bar.local"
- ip: "10.1.2.3"
hostnames:
- "foo.remote"
- "bar.remote"
注意在 hostAliases 输入后你应该输入 - ip: "127.0.0.1"
并在您输入将解析到此 ip 的主机名之后。
你的 YAML 是
hostAliases:
- hostnames:
- k8s-head
ip: "192.168.205.10"
- hostnames:
- k8s-node-1
ip: "192.168.205.11"
- hostnames:
- k8s-node-2
ip: "192.168.205.12"
在这里您可以找到更多关于 https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/
我正在尝试在 kubeadm 上使用带有一个头节点和两个工作节点的指标服务器,但我不断收到未知的 hostAliases 错误
................................................ .....................
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
labels:
k8s-app: metrics-server
name: metrics-server
namespace: kube-system
spec:
selector:
matchLabels:
k8s-app: metrics-server
template:
metadata:
labels:
k8s-app: metrics-server
name: metrics-server
spec:
containers:
-
command:
- /metrics-server
- "--kubelet-insecure-tls"
- "--kubelet-preferred-address-types=InternalDNS,InternalIPExternalDNS,ExternalIP,Hostname"
image: "k8s.gcr.io/metrics-server-amd64:v0.3.1"
imagePullPolicy: Always
name: metrics-server
volumeMounts:
-
mountPath: /tmp
name: tmp-dir
serviceAccountName: metrics-server
volumes:
-
emptyDir: {}
hostAliases:
-
hostnames:
- k8s-head
ip: "192.168.205.10"
-
hostnames:
- k8s-node-1
ip: "192.168.205.11"
-
hostnames:
- k8s-node-2
ip: "192.168.205.12"
name: tmp-dir
你的 YAML 文件结构似乎有误,HostAliases 应该是这样的结构
apiVersion: v1
kind: Pod
metadata:
name: hostaliases-pod
spec:
restartPolicy: Never
hostAliases:
- ip: "127.0.0.1"
hostnames:
- "foo.local"
- "bar.local"
- ip: "10.1.2.3"
hostnames:
- "foo.remote"
- "bar.remote"
注意在 hostAliases 输入后你应该输入 - ip: "127.0.0.1"
并在您输入将解析到此 ip 的主机名之后。
你的 YAML 是
hostAliases:
- hostnames:
- k8s-head
ip: "192.168.205.10"
- hostnames:
- k8s-node-1
ip: "192.168.205.11"
- hostnames:
- k8s-node-2
ip: "192.168.205.12"
在这里您可以找到更多关于 https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/