尝试使用kubectl的custom-columns、label-columns、field-selector、sort-by功能- 第一部分
嘗試過的事情
我原本想通过kubectl get pods命令来显示以下内容:
– .spec.containers[].resources.requests.memory
– .spec.containers[].resources.limits.memory
因为有时间,所以我也试了试custom-columns、label-columns、field-selector和sort-by。由于找不到一个集中显示规格的网站,所以我决定将它们列成列表。
请参考以下内容:虽然在#71612中已经有解释,但是当前的custom-columns很不方便。
kubectl get pods + custom-column只能显示custom-columns,而不能显示custom-columns。
在搜索时,有人使用-o=和-o+空格的例子,但官方使用的是空格。
令人感兴趣的/亲切的特点 de/ de
kubectl – 介绍 “custom-columns” 变种以添加额外的列到输出 #71612
https://github.com/kubernetes/kubernetes/issues/71612
参考文献
https://kubernetes.io/docs/reference/kubectl/overview/#自定义列
https://kubernetes.io/docs/concepts/overview/working-with-objects/field-selectors/
https://kubernetes.io/docs/concepts/cluster-administration/manage-deployment/
https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
https://kubernetes.io/docs/reference/kubectl/overview/#排序列表对象
使用方法
想要查找的内容:
kubectl get <pod, node, svc等> -o json
kubectl get <pod, node, svc等> -o yaml
https://kubernetes.io/docs/reference/generated/kubectl/kubectl-commands
我也找到了这样的东西。
基本
kubectl get pods -o custom-columns='<表示したいもの>'
样本
自定义栏目
-o 自定义列=<规范>
Pods
无法在custom-columns中显示默认显示的READY和AGE。
kubectl get pods -o='custom-columns=NAME:.metadata.name,CONTAINERS:.spec.containers[].name,Images:.spec.containers[].image'
kubectl get pods -o custom-columns='NAME:.metadata.name,STATUS:.status.phase, RESTARTS:.status.containerStatuses[].restartCount,M_REQUESTS:.spec.containers[].resources.requests.memory,M_LIMITS:.spec.containers[].resources.limits.memory,NODE_IP:.status.hostIP,POD_IP:.status.podIP'
节点
我认为了解AZ对于方便很重要。像“kubernetes.io/role”的标签可以进行转义。
kubectl get nodes -o custom-columns='NAME:metadata.name,ZONE:metadata.labels.failure-domain\.beta\.kubernetes\.io/zone'
使用一个独立的文件 yī gè de
-o 指定列文件=<文件名>
NAME STATUS M_REQUESTS M_LIMITS
.metadata.name .status.phase .spec.containers[*].resources.requests.memory .spec.containers[*].resources.limits.memory
标签列
-L或–label-columns <规范>
kubectl get nodes --label-columns failure-domain.beta.kubernetes.io/zone
字段选择器
–字段选择器<规范>
kubectl get pods --field-selector=status.phase=Running,spec.restartPolicy=Always
排序
kubectl get pods -o wide --sort-by=.spec.nodeName
部署 附加礼物
部署规范的模板规范中容器的端口是containerPort。
Jsonpath的使用方法
我接下来准备总结。