とにかく雑

とにかく雑に思い立ったことを書く。内容は私自身の見解であり、所属組織の立場・戦略・意見を代表するものではありません。

Kubernetes リソースを Excel 表にするワンライナー

以下のようなワンライナーを実行する。

$ NAMESPACE=openshift-monitoring
$ echo -e "NAME\tKIND\tREPLICAS\tCONTAINER\tREQUEST MEMORY\tREQUEST CPU\tLIMIT MEMORY\tLIMIT CPU"; \
> oc get deployment,statefulset,daemonset -o jsonpath='{range .items[*]}{.metadata.name}{"\t"}{.kind}{"\t"}{.spec.replicas}{"\t"}{range .spec.template.spec.containers[*]}{.name}{"\t"}{.resources.requests.memory}{"\t"}{.resources.requests.cpu}{"\t"}{.resources.limits.memory}{"\t"}{.resources.limits.cpu}{"\n\t\t\t"}{end}{"\n"}{end}' -n ${NAMESPACE} | sed '/^\t\t\t$/d'

 

実行結果。

$ NAMESPACE=openshift-monitoring
$ echo -e "NAME\tKIND\tREPLICAS\tCONTAINER\tREQUEST MEMORY\tREQUEST CPU\tLIMIT MEMORY\tLIMIT CPU"; \
> oc get deployment,statefulset,daemonset -o jsonpath='{range .items[*]}{.metadata.name}{"\t"}{.kind}{"\t"}{.spec.replicas}{"\t"}{range .spec.template.spec.containers[*]}{.name}{"\t"}{.resources.requests.memory}{"\t"}{.resources.requests.cpu}{"\t"}{.resources.limits.memory}{"\t"}{.resources.limits.cpu}{"\n\t\t\t"}{end}{"\n"}{end}' -n ${NAMESPACE} | sed '/^\t\t\t$/d'
NAME	KIND	REPLICAS	CONTAINER	REQUEST MEMORY	REQUEST CPU	LIMIT MEMORY	LIMIT CPU
cluster-monitoring-operator	Deployment	1	kube-rbac-proxy	20Mi	1m
			cluster-monitoring-operator	75Mi	10m
grafana	Deployment	1	grafana	64Mi	4m
			grafana-proxy	20Mi	1m
kube-state-metrics	Deployment	1	kube-state-metrics	80Mi	2m
			kube-rbac-proxy-main	15Mi	1m
			kube-rbac-proxy-self	15Mi	1m
openshift-state-metrics	Deployment	1	kube-rbac-proxy-main	20Mi	1m
			kube-rbac-proxy-self	20Mi	1m
			openshift-state-metrics	32Mi	1m
prometheus-adapter	Deployment	2	prometheus-adapter	40Mi	1m
prometheus-operator	Deployment	1	prometheus-operator	150Mi	5m
			kube-rbac-proxy	15Mi	1m
telemeter-client	Deployment	1	telemeter-client	40Mi	1m
			reload	10Mi	1m
			kube-rbac-proxy	20Mi	1m
thanos-querier	Deployment	2	thanos-query	12Mi	10m
			oauth-proxy	20Mi	1m
			kube-rbac-proxy	15Mi	1m
			prom-label-proxy	15Mi	1m
			kube-rbac-proxy-rules	15Mi	1m
alertmanager-main	StatefulSet	3	alertmanager	40Mi	4m
			config-reloader	10Mi	1m
			alertmanager-proxy	20Mi	1m
			kube-rbac-proxy	15Mi	1m
			prom-label-proxy	20Mi	1m
prometheus-k8s	StatefulSet	2	prometheus	1Gi	70m
			config-reloader	10Mi	1m
			thanos-sidecar	25Mi	1m
			prometheus-proxy	20Mi	1m
			kube-rbac-proxy	15Mi	1m
			prom-label-proxy	15Mi	1m
			kube-rbac-proxy-thanos	10Mi	1m
node-exporter	DaemonSet		node-exporter	32Mi	8m
			kube-rbac-proxy	15Mi	1m

 

結果を Excel に貼り付ける。
罫線は自前で描かないといけない。
f:id:Santea:20220111172119p:plain

 

くだらないけど意外に使いどころがあるかもしれない。