본문 바로가기

devops24

Spring boot KEDA 예제 keda란?kubenetes base event driven autoscaler로 외부로 부터 다양한 이벤트를 받아 애플리케이션 파드들을 오토스케일링하기 위한 목적으로 개발된 경량의 쿠버네티스 컴포넌트 입니다.https://keda.sh/ 왜 그리고 언제 사용하나요?이번 예제에서는 KEDA를 사용하여 이벤트가 많이 발생되었을때 Kafka의 leg 부분을 모니터링 하고 우리가 지정한 leg 범위까지 늘어 졌을때 keda가 어떻게 잘 동작되는지 알아 보려 합니다.그럼왜? HPA를 안쓰고 KEDA를 사용하나요!?HPA로 늘어난 CPU 및 메모리 리소스의 사용량 대해서 스케일업이 가능하게 구성 할 수도 있으나, 이는 위에 언급한 요청량에 의한 모니터링은 불가능합니다.만약 갑자기 많은 요청에 의해 Kafka To.. 2025. 10. 12.
helm으로 argo cd install (nginx ingress 사용) 설치 준비Helm 설치helm이 설치되어 있는지 확인하자helm은 rancher desktop을 설치할때 같이 설치 된다.brew install helmHelm version 확인➜ ~ helm versionversion.BuildInfo{Version:"v3.18.6", GitCommit:"b76a950f6835474e0906b96c9ec68a2eff3a6430", GitTreeState:"clean", GoVersion:"go1.24.6"}k8s namespace 추가namespace : kafka-eda➜ ~ kubectl create namespace kafka-edanamespace/kafka-eda created생성된 네임스페이스 확인➜ ~ kubectl get nsNAME .. 2025. 10. 11.
docker desktop 에서 rancher desktop로 kubenetes certificate signed by unknown authority docker desktop 에서 rancher로 변경후 kubectl 명령어를 실행시 오류바 발생했다. ~ kubectl versionClient Version: v1.34.0Kustomize Version: v5.7.1Unable to connect to the server: tls: failed to verify certificate: x509: certificate signed by unknown authority➜ ~ kubectl get nodesUnable to connect to the server: tls: failed to verify certificate: x509: certificate signed by unknown authority인증서가 잘못되었다. 즉 신뢰 할수 없다는 경고문.. 2025. 10. 10.
kubernetes namespage kubernetes namespage쿠버네티스에서 네임스페이스란 하나의 클러스터 안에서 리소스들을 구분하기 위한 가상의 공간이다. 즉 하나의 클러스터안에 여러개의 네임스페이스들을 만들어 각 리소스들을 각각의 네임스페이스에 할당하는것이다.이렇게 하면 특정성격을 가진 리소스들을 관리하기가 용이해진다. 또한 롤관리를 통해 특정사용자들을 네임스페이스에 접근하는것을 허용 하거나 접근을 방지 할수있다.그림으로 보면 다음과 같다.파드안에 컨테이너들이 존재하게 되는데 각 파드(서버스)들은 특정 네임스페이스에 속하게 된다. 이에 따라 특정 네임스페이스에 속하는 목록들만 추출하여 필요한 정보를 전달해 줄수도 있으며, 관리하기에도 용이하다.좀더 상세하게 예를들어보면 dev, stage, prod 와같이 네임스페이스를 만들고.. 2024. 4. 25.
kubernetes nodeport 란? k8s 네트워크 구성 쿠버네티스에서 service (nodeport 외부용)은 네트워크 정보를 뜻한다. 외부에 노출하려고 하거나 내부에서 사용하려고 할때 혹은 DNS를 통해 외부와 통신하려고 할때 ports type에 맞춰 상황에 따라 사용 가능하다.내가 어떤 label을 가지고 있는지 확인 하고자 할때 다음 명령어를 사용한다.kubectl get pods --show-labelskubectl get deployments --show-labelsports type 에는 몇가지 종류가 있다.clusterIPNodePortLoad BalancerExternalName쿠버네티스에서 서비스란 외부에서 쿠버네티스 클러스터에 접속하는 방법을 서비스(Service)라 칭한다Service NetworkNodePort를 사용하여 외부에서 >.. 2024. 4. 25.
kubernetes minikube install minikube쿠버네티스를 로컬에서 실행하려면 master node 와 slive node를 구성해야 하는데 이는 많은 비용이 들기때문에 간단하게 로컬에서 구성해 볼수있는 시스템이 있다. 이것이 바로 minikube 이다.현업에서 실제 운영할때는 minikube를 구성하여 사용하지 않고 kubeadm 을 이용하여 구축한다고 한다. minikube는 학습용으로 쿠버네티스를 쉽게 배우고 개발 할 수 있도록 하는데 중점을 둔 로컬 쿠버네티스이다.https://minikube.sigs.k8s.io/docs/start/ 에 접속하여 가이드 를 따라한다.minikube 설치ezzo-skan@mezzoui-MacBookPro utility % **brew install minikube**Running `brew up.. 2024. 4. 25.
kubernetes dashboard Kubenetes Dashboard 설정쿠버네티스 활성화docker desktop을 켜고 설정에서 쿠버네티스를 체크하여 활성화 시켜준다.쿠버네티스가 활성화 되었는지 확인해본다.mezzo-skan@mezzoui-MacBookPro ~ % kubectl cluster-infoKubernetes control plane is running at https://kubernetes.docker.internal:6443CoreDNS is running at https://kubernetes.docker.internal:6443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxyTo further debug and diagnose cluster problems, u.. 2024. 4. 25.
kubectl 명령어 kubectl 명령어 종류kubctl —help 명령어로 확인가능한 cli 명령어들을 사용할수있다. 여기서는 자주 사용하는 명령어에대해 나열한다. kubectl [command] [TYPE] [NAME] [flags]apply : 원하는 상태를 적용하려 할때 사용한다. 보통 -f 옵션으로 파일과 할께 사용한다.get : 리소스 리스트 조회describe : 리소스 상태를 상세 조회하여 보여준다.delete : 리소스 삭제logs : 컨테이너의 로그를 볼수있다.exec : 컨테이너에 명령어를 전달할때 사용 (컨테이너 접근시 이용한다.)config : kubectl 설정을 관리한다. https://kubernetes.io/ko/docs/reference/kubectl/버전정보 확인kubectl versi.. 2024. 4. 25.
docker env, arg 차이점 docker env, arg 차이점 docker 에서 env 와 arg는 변수로 선언 할 때 사용한다. 둘 다 비슷해 보이긴 하지만 다른 명령어 임을 기억하자 . 1. ARG (Argument) docker 빌드중에만 사용되는 빌드 타임 환경 변수이다. docker 명령어에서 ‘—build-arg’ 플래그(FLAG)를 사용하여 값을 전달 할 수 있다. 주로 이미지 빌드 프로세서에서 인자를 전달하고 이미지의 컨텍스트에 따라 변경 가는한 값으로 사용된다. docker 이미지내에서는 사용 불가능 하며, 빌드중에만 사용된다. 예시: ARG VERSION=latest FROM ubuntu:$VERSION 실행 예시: docker build --build-arg VERSION=1.0 -t myimage ./Dock.. 2024. 4. 7.