본문 바로가기

전체 글118

[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.
[Algorithm] 시간 복잡도 (Time Complexity) 1. 시간 복잡도 및 표기법 시간 복잡도는 특정 코드가 있을 때, 해당 코드에서 특정한 입력이 주어졌을 때, 얼마나 많은 연산을 하는지에 대한 개념을 나타낸 것이다. 알고리즘마다 특정 값에 대한 참조, 연산이 많을수록 당연히 복잡도가 다르고, 때에 따라서는 비효율적인 알고리즘이 될 수 있기에 우수한 성능을 낼 수 있는 알고리즘을 구현하기 위해서는 시간 복잡도를 정확하게 이해하고 알고리즘을 설계할 필요가 있다. 시간 복잡도를 표기하는 방법에는 아래의 3가지가 존재한다. 1) 빅 오(Big O) 표기법 빅 오(Big O) 표기법은 알고리즘의 실행 시간을 최악의 경우의 시간 복잡도로 나타내는 데 사용된다. 어떤 알고리즘의 시간 복잡도가 O(f(n))이라면, 해당 알고리즘의 실행 시간은 입력 크기 n이 증가함에.. 2023. 8. 19.