🚀 EFK 란? EFK란 Elasticsearch + Fluent Bit + Kibana의 조합을 말한다. EFK 외에도 다양한 도구의 조합이 있다. ELK Stack: Elasticsearch + Logstash + Kibana EFK Stack: Elasticsearch + Fluentd + Kibana Elastic Stack: Elasticsearch + Beat + Kibana 참고로 ELK가 가장 처음 사용된 조합이다. 🔎 Elasticsearch Elasticsearch는 검색엔진이다. 데이터를 저장하는 저장소가 있고 그 데이터 저장소에서 검색한다. Elasticsearch를 로그를 저장하고 검색하는 용도로도 쓰긴하지만 기본 용도는 검색이다. 구글 검색과 같은 검색엔진을 만들 때 사용한다. ..
🚀 powerlevel10k GitHub - romkatv/powerlevel10k: A Zsh theme A Zsh theme. Contribute to romkatv/powerlevel10k development by creating an account on GitHub. github.com 쿠버네티스 작업을 할 때 다양한 작업 환경(프로덕션, 테스트, minikube) 및 여러개의 클러스터, 권한이 모두 다른 사용자들, 여러개의 컨텍스트가 존재할 것이다. 이럴 때 어떤 환경에서 어떤 사용자로 작업을 진행 중인지 헷갈릴 수도 있고 실수로 인한 사고가 나는 경우가 잦다. powerlevel10k - 현재 사용 중인 context 정보를 프롬프트에 출력해 실수의 여지를 줄일 수 있다. 📌 설치 방법 폰트..
🚀 Prometheus Monitoring 쿠버네티스 모니터링의 역사 Heapster → metrics-server → Prometheus Prometheus는 기본적으로 모니터링에 목적이 있다. CPU, Memoty, Network IO, Disk IO 등을 모니터링 할 수 있다. 오로지 쿠버네티스만이 아닌 BM, VM, Docker 등 시스템을 위해 구성되는 것이며 metric값을 수집해서 시각적으로 확인할 수 있도록 한다. 📌 프로메테우스 아키텍처 주황색 아웃라인이 그려진 것들이 프로메테우스의 구성요소이다. 각 구성요소들이 파드로 실행된다. 가장 중요한 것은 중앙의 Prometheus server이다. 그 중 Retrieval은 회수/수집의 의미를 가진다. Prometheus targets - 프로..
🚀 Helm이란 ?! Helm 우리가 정상적으로 동작하는 서비스를 구축하기 위해서는 수많은 쿠버네티스 오브젝트들이 필요하다. 이런 모든 것들을 모아서 하나로 패키지로 관리하기위한 것이 Helm이다. 쉽게 얘기해서 Helm은 yaml 파일의 모음이다. 이것은 곧 쿠버네티스의 패키지이다. Helm은 2버전과 3버전이 있다. 2버전은 더이상 개발하지 않으나 많은 책이나 문서에는 2버전으로 되어있다. 명령어도 다르고 아키텍처 구조도 달라서 호환성이 많이 떨어진다. 현재는 3버전만 사용한다. Helm 저장소는 다양하게 많이 존재한다. 분산 형태의 저장소를 가지고 있다. Helm을 활용하면 다른 사람이 만든 어플리케이션도 내 쿠버네티스 클러스터로 쉽게 가져올 수 있다. 🚀 Helm 아키텍처 및 구성 요소 (해당 아..
🚀 RBAC : Role-Based Access Control Using RBAC Authorization | Kubernetes Role: 권한(NS) ClusterRole: 권한(Global) RoleBinding Role ↔ RoleBinding ↔ SA/User ClusterRoleBinding ClusterRole ↔ ClusterRoleBinding ↔ SA/User vagrant@k8s-node1 ~/pod kubectl api-resources | grep rbac clusterrolebindings rbac.authorization.k8s.io/v1 false ClusterRoleBinding clusterroles rbac.authorization.k8s.io/v1 false C..
🚀 Authenticate (인증) Authenticating | Kubernetes 쿠버네티스의 사용자 Service Account(SA): 쿠버네티스가 관리하는 SA 사용자 사용자 X Pod 사용 Normal User: 일반 사용자(쿠버네티스가 관리 X) 사용자 O Pod X vagrant@k8s-node1 ~ kubectl api-resources | grep serviceacc serviceaccounts sa v1 true ServiceAccount Service Account는 쿠버네티스가 관리한다. Normal User가 사용하기 위한 인증서는 쿠버네티스가 관리하지만 사용자라는 개념은 쿠버네티스가 관리하지 않는다. vagrant@k8s-node1 ~ kubectl get sec..