我是 K8S 的初学者,我对 kubernetes 的标签有疑问。在 youtube 视频(这里是法语)上,我看到了:
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"
Run Code Online (Sandbox Code Playgroud)
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
Run Code Online (Sandbox Code Playgroud)
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
Run Code Online (Sandbox Code Playgroud)
目前,如果我尝试做同样的事情:
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
Run Code Online (Sandbox Code Playgroud)
当我尝试该命令时kubectl get deployments --show-labels,输出是:
No resources found in default namespace.
Run Code Online (Sandbox Code Playgroud)
但如果我尝试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
Run Code Online (Sandbox Code Playgroud)
如果我按照视频中的每个步骤进行操作,就有一种方法可以在部署上放置一些标签...但是该命令kubectl create deployment不接受标志 --labels :
Error: unknown flag: --labels
Run Code Online (Sandbox Code Playgroud)
有人解释为什么我会出现此错误以及如何放置一些标签?
多谢 !
Kam*_*san 16
因为$ kubectl create deployment不支持--labelsflag。但您可以用来$ kubectl label向部署添加标签。
例子:
# Update deployment 'my-deployment' with the label 'unhealthy' and the value 'true'.
$ kubectl label deployment my-deployment unhealthy=true
# Update deployment 'my-deployment' with the label 'status' and the value 'unhealthy', overwriting any existing value.
$ kubectl label --overwrite deployment my-deployment status=unhealthy
Run Code Online (Sandbox Code Playgroud)
它也适用于其他 Kubernetes 对象。
格式: kubectl label [--overwrite] (-f FILENAME | TYPE NAME) KEY_1=VAL_1 ... KEY_N=VAL_N
| 归档时间: |
|
| 查看次数: |
16490 次 |
| 最近记录: |