0

当与 --dry-run=client 和 -o yaml 和命名空间标志一起使用时,Kubectl run 命令不会填充由它生成的 yaml 文件中的命名空间字段。是否需要在 yaml 中手动插入命名空间,我们还有其他选择吗?但是,不包括 --dry-run=client, -o yaml 标志执行的运行命令会在相应的命名空间中生成 pod。

kubectl 运行命令在 test 命名空间中生成 yaml 文件

kubectl run pod1 --namespace=test --image=nginx --dry-run=client -o yaml > pod.yaml

pod.yaml 生成时没有命名空间字段

apiVersion: v1
kind: Pod
metadata:
  creationTimestamp: null
  labels:
    run: pod1
  name: pod1
spec:
  containers:
  - image: nginx
    name: pod1
    resources: {}
  dnsPolicy: ClusterFirst
  restartPolicy: Always
status: {}

在没有 --dry-run=client -o yaml 的情况下使用时,可以在相应的命名空间中正常创建 pod

$ kubectl run po --namespace=test  --image=nginx
pod/po created
$ kubectl get po -n test
NAME   READY   STATUS              RESTARTS   AGE
po     0/1     ContainerCreating   0          5s
4

0 回答 0