您的 YAML 文件中缺少几个必需的密钥。
apiVersion
key - Pod 的 api 版本目前是v1
metadata
key - 有助于唯一标识对象的数据,包括name
字符串UID
、 和可选的namespace
您可以在 Kubernetes文档中阅读有关创建静态 pod 的更多信息,如果您想要 kaniko pod 的一些示例,可以在此处找到它们。
因此,最小正确的 pod YAML 应该如下所示:
kind: Pod
apiVersion: v1
metadata:
# specify your pod name
name: <pod-name>
spec:
containers:
- name: kaniko
image: gcr.io/kaniko-project/executor:debug
imagePullPolicy: Always
command:
- /busybox/cat
tty: true
解决问题:您可以使用nodeSelector
密钥分配哪个 pod 应该在哪个节点上运行。您需要在 下指定它spec
。例如:
spec:
containers:
- name: kaniko
image: gcr.io/kaniko-project/executor:debug
imagePullPolicy: Always
command:
- /busybox/cat
tty: true
#here it is
nodeSelector:
# and here is node label
<label-name>: <label-value>
你可以找到你的节点标签
kubectl describe node <node-name>
或为其添加标签
kubectl label node <node-name> <label-name>=<label-value>
您可以在docs中找到更多相关信息。