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 に貼り付ける。
罫線は自前で描かないといけない。
くだらないけど意外に使いどころがあるかもしれない。