본문 바로가기

Kubernetes23

[ELK] Kubernetes 환경에서 Elasticsearch / Kibana 설치 최근에는 많은 회사들이 Elastic Stack으로 데이터 파이프라인을 구축하여 다양한 분야에서 활용한다. https://ssnotebook.tistory.com/entry/ELK-Elasticsearch [ELK] Elasticsearch1. 엘라스틱 서치(Elasticsearch) : 아파치 루씬(Apache Lucene)을 기반으로 Java로 개발된 엘라스틱 서치는 분산형 RESTful 검색 및 분석 엔진으로 Elastic 재단에서 개발한 엘라스틱 스택(Elastic Stack)의 핵심적ssnotebook.tistory.com 여기서 필수적으로 이용이 되는 Elasticsearch(데이터 저장) / Kibana(시각화 대시보드)를 쿠버네티스 Pod 환경에서 이미지 기반으로 구동하는 예시를 알아볼 것.. 2024. 2. 21.
[Kubernetes] 쿠버네티스의 컴퓨터 자원(CPU/Memory) 관리 및 제한 - 1 쿠버네티스는 Namespace와 Cgroup을 통해 컨테이너의 격리된 환경을 구축하고 배포한다. 컨테이너를 생성할 때, 컴퓨터 자원의 할당의 제한이 선언되면 쿠버네티스의 Scheduler는 컨테이너가 생성되기에 알맞은 노드(컴퓨터 자원이 충족되는)를 선택한다. ※ 컨테이너는 CPU, Memory, Disk(FileSystem)와 네트워크, 프로세스 ID, GPU 등의 컴퓨터 리소스를 소비할 수 있다. 과거에는 쿠버네티스에서 Cgroups v1을 기반으로 컴퓨터 자원을 격리했는데, 쿠버네티스 1.22 버전을 시작으로 Cgroups v2를 이용하여 더 효율적으로 컴퓨터 자원에 대한 관리를 할 수 있게 되었다. https://kubernetes.io/blog/2021/11/26/qos-memory-resour.. 2024. 2. 5.
[Fluent-Bit] Too many open files 사내 프로젝트로 Fluent-Bit을 K8S환경 내 Side-car방식으로 Elasticsearch에 로그 적재를 할 때, 발생했던 문제에 관하여 다루는 자료이다. 개요 :프로젝트 내 Microservice의 개수만큼 Deployment를 생성했었는데, 해당 Deployment에는 하나의 애플리케이션 서버 컨테이너와, 해당 애플리케이션 로그를 수집하는 Fluent-Bit 컨테이너(총 2개의 컨테이너)가 하나의 파드 안에 배포되는 형식으로 생성하였다. Fluent-Bit : https://docs.fluentbit.io/manual/about/what-is-fluent-bit What is Fluent Bit? - Fluent Bit: Official ManualRather than serving as a.. 2023. 11. 30.
[Kubernetes] calico-node PodInitializing 대기 현상 해결 쿠버네티스 클러스터 환경에서 모든 노드의 서버를 재시작하면서 발생한 현상이다. calico-node의 daemonset의 Init-Container가 실행되지 않고, 해당 컨테이너가 실행되는 것을 무한 대기하는 현상이 발생한 것이다. 위와 같은 현상을 겪은 Github Issue도 찾아서 확인하였고, iptables에 관하여 언급한 사람이 있어서 초기에 쿠버네티스 설정했던 네트워크 설정이 초기화가 된 것으로 추측하였다. https://github.com/projectcalico/calico/issues/6256 Kubernetes cluster fails bringing up calico node · Issue #6256 · projectcalico/calico Our kubernetes clusters.. 2023. 11. 6.
[Kubernetes] Secrets 암호화 쿠버네티스 환경에서 주로 yaml 파일의 선언형 자료를 이용하여 어플리케이션 단위를 관리하는데, 그 선언형 자료에서 공통적인 상수 값들은 주로 Configmap을 이용하고, 일반적으로 공개되지 않아야하는 값들은 Secret을 통하여 값을 배정하게 된다. 하지만 여기서 큰 문제가 발생한다. 쿠버네티스 클러스터에서 기본적으로 Secret 값은 암호화되지 않고 그저 Base64로 인코딩되어 저장된다는 것이다. https://kubernetes.io/ko/docs/concepts/configuration/secret/ 시크릿(Secret) 시크릿은 암호, 토큰 또는 키와 같은 소량의 중요한 데이터를 포함하는 오브젝트이다. 이를 사용하지 않으면 중요한 정보가 파드 명세나 컨테이너 이미지에 포함될 수 있다. 시크릿.. 2023. 9. 26.
[Kubernetes] Ubuntu 환경에서 K9S 설치 1. K9S K9S란, Kubernetes 클러스터와 편리하게 상호 작용하기 위한 터미널 기반의 UI를 제공하는 Golang 기반의 오픈소스 프로젝트다. 이는, 탐색과 관찰 및 관리에 용이하다는 장점을 가지고 있고, 지속적으로 Kubernetes의 변경 사항을 감시하고 관찰된 리소스와 상호 작용하기 위한 후속 명령이 가능하여 편리함을 제공한다. https://k9scli.io/ K9s - Manage Your Kubernetes Clusters In Style Who Let The Pods Out? K9s is a terminal based UI to interact with your Kubernetes clusters. The aim of this project is to make it easier t.. 2023. 9. 7.