Aiden Kim
@aidenkim
Students
72
Reviews
6
Course Rating
5.0
๐ป์ข์ ์์คํ ๊ณผ ํ๋ก์ธ์ค๋ฅผ ๊พธ์คํ ๊ณ ๋ฏผํ๋ DevOps ์์ง๋์ด์ ๋๋ค.
โจ๏ธDevOps์ ํด๋ผ์ฐ๋ ๊ด๋ จ ์ง์ ๊ณต์ ์ ๊ด์ฌ์ด ๋ง์ต๋๋ค.
ํ์ฌ ์ธ๊ตญ๊ณ IT ๊ธฐ์ ์์ DevOps ์์ง๋์ด๋ก ๊ทผ๋ฌด ์ค
ํด๋ผ์ฐ๋ ๋ค์ดํฐ๋ธ ๊ธฐ์ ์ ์ข์ํ๋ CNCF Kubestronaut ๋ฉค๋ฒ
๊ธฐ์ ๋ธ๋ก๊ทธ: https://guide-to-devops.github.io/
๋ด์ค๋ ํฐ: https://aidenslab-newsletter.beehiiv.com/
Courses
Reviews
- A compact and easy-to-understand and implement Kubernetes ELK log monitoring system
- A compact and easy-to-understand and implement Kubernetes ELK log monitoring system
Posts
Q&A
์คํ๋ง์ผ๋ก ๋ง๋ ํ๋ก์ ํธ์ ์ ์ฉํ๊ณ ์ถ์๋ฐ..
์๋ ํ์ธ์ ์ด๊ฒฝ์ฉ๋,์ง๋ฌธ ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค. Spring ์ ํ๋ฆฌ์ผ์ด์ ์์ ๋ฐ์๋๋ ์ ํ๋ฆฌ์ผ์ด์ ๋ก๊ทธ๋ฅผ ELK ์คํ์ ํตํด ์ฒ๋ฆฌํ๊ณ ์ถ์ผ์ ๊ฒ์ผ๋ก ์๊ฐ๋ฉ๋๋ค.Spring ์ ํ๋ฆฌ์ผ์ด์ ๋ก๊น ์ ์ํด ๋ง์ด ์ฌ์ฉํ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ logback์ด ์๊ณ , ํ๊ฒฝ์ ๋ฐ๋ผ ์์กด์ฑ ์ถ๊ฐ๊ฐ ํ์ํ ์ ์์ต๋๋ค. (Spring Boot์๋ ๋ด์ฅ๋์ด์๋ ๊ฒ์ผ๋ก ์๊ณ ์์ต๋๋ค.)ํด๋น ์์กด์ฑ ์ฌ์ฉํ๋ ค๋ฉด ์ค์ ํ์ผ(์: src/main/resources/logback-spring.xml)์ ์ถ๊ฐ๋ก ์์ฑํด์ผ ๋ ๊ฒ์ด๊ณ , ์ฐ๋ฆฌ๊ฐ ๋ฐฐํฌํ ELK ๋ชจ๋ํฐ๋ง ์์คํ ์์ Spring ๋ก๊ทธ๋ฅผ ์ฒ๋ฆฌํ๋ ค๋ฉด ์๋์ ๊ฐ์ ๊ณผ์ ์ผ๋ก ์๋ํด๋ณด์๋ฉด ์ข์๋ฏํฉ๋๋ค. (Spring ์ ํ๋ฆฌ์ผ์ด์ ๋ก๊ทธ๋ฅผ ์๋ฒ์ ํ์ผ๋ก ์ ์ฅํ๋ค๋ ๊ฐ์ ์ผ๋ก ์ค๋ช ๋๋ฆฝ๋๋ค.)๋ค๋ง, ๋ณธ ๊ฐ์์์๋ ELK ์คํ์ Kubernetes ํ๊ฒฝ์ ๋ฐฐํฌํ๋ ๊ฒ์ ์ค์ ์ ์ผ๋ก ๋ค๋ฃจ๋ค๋ณด๋ Spring ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ก๊ทธ ์ฒ๋ฆฌ๋ฅผ ์ํ ์ค์ ๋ฑ์ ๋ํด ๊น๊ฒ ์ค๋ช ๋๋ฆฌ๊ธฐ๋ ์ด๋ ค์ด ์ ์ํด ๋ถํ๋๋ฆฝ๋๋ค.Spring ์ ํ๋ฆฌ์ผ์ด์ ๋ก๊น ์ค์ (๋ก๊ทธ ํ์ผ ๊ฒฝ๋ก ๋ฑ)filebeat ConfigMap์ filebeat.yml ๋ฐ์ดํฐ ๋ด์ฉ ์ค filebeat.inputs ๋ธ๋ก ์์ ์๋์ ๊ฐ์ด Spring ์ ํ๋ฆฌ์ผ์ด์ ๋ก๊น ๊ด๋ จ ์ค์ ์ถ๊ฐ... filebeat.inputs: ... - type: log enabled: true paths: - {Spring ์ ํ๋ฆฌ์ผ์ด์ ๋ก๊ทธ์ ๊ฒฝ๋ก} ...filebeat DaemonSet์ volumes์ volumeMounts์ ์๋์ ๊ฐ์ด Spring ์ ํ๋ฆฌ์ผ์ด์ ๋ก๊ทธ ๊ฒฝ๋ก ์ถ๊ฐ... spec: containers: ... volumeMounts: ... - name: spring-application-log mountPath: {Spring ์ ํ๋ฆฌ์ผ์ด์ ๋ก๊ทธ์ ๊ฒฝ๋ก} readOnly: true ... volumes: ... - name: spring-application-log hostPath: path: {Spring ์ ํ๋ฆฌ์ผ์ด์ ๋ก๊ทธ์ ๊ฒฝ๋ก} ...filebeat DaemonSet ์ฌ์์ ๊ทธ๋ฆฌ๊ณ ๋ง์ํด์ฃผ์ Persistent Queue(PQ)๋ Logstash์ ์์์น๋ชปํ ์ข ๋ฃ๋ก ์ธํ ๋ฐ์ดํฐ ์ ์ค์ ๋ง๊ธฐ ์ํด ์ ์ ๋๋ ๋ฐ์ดํฐ๋ฅผ ํ์ผ๋ก ์์ ์ ์ฅํ๋ ๋ฐฉ๋ฒ์ด๊ณ , Logstash ์ค์ ๋ณ๊ฒฝ์ด ์ถ๊ฐ๋ก ํ์ํ์ง๋ง ์ข์ ์ฃผ์ ๋ผ๊ณ ์๊ฐํฉ๋๋ค.์๋ ๊ณต์๋ฌธ์๋ฅผ ์ฐธ๊ณ ํ์ฌ Logstash์ PQ ์ค์ ์ด ๊ฐ๋ฅํ๋ฐ์.https://www.elastic.co/docs/reference/logstash/persistent-queues#configuring-persistent-queuesํด๋น ์ค์ ์ ๋ณธ ๊ฐ์์์ ๋ค๋ฃจ์ง ์์ Logstash ์ค์ ํ์ผ(๋ณธ ๊ฐ์์์ ์ฌ์ฉํ๋ Logstash Docker ์ด๋ฏธ์ง ๊ธฐ์ค /usr/share/logstash/config/logstash.yml) ๋ด์์ ์ ์ํ๊ณ , PQ๋ฅผ ์ํ PVC ์ญ์ Kubernetes ํด๋ฌ์คํฐ(minikube)์ ์ถ๊ฐ๋ก ์ ์ํด์ผ ํฉ๋๋ค.์ฆ, ์๋์ ๊ฐ์ ๊ณผ์ ์ผ๋ก PQ ์ค์ ์ ํด๋ณผ ์ ์๊ฒ ์ต๋๋ค.Logstash PQ๋ฅผ ์ํ PersistentVolumeClaim ์์ฑ (์: logstash-pq-pvc)Logstash ConfigMap์ ์๋์ ๊ฐ์ด logstash.yml ๋ฐ์ดํฐ๋ฅผ ์ถ๊ฐํ์ฌ PQ ๊ด๋ จ ์ค์ ... data: ... logstash.yml: |- queue.type: persisted path.queue: /usr/share/logstash/data/queue ...Logstash Deployment์ PQ๋ฅผ ์ํ PVC ์ฐ๋ ๋ฐ ConfigMap์ผ๋ก๋ถํฐ logstash.yml ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ค๋ volumes ๋ฐ volumeMounts ์ค์ ์ ์๋์ ๊ฐ์ด ์ถ๊ฐ ... spec: containers: ... volumeMounts: ... - name: logstash-config mountPath: /usr/share/logstash/config/logstash.yml subPath: logstash.yml - name: logstash-pq-storage mountPath: /usr/share/logstash/data/queue ... volumes: ... - name: logstash-config configMap: name: logstash-config items: - key: logstash.yml path: logstash.yml - name: logstash-pq-storage persistentVolumeClaim: claimName: logstash-pq-pvcLogstash Deployment ์ฌ์์์ฐธ๊ณ ๋ก, PQ ์ค์ ์ ์ํด Logstash Deployment๊ฐ PVC๋ฅผ ์ฌ์ฉํ๊ฒ ๋๋ฉด ๊ทธ Replica ์๋ 1์ด์ด์ผ ํฉ๋๋ค.์ฌ๋ฌ ๊ฐ์ Logstash Pod๊ฐ ํ๋์ PV๋ฅผ ๋์์ ๊ฐ์ด ์ฌ์ฉํ ์ ์๊ธฐ ๋๋ฌธ์ ๋๋ค.๋ง์ฝ PQ๋ฅผ ์ค์ ํ Logstash ์ธ์คํด์ค๊ฐ ์ฌ๋ฌ ๊ฐ์ฌ์ผ ํ๋ค๋ฉด, Logstash๋ฅผ Deployment๊ฐ ์๋ StatefulSet์ผ๋ก ๋ฐฐํฌํด์ผ ํ ๊ฒ์ ๋๋ค. (Elasticsearch๊ฐ StatefulSet์ผ๋ก ๋ฐฐํฌ๋๊ณ volumeClaimTemplates ์ค์ ์ ํ๋ ๊ฒ๋ ์ด๋ฐ ๊ฐ์ฉ์ฑ์ ๋๋นํ๊ธฐ ์ํจ์ ๋๋ค.) ์ถํ ๊ธฐํ๊ฐ ๋์ด ์ ๋ด์ฉ์ ๋ณธ ๊ฐ์์์ ์ ๋ฆฌํ๊ฒ ๋๋ฉด ๊ณต์ ๋๋ฆฌ๊ฒ ์ต๋๋ค.๊ฐ์ฌํฉ๋๋ค.
- 1
- 2
- 46
Q&A
๋งค๋ํจ์คํธ ํ์ผ
์๋ ํ์ธ์ ๊น์ ํ๋,์ง๋ฌธ ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค. ๋ง์ํด์ฃผ์ ELK ์คํ ๋ฐฐํฌ๋ฅผ ์ํ ๋งค๋ํ์คํธ ํ์ผ๋ค์ ์ค์ต ํํธ๋ฅผ ์งํํ๋ฉด์ ์ง์ ์์ฑํ ์ ์๊ฒ ๊ฐ์๋ฅผ ๊ตฌ์ฑํ๊ธฐ ๋๋ฌธ์ ๋ฐ๋ก ์ ๊ณตํด๋๋ฆฌ๊ณ ์์ง ์์ต๋๋ค. ๊ทธ๋์ ์น์ 5. (์ค์ต) ELK ์คํ ๊ฐ ํด์ k8s Manifest ํ์ผ ์์ฑ ๋ฐ ๋ฐฐํฌ์ ์น์ 6. (์ค์ต) ๊ธฐ๋ณธ์ ์ธ Logstash ๋ฐ Kibana ํ์ฉ ๋ด ๊ฐ์ ๋ด์ฉ์ผ๋ก ๊ฐ ํด๋นํ๋ ๋งค๋ํ์คํธ ํ์ผ์ ํ์ธํ์ค ์ ์์ต๋๋ค. ๋ณธ ๊ฐ์๋ฅผ ์๊ฐํ์๋ฉด์ ELK ์คํ ๋ฐฐํฌ์ ํ์ํ ์ค์ ๊ณผ Kubernetes ๊ด๋ จ ๊ธฐ๋ณธ ์ง์์ ํจ๊ณผ์ ์ผ๋ก ํ์ตํ์ค ์ ์๋ ๋ฐฉ๋ฒ์ ๊ณ ๋ฏผํ๋ค๊ฐ ์ด์ ๊ฐ์ ๋ฐฉ์์ ๊ฐ์ง๊ฒ ๋์๋๋ฐ์. ๋ถํธํ์๋๋ผ๋ ๋ถ๋ ์ํด ๋ถํ๋๋ฆฝ๋๋ค.๐ฟ ๊ฐ์ฌํฉ๋๋ค.
- 0
- 2
- 111
Q&A
kubectl ๋ฒ์ ๊ด๋ จ ๋ฌธ์
์๋ ํ์ธ์ Denia๋, kubectl์ minikube ๋ฒ์ ๊ด๋ จํ์ฌ ์ง๋ฌธ ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค! ๋ง์ฝ minikube์ ํ์ฌ ์ต์ ๋ฒ์ ์ธ v1.34.0์ผ๋ก ์ค์นํ์ จ๋ค๋ฉด, ํด๋น minikube๋ก ์์ฑ๋๋ k8s ํด๋ฌ์คํฐ์ ๋ฒ์ ์ v1.31.0์ผ ํ ๋ฐ์. (์ฐธ๊ณ ๋งํฌ) ํด๋น Kubernetes ๋ฒ์ ์ ํ์ฌ Denia๋ ๋ก์ปฌ์ ์ค์น๋ kubectl v1.30.2์ Minor ๋ฒ์ ์ด 1๋งํผ ์ฐจ์ด๋๊ธฐ ๋๋ฌธ์ ๋ ๊ฐ์ ํธํ์ฑ ์ด์๊ฐ ๋ฐ์ํ์ง ์์ ๊ฒ์ ๋๋ค. (์ฐธ๊ณ ๋งํฌ) ์ด๋ ๋ฐ๋๋ก kubectl์ ์ต์ ๋ฒ์ ์ธ v1.32.0์ ์ค์นํด์ minikube ์ต์ ๋ฒ์ ๊ณผ ํจ๊ป ์ฌ์ฉํ๋๋ผ๋ ๋ง์ฐฌ๊ฐ์ง์ ๋๋ค. ํน์ ๋ชฐ๋ผ ์ ๋ ๋ฐฉ๊ธ kubectl v1.30.2์ minikube v1.34.0 (์ฆ, k8s v1.31) ์กฐ๊ฑด์์ ์ค์ต ๋ฐฐํฌ ํ ์คํธ๋ฅผ ํ์๋๋ฐ ์ ์ ๋์ํจ์ ํ์ธํ์ต๋๋ค.๐ ๊ทธ๋ฌ๋ ํ์ฌ ์ค์น๋ kubectl v1.30.2์ ์ฌ์ฉํ์ ๋ ๋ฌด๋ฐฉํฉ๋๋ค. (๋ฌผ๋ก ์ต์ kubectl์ ์ต์ minikube๋ฅผ ๊ฐ์ด ์ฌ์ฉํ๋ ๊ฒ์ด ์ข์ง๋ง์!) ๋ณธ ๊ฐ์์ ์ค์ต์ k8s์์ ์์ฃผ ์ฌ์ฉ๋๋ ๊ธฐ๋ณธ์ ์ธ ๊ธฐ๋ฅ์ ์์ฃผ๋ก ํ์ฉํ๋๋ก ๊ตฌ์ฑํ๊ธฐ ๋๋ฌธ์ k8s ๋ฒ์ ์ ์ํฅ์ ๋ ๋ฐ์ ๊ฒ์ด์ง๋ง, ์ ๋ ์๊ฐ์๋ถ๋ค์ ์ค์ต์ ๋ฌธ์ ๊ฐ ์๊ธฐ์ง ์๋๋ก minikube ๋ฐ k8s ๋ฒ์ ์ ๋ชจ๋ํฐ๋งํ๊ณ ํน์ ๋ฌธ์ ๊ฐ ์์ผ๋ฉด ๋ต๋ณ ๋ฐ ๊ณต์ง๋ก ์ ๋ฐ์ดํธ ๋๋ฆฌ๊ฒ ์ต๋๋ค. ๊ฐ์ฌํฉ๋๋ค.
- 1
- 1
- 140
Q&A
[2.2 minikube ์๊ฐ] ๊ฐ์ ์๋์ ์๋ ์์ ๋ ธํธ ๋งํฌ ์ค๋ฅ ์ ๋ณด
์๋ ํ์ธ์ Denia๋, ๊ฐ์ ๋ ธํธ ๊ด๋ จํ์ฌ ๋ถํธ ๋๋ ค์ ์ฃ์กํฉ๋๋ค!ํด๋น ๋ด์ฉ ํ์ธ ํ ์์ ํ์ฌ ํ์ฌ๋ ์์ ๋ ธํธ ๋ด ๋งํฌ๊ฐ minikube ์ค์น ์๋ด ํ์ด์ง๋ก ์ ์ ์ฐ๊ฒฐ๋ ์ํ์ ๋๋ค.์ ๋ณดํด์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค! ๊ทธ๋ฆฌ๊ณ ๊ฐ์ ์ ๋ณด๊ณ ๊ณ์๋ค๋ ๊ธฐ์ฉ๋๋ค๐
- 1
- 1
- 81
Q&A
์์ ๋ ธํธ๋ฅผ ๋ค์ด๋ก๋ ๋ฐ์ผ๋ ค๊ณ ํ๋๋ฐ ์ด๋์ ์๋์
์๋ ํ์ธ์ ๋ฐ๋ฌธ์๋,์ง๋ฌธ ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค.๊ฐ์ ์์ ๋ ธํธ๋ ํด๋นํ๋ ๊ฐ์ ์์ ํ์ด์ง ํ๋จ์ ์์ ๋ ธํธ ๋ณด๊ธฐ ๋ฒํผ์ ๋๋ฌ ํ์ธํ์ค ์ ์์ต๋๋ค.์๋ฅผ ๋ค์ด ๋ง์ํด์ฃผ์ Sample App์ ๋ฉ๋ํ์คํธ๊ฐ ์ ๋ก๋๋ Github ๋งํฌ๋ '6.1 ๋ก๊ทธ ํ ์คํธ์ฉ ๋ฐ๋ชจ ์ฑ ์๊ฐ ๋ฐ ๋ฐฐํฌ' ๊ฐ์ ์์ ํ์ด์ง์์ ์๋ ์ฌ์ง์ฒ๋ผ ํ์ธ ๊ฐ๋ฅํฉ๋๋ค.(์ฌ์ง) ๊ฐ์ ์์ ํ์ด์ง ํฌ๊ธฐ์ ๋ฐ๋ผ ์์ ๋ ธํธ ๋ด์ฉ์ด ์๋์ฒ๋ผ ์์ ํ๋จ์ ๋ฐ๋ก ํ์๋๊ธฐ๋ ํ๋ ์ฐธ๊ณ ๋ถํ๋๋ ค์.(์ฌ์ง)๊ฐ์ฌํฉ๋๋ค๐
- 0
- 1
- 135





