본문 바로가기

Devops39

[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.
[Linux/Ubuntu] txt / yaml 등의 파일 문자열 치환(변경) 최근의 다량의 yaml 파일의 특정 단어를 다른 단어로 수정을 하는 일이 있었는데, 그 과정에 많은 도움이 된 명령어이다. Linux의 sed라는 명령어를 통하여 일괄적으로 수정하는데 많은 도움을 받았고 아래 예제를 통해 알아볼 것이다. sed : stream edit이라는 단어의 축약 기본적으로 sed 명령어는 s로 시작하여 g로 끝나고 그 사이를 /로 구분하여 바꿀 단어와 바뀔 단어로 구분한다. sed "s/변경하고 싶은 단어/변경할 단어/g" 아래는 텍스트를 예시로 들어볼 것이다. # bash cat simple.txt # ---------- 출력 ---------- # hello world! simple.txt라는 텍스트 파일이 존재하고 내용은 hello world!라는 텍스트를 저장하고 있다. .. 2023. 8. 26.
[Kubernetes] bitnami/kafka (Helm Chart) SASL Authentication 에러 1. 에러 발생 헬름 차트를 이용하여 bitnami의 kafka 프로젝트 설치 후 kafka-client 내부에서 Producer의 동작을 확인하는 과정에서 다음의 에러가 발생했다. # kafka-client 내부 Producer 토픽 확인 시 에러 [2023-08-19 14:38:24,607] WARN [Producer clientId=console-producer] Bootstrap broker kafka-controller-2.kafka-controller-headless.kafka.svc.cluster.local:9092 (id: -3 rack: null) disconnected (org.apache.kafka.clients.NetworkClient) [2023-08-19 14:38:24,609].. 2023. 8. 24.
[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.yamlapiVersion: v1kind: Podmetadata: labels: app: nginx name: nginxspec: containers: - image: nginx:latest name: nginx resources: {} dnsPolicy: ClusterFirst restartPolicy: Alwaysstatus: {}  my-spr.. 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.