如何通过OpenShift CLI仅获取kube:admin创建的项目
如何通过OpenShift CLI仅获取kube:admin创建的项目
嗨,刚接触OpenShift和容器的话,遇到这种过滤系统项目的需求太正常了!我给你分享几个实用的方法,帮你快速拿到自己创建的项目:
方法一:通过创建者精准过滤(最推荐)
OpenShift的每个项目(也就是Namespace)都会在元数据里记录创建者,对应的注解是openshift.io/requester。你可以直接用这个字段过滤出kube:admin创建的项目:
如果想同时看到项目名和创建者,用这个命令:
oc get projects -o custom-columns=NAME:.metadata.name,CREATOR:.metadata.annotations.openshift\.io/requester | grep kube:admin
要是只需要项目名称列表,用这个更简洁的版本:
oc get projects -o jsonpath='{range .items[?(@.metadata.annotations.openshift\.io/requester=="kube:admin")]}{.metadata.name}{"\n"}{end}'
方法二:排除系统项目前缀
系统项目通常会有固定的前缀,比如openshift-、kube-,你可以用grep -v排除这些项目:
oc get projects | grep -vE "^openshift-|^kube-"
不过这个方法要注意:如果你的自定义项目也用了类似前缀,就会被误过滤,所以还是优先用方法一哦。
小提示
如果你的操作账号不是kube:admin,只需要把命令里的kube:admin换成你自己的用户名就行,同样能精准过滤出你创建的项目~
备注:内容来源于stack exchange,提问作者user14871718
相关产品推荐
相关产品推荐

