【发布时间】:2021-01-24 16:09:57
【问题描述】:
我是 K8S 的初学者,我对 kubernetes 的标签有疑问。在 youtube 视频上(In french here),我看到了:
该人使用这些命令创建三个部署并运行命令kubectl get deployment 然后kubectl get deployment --show-labels:
kubectl run monnginx --image nginx --labels "env=prod,group=front"
kubectl run monnginx2 --image nginx --labels "env=dev,group=front"
kubectl run monnginx3 --image nginx --labels "env=prod,group=back"
root@kubmaster:# kubectl get deployments
NAME READY UP-TO-DATE AVAILABLE AGE
monnginx 1/1 1 1 46s
monnginx2 1/1 1 1 22s
monnginx3 1/1 1 1 10s
root@kubmaster:# kubectl get deployments --show-labels
NAME READY UP-TO-DATE AVAILABLE AGE LABELS
monnginx 1/1 1 1 46s env=prod,group=front
monnginx2 1/1 1 1 22s env=dev,group=front
monnginx3 1/1 1 1 10s env=prod,group=back
目前,如果我尝试做同样的事情:
root@kubermaster:~ kubectl run mynginx --image nginx --labels "env=prod,group=front"
pod/mynginx created
root@kubermaster:~ kubectl run mynginx2 --image nginx --labels "env=dev,group=front"
pod/mynginx2 created
root@kubermaster:~ kubectl run mynginx3 --image nginx --labels "env=dev,group=back"
pod/mynginx3 created
当我尝试命令 kubectl get deployments --show-labels 时,输出是:
No resources found in default namespace.
但是如果我尝试kubectl get pods --show-labels,输出是:
NAME READY STATUS RESTARTS AGE LABELS
mynginx 1/1 Running 0 2m39s env=prod,group=front
mynginx2 1/1 Running 0 2m32s env=dev,group=front
mynginx3 1/1 Running 0 2m25s env=dev,group=back
如果我按照视频中的每个步骤进行操作,则可以在部署上添加一些标签...但是命令 kubectl create deployment 不接受标志 --labels :
Error: unknown flag: --labels
有人解释我为什么会出现这个错误以及如何放置一些标签?
非常感谢!
【问题讨论】:
-
您正在运行一个 pod 并试图获取 deplpyment ......这是正确的。注意你的命令的输出:
pod/mynginx created你创建了一个名为mynginx的pod...你可以阅读更多关于here的区别 -
您可以简单地运行
kubctl run my-app --iamge nginx --replicas 3 --labels tier=frontendkubctl apply 没有 --labels 选项,但您可以使用 kubctl run 允许 --labels
标签: kubernetes label