본문 바로가기

Devops/Kubernetes20

[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.
[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] 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.