본문 바로가기

쿠버네티스7

[ELK] Kubernetes 환경에서 Elasticsearch / Kibana 설치 최근에는 많은 회사들이 Elastic Stack으로 데이터 파이프라인을 구축하여 다양한 분야에서 활용한다. https://ssnotebook.tistory.com/entry/ELK-Elasticsearch [ELK] Elasticsearch 1. 엘라스틱 서치(Elasticsearch) : 아파치 루씬(Apache Lucene)을 기반으로 Java로 개발된 엘라스틱 서치는 분산형 RESTful 검색 및 분석 엔진으로 Elastic 재단에서 개발한 엘라스틱 스택(Elastic Stack)의 핵심적 ssnotebook.tistory.com 여기서 필수적으로 이용이 되는 Elasticsearch(데이터 저장) / Kibana(시각화 대시보드)를 쿠버네티스 Pod 환경에서 이미지 기반으로 구동하는 예시를 알아볼.. 2024. 2. 21.
[Kubernetes] Secrets 암호화 쿠버네티스 환경에서 주로 yaml 파일의 선언형 자료를 이용하여 어플리케이션 단위를 관리하는데, 그 선언형 자료에서 공통적인 상수 값들은 주로 Configmap을 이용하고, 일반적으로 공개되지 않아야하는 값들은 Secret을 통하여 값을 배정하게 된다. 하지만 여기서 큰 문제가 발생한다. 쿠버네티스 클러스터에서 기본적으로 Secret 값은 암호화되지 않고 그저 Base64로 인코딩되어 저장된다는 것이다. https://kubernetes.io/ko/docs/concepts/configuration/secret/ 시크릿(Secret) 시크릿은 암호, 토큰 또는 키와 같은 소량의 중요한 데이터를 포함하는 오브젝트이다. 이를 사용하지 않으면 중요한 정보가 파드 명세나 컨테이너 이미지에 포함될 수 있다. 시크릿.. 2023. 9. 26.
[Kubernetes] 쿠버네티스 노드(Node) 및 파드(Pod) 사용 중 컴퓨터 자원(Resource) 확인 쿠버네티스 클러스터 환경을 이용할 때 노드 또는 파드에서 사용하고 있는 컴퓨터 자원을 관리적 차원에서 확인하고 싶을 때가 있을 것이다. 서버(노드) 단위로의 컴퓨터 자원을 사용하고 있는 총량은 리눅스 등의 명령어로 확인할 수 있는데, 쿠버네티스의 클러스터 내부 세부적인 환경의 컴퓨터 자원 사용량은 별도의 플러그인을 설치하여 확인할 수 있다. 플러그인에 대한 설명은 아래 쿠버네티스 공식 Docs를 통하여 알아볼 수 있다. https://kubernetes.io/docs/tasks/debug/debug-cluster/resource-metrics-pipeline/ Resource metrics pipeline For Kubernetes, the Metrics API offers a basic set of m.. 2023. 8. 30.
[Kubernetes] 쿠버네티스 내 헬름 차트(Helm Chart)로 Apache Kafka 설치(bitnami) 쿠버네티스 환경에서 MSA기반의 EDD(Event-Driven-Development)를 구축하는데 있어, 다양한 메시지 큐가 존재하는데, 대중적으로 많이 쓰이는 Kafka를 Helm을 이용하여 설치해 볼 것이다. 1. 헬름(Helm) 설치 헬름(Helm)이란, 쿠버네티스의 패키지 관리자이며, 간단한 명령어를 통하여 패키지를 쉽게 내려받고 이용할 수 있다. 공식 Docs : https://helm.sh/docs/ Docs Home Everything you need to know about how the documentation is organized. helm.sh 설치 또한, 아래 명령어를 통하여 간단하게 할 수 있다. # Ubuntu/Debian # apt 이용 curl https://baltocdn.. 2023. 8. 22.
[Kubernetes] 파드 간 통신 방법과 FQDN/DNS 요청 시 발생한 에러 처리 쿠버네티스 환경에서 Pod는 바인딩한 Service의 이름이나 Cluster-IP를 이용하여 다른 Pod와 통신을 할 수 있다. 해당 글에서는 파드 간 통신 방법과 해당 방법을 이용하는 중 발생한 에러 및 트러블 슈팅에 대하여 다룰 것이다. 1. 파드 간 통신 예시로, nginx라는 Pod가 존재하고, [Pod] # nginx-pod.yaml apiVersion: v1 kind: Pod metadata: labels: app: nginx name: nginx spec: containers: - image: nginx:latest name: nginx resources: {} dnsPolicy: ClusterFirst restartPolicy: Always status: {} my-spring-boot라는.. 2023. 8. 21.
[Kubernetes] 쿠버네티스 Ec2(Kubeadm) 환경에서 Master-Worker Node 구축 쿠버네티스 환경을 구축하는 방식에는 다양한 방법들이 존재하는데, 그중에서도 kubeadm을 이용하여 ubuntu 서버 내에 설치하고 직접 클러스터를 구축하는 방식을 다루어 볼 것이다. 1. EC2 인스턴스 생성 쿠버네티스는 기본적인 컴퓨터 자원의 사용량이 많기 때문에 인스턴스 사양의 CPU는 2 core 이상, RAM은 2 GB 이상을 필요로 한다. ubuntu 서버 기준으로 t2.medium이나 t3.medium이 최소 사양이라고 볼 수 있다. 위와 같이 마스터 노드 1개, 워커 노드 1개로 구성할 것이다. 2. 인스턴스 보안그룹 생성 쿠버네티스는 노드 간 다양한 포트를 통하여 통신을 하는데, 컨트롤 플레인(마스터 노드)과 워커 노드의 각각의 필요한 포트를 이용하기 위하여 보안 그룹 설정을 필요로 한다.. 2023. 8. 11.