diff --git a/README.md b/README.md index 33944e9..bc4d6ad 100644 --- a/README.md +++ b/README.md @@ -19,16 +19,26 @@ aws 환경 구축 시 사용하는 파일을 정리한다. | i-0628e1521b484fde1 | 172.24.11.188/23 | control-plane | - | 2 | 4 | ap-northeast-2b | c5a.large | Ubuntu 20.04.4 LTS | v1.25.2 | containerd://1.6.8 | | i-05a497c27d7f65d78 | 172.24.12.22/23 | control-plane | - | 2 | 4 | ap-northeast-2c | c5a.large | Ubuntu 20.04.4 LTS | v1.25.2 | containerd://1.6.8 | | i-0446ae551deac0b98 | 172.24.8.218/23 | control-plane | - | 2 | 4 | ap-northeast-2a | c5a.large | Ubuntu 20.04.4 LTS | v1.25.2 | containerd://1.6.8 | +<<<<<<< HEAD | i-07aebcfff479c0331 | 172.24.12.210/23 | prod/data-druid | k8s-prod-data-druid-small | 4 | 16 | ap-northeast-2c | m6i.xlarge | Ubuntu 20.04.4 LTS | v1.25.2 | containerd://1.6.8 | | i-07046cde77753a2d4 | 172.24.12.252/23 | prod/data-druid | k8s-prod-data-druid-c | 16 | 62 | ap-northeast-2c | m5a.4xlarge | Ubuntu 20.04.4 LTS | v1.25.2 | containerd://1.6.8 | | i-0c370e3211468e6e5 | 172.24.12.96/23 | prod/data-druid | k8s-prod-data-druid-middle | 8 | 31 | ap-northeast-2c | m5a.2xlarge | Ubuntu 20.04.4 LTS | v1.25.2 | containerd://1.6.8 | | i-0f2de40153ccd640e | 172.24.13.2/23 | prod/data-druid | k8s-prod-data-druid-middle | 8 | 31 | ap-northeast-2c | m5a.2xlarge | Ubuntu 20.04.4 LTS | v1.25.2 | containerd://1.6.8 | | i-0a36b91bce0b86b6f | 172.24.12.142/23 | prod/data-druid | k8s-prod-data-druid-c | 16 | 62 | ap-northeast-2c | m5a.4xlarge | Ubuntu 20.04.4 LTS | v1.25.2 | containerd://1.6.8 | +======= +| i-0c370e3211468e6e5 | 172.24.12.96/23 | prod/data-druid | k8s-prod-data-druid-middle | 8 | 31 | ap-northeast-2c | m5a.2xlarge | Ubuntu 20.04.4 LTS | v1.25.2 | containerd://1.6.8 | +| i-07aebcfff479c0331 | 172.24.12.210/23 | prod/data-druid | k8s-prod-data-druid-small | 4 | 16 | ap-northeast-2c | m6i.xlarge | Ubuntu 20.04.4 LTS | v1.25.2 | containerd://1.6.8 | +| i-07046cde77753a2d4 | 172.24.12.252/23 | prod/data-druid | k8s-prod-data-druid-c | 16 | 62 | ap-northeast-2c | m5a.4xlarge | Ubuntu 20.04.4 LTS | v1.25.2 | containerd://1.6.8 | +| i-0f2de40153ccd640e | 172.24.13.2/23 | prod/data-druid | k8s-prod-data-druid-middle | 8 | 31 | ap-northeast-2c | m5a.2xlarge | Ubuntu 20.04.4 LTS | v1.25.2 | containerd://1.6.8 | +| i-0a36b91bce0b86b6f | 172.24.12.142/23 | prod/data-druid | k8s-prod-data-druid-c | 16 | 62 | ap-northeast-2c | m5a.4xlarge | Ubuntu 20.04.4 LTS | v1.25.2 | containerd://1.6.8 | +| i-0fd0e6d60f02a7b14 | 172.24.13.29/23 | prod/data-es | k8s-prod-data-es-c2 | 4 | 16 | ap-northeast-2c | m5a.xlarge | Ubuntu 20.04.4 LTS | v1.25.2 | containerd://1.6.8 | +>>>>>>> 621de933e3ec9df8c0b5f5b4d323b788b5f661da | i-06e3ca9b0a909e7bd | 172.24.13.62/23 | prod/data-es | k8s-prod-data-es-c | 4 | 16 | ap-northeast-2c | m5a.xlarge | Ubuntu 20.04.4 LTS | v1.25.2 | containerd://1.6.8 | | i-0fd0e6d60f02a7b14 | 172.24.13.29/23 | prod/data-es | k8s-prod-data-es-c2 | 4 | 16 | ap-northeast-2c | m5a.xlarge | Ubuntu 20.04.4 LTS | v1.25.2 | containerd://1.6.8 | | i-0df4bd76188c35590 | 172.24.13.100/23 | prod/data-es | k8s-prod-data-es-c3 | 4 | 16 | ap-northeast-2c | m6i.xlarge | Ubuntu 20.04.4 LTS | v1.25.2 | containerd://1.6.8 | | i-0a6a549b5bf51efbc | 172.24.12.207/23 | prod/data-kafka | k8s-prod-data-kafka-c | 4 | 16 | ap-northeast-2c | m5a.xlarge | Ubuntu 20.04.4 LTS | v1.25.2 | containerd://1.6.8 | | i-0097ed484d8513a71 | 172.24.12.66/23 | prod/data-kafka | k8s-prod-data-kafka-c3 | 4 | 16 | ap-northeast-2c | m5a.xlarge | Ubuntu 20.04.4 LTS | v1.25.2 | containerd://1.6.8 | +<<<<<<< HEAD | i-092354f3890ecf207 | 172.24.13.215/23 | prod/data-kafka | k8s-prod-data-kafka-c2 | 4 | 16 | ap-northeast-2c | m5a.xlarge | Ubuntu 20.04.4 LTS | v1.25.2 | containerd://1.6.8 | | i-0d3e74b8884948aa3 | 172.24.13.32/23 | prod/process | k8s-prod-process-c | 4 | 16 | ap-northeast-2c | m5a.xlarge | Ubuntu 20.04.4 LTS | v1.25.2 | containerd://1.6.8 | | i-0abc091cf1fc5084f | 172.24.12.23/23 | prod/process | k8s-prod-process-c4 | 4 | 16 | ap-northeast-2c | m5a.xlarge | Ubuntu 20.04.4 LTS | v1.25.2 | containerd://1.6.8 | @@ -38,13 +48,27 @@ aws 환경 구축 시 사용하는 파일을 정리한다. | i-0ccf664103c7f172b | 172.24.8.119/23 | prod/rel-process | k8s-rel-process-a | 4 | 16 | ap-northeast-2a | m4.xlarge | Ubuntu 20.04.4 LTS | v1.25.2 | containerd://1.6.8 | | i-0a012ed882df30c1e | 172.24.9.57/23 | prod/rel-process | k8s-rel-process-a | 4 | 16 | ap-northeast-2a | m4.xlarge | Ubuntu 20.04.4 LTS | v1.25.2 | containerd://1.6.8 | | i-0a71a915a2664b7b7 | 172.24.9.246/23 | prod/rel-process | k8s-rel-process-a | 4 | 16 | ap-northeast-2a | m4.xlarge | Ubuntu 20.04.4 LTS | v1.25.2 | containerd://1.6.8 | +======= +| i-08cea9eddc5260b4d | 172.24.13.119/23 | prod/process | k8s-prod-process-c2 | 4 | 16 | ap-northeast-2c | m6i.xlarge | Ubuntu 20.04.4 LTS | v1.25.2 | containerd://1.6.8 | +| i-0abc091cf1fc5084f | 172.24.12.23/23 | prod/process | k8s-prod-process-c4 | 4 | 16 | ap-northeast-2c | m5a.xlarge | Ubuntu 20.04.4 LTS | v1.25.2 | containerd://1.6.8 | +| i-0d3e74b8884948aa3 | 172.24.13.32/23 | prod/process | k8s-prod-process-c | 4 | 16 | ap-northeast-2c | m5a.xlarge | Ubuntu 20.04.4 LTS | v1.25.2 | containerd://1.6.8 | +| i-00fdae3a253e720bf | 172.24.12.227/23 | prod/process | k8s-prod-process-c | 4 | 16 | ap-northeast-2c | m5a.xlarge | Ubuntu 20.04.4 LTS | v1.25.2 | containerd://1.6.8 | +| i-001497d443833e806 | 172.24.9.226/23 | prod/rel-process | k8s-rel-process-a | 4 | 16 | ap-northeast-2a | m4.xlarge | Ubuntu 20.04.4 LTS | v1.25.2 | containerd://1.6.8 | +| i-01d4ba87cb4d4008b | 172.24.8.60/23 | prod/rel-process | k8s-rel-process-a | 4 | 16 | ap-northeast-2a | m4.xlarge | Ubuntu 20.04.4 LTS | v1.25.2 | containerd://1.6.8 | +| i-0e6c690fbbded065c | 172.24.9.181/23 | prod/rel-process | k8s-rel-process-a | 4 | 16 | ap-northeast-2a | m4.xlarge | Ubuntu 20.04.4 LTS | v1.25.2 | containerd://1.6.8 | +| i-05a6735e0a2b11c4d | 172.24.9.183/23 | prod/rel-process | k8s-rel-process-a | 4 | 16 | ap-northeast-2a | m4.xlarge | Ubuntu 20.04.4 LTS | v1.25.2 | containerd://1.6.8 | +>>>>>>> 621de933e3ec9df8c0b5f5b4d323b788b5f661da ## 리소스 목록 [93] | name | kind | count | reqeust_cpu | reqeust_mem | limit_cpu | limit_mem | |---------------------------------------------------|--------------|-------|-------------|-------------|-----------|-----------| | promtail | DaemonSet | 24 | | | | | +<<<<<<< HEAD | dsk-log-agent | DaemonSet | 20 | 250m | 512Mi | 500m | 1G | +======= +| dsk-log-agent | DaemonSet | 21 | 250m | 512Mi | 500m | 1G | +>>>>>>> 621de933e3ec9df8c0b5f5b4d323b788b5f661da | prometheus-prometheus-node-exporter | DaemonSet | 24 | | | | | | aws-cloud-controller-manager | DaemonSet | 3 | 200m | | | | | dsk-trace-agent | DaemonSet | 24 | | | | | @@ -102,7 +126,11 @@ aws 환경 구축 시 사용하는 파일을 정리한다. | prod-dsk-apm-api | Deployment | 1 | 100m | 256Mi | 250m | 512Mi | | prod-dsk-app-sender | Deployment | 1 | | | | | | prod-dsk-backoffice | Deployment | 1 | | | | | +<<<<<<< HEAD | prod-dsk-chart-api | Deployment | 7 | 500m | 512Mi | 1 | 1Gi | +======= +| prod-dsk-chart-api | Deployment | 5 | 500m | 512Mi | 1 | 1Gi | +>>>>>>> 621de933e3ec9df8c0b5f5b4d323b788b5f661da | prod-dsk-dashboard-api | Deployment | 1 | | | | | | prod-dsk-database-api | Deployment | 3 | 100m | 256Mi | 250m | 512Mi | | prod-dsk-database-plan-stream | Deployment | 1 | | | | | @@ -119,7 +147,11 @@ aws 환경 구축 시 사용하는 파일을 정리한다. | prod-dsk-loggate | Deployment | 4 | 100m | 500Mi | 200m | 1500Mi | | elasticsearch-master | Stateful_Set | 3 | 2 | 12Gi | 2 | 12Gi | | kafka | Stateful_Set | 3 | 2 | 6000Mi | 3 | 10000Mi | +<<<<<<< HEAD | zookeeper | Stateful_Set | 2 | 100m | 512Mi | 200m | 1000Mi | +======= +| zookeeper | Stateful_Set | 3 | 100m | 512Mi | 200m | 1000Mi | +>>>>>>> 621de933e3ec9df8c0b5f5b4d323b788b5f661da | vault | Stateful_Set | 1 | | | | | | keycloak | Stateful_Set | 1 | | | | | | druid-zookeeper | Stateful_Set | 3 | 250m | 256Mi | | | @@ -141,6 +173,7 @@ aws 환경 구축 시 사용하는 파일을 정리한다. | name | namespace | type | Node Port | age | |------------------------------------------|-------------------|----------|-----------|-------------------------| +<<<<<<< HEAD | rabbitmq | dsk-middle | NodePort | 30038 | 5 mons 9 days 17:47:44 | | druid-router | dsk-middle | NodePort | 30076 | 3 mons 22 days 17:46:40 | | kafka-broker | dsk-middle | NodePort | 30094 | 3 mons 1 day 15:18:07 | @@ -178,3 +211,42 @@ aws 환경 구축 시 사용하는 파일을 정리한다. | kafka-global-0 | dsk-middle | NodePort | 32500 | 3 mons 1 day 15:18:07 | | kafka-global-1 | dsk-middle | NodePort | 32501 | 3 mons 1 day 15:18:07 | | kafka-global-2 | dsk-middle | NodePort | 32502 | 3 mons 1 day 15:18:07 | +======= +| rabbitmq | dsk-middle | NodePort | 30038 | 5 mons 9 days 03:34:28 | +| druid-router | dsk-middle | NodePort | 30076 | 3 mons 22 days 03:33:24 | +| kafka-broker | dsk-middle | NodePort | 30094 | 3 mons 1 day 01:04:51 | +| kafka-broker-global | dsk-middle | NodePort | 30095 | 3 mons 1 day 01:04:51 | +| keycloak | dsk-middle | NodePort | 30100 | 5 mons 7 days 03:36:36 | +| keycloak | dsk-middle | NodePort | 30101 | 5 mons 7 days 03:36:36 | +| mongo-manifest-mongodb-sharded | dsk-middle | NodePort | 30111 | 22 days 18:29:50 | +| mongo-dsk-mongodb-sharded | dsk-middle | NodePort | 30112 | 22 days 17:17:10 | +| redis-master | dsk-middle | NodePort | 30229 | 5 mons 9 days 03:34:15 | +| elasticsearch-master | dsk-middle | NodePort | 30433 | 19 days 05:15:25 | +| rabbitmq | dsk-middle | NodePort | 30523 | 5 mons 9 days 03:34:28 | +| rabbitmq | dsk-middle | NodePort | 30565 | 5 mons 9 days 03:34:28 | +| rabbitmq | dsk-middle | NodePort | 30655 | 5 mons 9 days 03:34:28 | +| druid-router | dsk-middle | NodePort | 30907 | 3 mons 22 days 03:33:24 | +| rabbitmq | dsk-middle | NodePort | 31021 | 5 mons 9 days 03:34:28 | +| kafka-akhq | dsk-middle | NodePort | 31100 | 3 mons 1 day 01:04:51 | +| kafka-kafka-ui | dsk-middle | NodePort | 31101 | 3 mons 1 day 01:04:51 | +| elasticsearch-master | dsk-middle | NodePort | 31110 | 19 days 05:15:25 | +| prometheus-server | prometheus | NodePort | 31132 | 10 days 02:19:16 | +| druid-exporter-prometheus-druid-exporter | dsk-middle | NodePort | 31282 | 13 days 02:57:14 | +| prod-dsk-datagate-dsk-datagate-trace | dsk-datagate-prod | NodePort | 31300 | 4 mons 4 days 00:29:37 | +| prod-dsk-datagate-dsk-datagate-manifest | dsk-datagate-prod | NodePort | 31301 | 4 mons 16 days 01:45:22 | +| prod-dsk-datagate-dsk-datagate-metric | dsk-datagate-prod | NodePort | 31302 | 4 mons 16 days 01:45:22 | +| prod-dsk-datagate-dsk-datagate-plan | dsk-datagate-prod | NodePort | 31303 | 4 mons 16 days 01:45:22 | +| prod-dsk-loggate | dsk-datagate-prod | NodePort | 31304 | 4 mons 10 days 01:59:11 | +| prod-dsk-loggate | dsk-datagate-prod | NodePort | 31305 | 4 mons 10 days 01:59:11 | +| prod-dsk-backoffice | dsk-api-prod | NodePort | 31523 | 1 mon 16 days 07:41:07 | +| rabbitmq | dsk-middle | NodePort | 31987 | 5 mons 9 days 03:34:28 | +| postgresql | dsk-middle | NodePort | 32098 | 5 mons 9 days 03:34:51 | +| druid-broker | dsk-middle | NodePort | 32200 | 3 mons 22 days 03:33:24 | +| druid-broker | dsk-middle | NodePort | 32316 | 3 mons 22 days 03:33:24 | +| kafka-outside-0 | dsk-middle | NodePort | 32400 | 3 mons 1 day 01:04:51 | +| kafka-outside-1 | dsk-middle | NodePort | 32401 | 3 mons 1 day 01:04:51 | +| kafka-outside-2 | dsk-middle | NodePort | 32402 | 3 mons 1 day 01:04:51 | +| kafka-global-0 | dsk-middle | NodePort | 32500 | 3 mons 1 day 01:04:51 | +| kafka-global-1 | dsk-middle | NodePort | 32501 | 3 mons 1 day 01:04:51 | +| kafka-global-2 | dsk-middle | NodePort | 32502 | 3 mons 1 day 01:04:51 | +>>>>>>> 621de933e3ec9df8c0b5f5b4d323b788b5f661da diff --git a/scripts/steampipe-iac.sh b/scripts/steampipe-iac.sh new file mode 100755 index 0000000..3165955 --- /dev/null +++ b/scripts/steampipe-iac.sh @@ -0,0 +1,134 @@ +#!/bin/bash + +#------------------------------------------------------------------------------------------------------ +__init (){ + pwd + cd ${git_path} + pwd + + git pull + cat ${origin} > ${file} +} +#------------------------------------------------------------------------------------------------------ +__git_push (){ + git add ${file} + git commit -m 'steampipe schedule' + git push +} +#------------------------------------------------------------------------------------------------------ +__append (){ + line_count=`cat ${exec_log} | grep -v -- -- | grep -v name | wc -l` + echo -e "\n${title} [${line_count}]\n" >> ${file} + cat ${exec_log} >> ${file} +} +#------------------------------------------------------------------------------------------------------ +__query_exec (){ + steampipe query "${1}" > ${exec_log} + __log_sed +} +#------------------------------------------------------------------------------------------------------ +__log_sed (){ + sed -i 's/+/|/g' ${exec_log} + sed -i "s/node-role.kubernetes.io\///g" ${exec_log} + sed -i '1d;$d' ${exec_log} +} +#------------------------------------------------------------------------------------------------------ +node_query=""" +SELECT + name, + annotations ->> 'projectcalico.org/IPv4Address' AS IP, + COALESCE(taints -> 0 ->> 'key', '-') AS Taints_key, + COALESCE(tags ->> 'kops.k8s.io/instancegroup', '-') AS Instance_group, + capacity ->> 'cpu' AS CPU, + CEIL((CAST(regexp_replace(capacity ->> 'memory', 'Ki', '') AS DECIMAL) / POWER(2, 20))) AS Memory, + tags ->> 'topology.kubernetes.io/zone' AS Zone, + tags ->> 'beta.kubernetes.io/instance-type' AS Instance_type, + node_info ->> 'osImage' AS OS, + node_info ->> 'kubeletVersion' AS K8S_ver, + node_info ->> 'containerRuntimeVersion' AS Runtime_ver +FROM + kubernetes_node +ORDER BY + Taints_key +""" + +resources_query=""" +(SELECT + name, + 'Stateful_Set' as kind, + available_replicas as count, + (template -> 'spec' -> 'containers' -> 0 -> 'resources' -> 'requests' ->> 'cpu') AS reqeust_cpu, + (template -> 'spec' -> 'containers' -> 0 -> 'resources' -> 'requests' ->> 'memory') AS reqeust_mem, + (template -> 'spec' -> 'containers' -> 0 -> 'resources' -> 'limits' ->> 'cpu') AS limit_cpu, + (template -> 'spec' -> 'containers' -> 0 -> 'resources' -> 'limits' ->> 'memory') AS limit_mem + +FROM + kubernetes_stateful_set +WHERE + name not like 'rel-%') +union +(SELECT + name, + 'Deployment' as kind, + available_replicas as count, + (template -> 'spec' -> 'containers' -> 0 -> 'resources' -> 'requests' ->> 'cpu') AS reqeust_cpu, + (template -> 'spec' -> 'containers' -> 0 -> 'resources' -> 'requests' ->> 'memory') AS reqeust_mem, + (template -> 'spec' -> 'containers' -> 0 -> 'resources' -> 'limits' ->> 'cpu') AS limit_cpu, + (template -> 'spec' -> 'containers' -> 0 -> 'resources' -> 'limits' ->> 'memory') AS limit_mem +FROM + kubernetes_deployment +WHERE + name not like 'rel-%') +union +(SELECT + name, + 'DaemonSet' as kind, + number_available as count, + (template -> 'spec' -> 'containers' -> 0 -> 'resources' -> 'requests' ->> 'cpu') AS reqeust_cpu, + (template -> 'spec' -> 'containers' -> 0 -> 'resources' -> 'requests' ->> 'memory') AS reqeust_mem, + (template -> 'spec' -> 'containers' -> 0 -> 'resources' -> 'limits' ->> 'cpu') AS limit_cpu, + (template -> 'spec' -> 'containers' -> 0 -> 'resources' -> 'limits' ->> 'memory') AS limit_mem +FROM + kubernetes_daemonset +WHERE + name not like 'rel-%') +order by kind +""" + +service_query=""" +select + name, + namespace, + type, + lower(p ->> 'nodePort') as \"Node Port\", + age(current_timestamp, creation_timestamp) +from + kubernetes_service, + jsonb_array_elements(ports) as p +where type='NodePort' and name not like '%rel-%' +order by + \"Node Port\" +""" +#------------------------------------------------------------------------------------------------------ +git_path="/home/jhjung/git/dsk-iac" +origin="/home/jhjung/git/org_README.md" +exec_log="${git_path}/query.log" +file="README.md" +#------------------------------------------------------------------------------------------------------ +__init + +title="## 노드 목록" +__query_exec "${node_query}" +__append + +title="## 리소스 목록" +__query_exec "${resources_query}" +__append + +title="## 서비스 목록 (NodePort)" +__query_exec "${service_query}" +__append + +rm ${exec_log} + +__git_push