
EP1. 쿠버네티스에서 내 마이크로서비스로 트래픽을 라우팅 하는 방법https://www.youtube.com/watch?v=VBiMvlSNoewKEDA를 사용하여 NGINX Ingress Controller를 자동 스케일링하는 실습 진행중입니다.> KEDA설치는 완료하였고, 스케일링이 자동으로 되지 않아 이슈 파악중입니다.[레거시 환경 - 로드밸런서][쿠버네티스 - Ingress]Main LoadBalancerIngress하위 L4Service [Ingress Controller] 실제 트래픽을 받아서 동작함[Ingress]정책(쿠버네티스에서 관리되는 정책, 규칙) [URL 기반 분리][도메인 기반 분기] [자동확장]Ingress Controller 수평적 확장(HPA) NGINX 메트릭, 부하 정..

NGINX, Apache 주요 타임라인연도기술설명1995Apache HTTP Server 출시초기 Apache는 프로세스 기반 모델 사용1996Apache prefork MPMApache 1.3에서 공식화된 프로세스 기반의 초기 모델 (연결당 하나의 프로세스)2002Apache worker MPMApache 2.0에서 도입, 프로세스와 스레드 혼합 모델2002Nginx 개발 시작Igor Sysoev가 C10K 문제 해결을 위한 코드 작성 시작2004Nginx 공개 출시이벤트 기반 비동기 아키텍처로 출시2005Apache event MPM (실험적)Apache 2.2에서 실험 기능으로 도입, keepalive 연결 처리 개선2012Apache event MPM (안정화)Apache 2.4에서 안정화되어 기..

인그레스 vs 인그레스 컨트롤러 인그레스인그레스 컨트롤러형태규칙(yaml, JSON, conf)서버(Pod) Ingress# 쿠버네티스 1.22 버전 이상부터 ingress의 스펙이 바뀌었으며, 아래의 매니페스트를 사용할 수 없게 변경되었습니다.# 최신 버전의 쿠버네티스를 사용하고 있다면 ingress-example-k8s-latest.yaml 파일을 통해 실습을 진행해주세요.# 참고 링크 : https://kubernetes.io/docs/reference/using-api/deprecation-guide/#ingress-v122apiVersion: networking.k8s.io/v1beta1kind: Ingressmetadata: name: ingress-example annotations: ..
cmd/kubelet/kubelet.go NewKubeletCommandcmd/kubelet/app/server.gocreateAndInitKubeletpkg/kubelet/kubelet.go > NewMainKubeletRunKubelet > startKubelet pkg/kubelet/kubelet.go > Run > kl.syncLoop syncLoop > 무한 for 루프 > syncLoopIteration> configCh (kubetypes.PodUpdate)> case문 분기처리 > kubetypes.ADD > handler.HandlePodAdditions(u.Pods) > podWorkers.UpdatePod> SyncPod > if !kl.podWorkers.IsPodTermin..

출처 : https://netpple.github.io/docs/deepdive-into-kubernetes/k8s-controller-manager 5편. kube-controller-manager쿠버네티스의 심장 컨트롤러에 대해 다룹니다. 빌트인 컨트롤러들을 기동하고 관리하는 컨트롤러 매니저에 대해 알아보고 다양한 컨트롤러들을 소개하고 이들이 협력하여 일하는 방법에 대해netpple.github.io Service쿠버네티스 오브젝트파드에서 실행중인 어플리케이션을 네트워크 서비스로 노출하는 추상화 방법 Service kubectl apply -f https://raw.githubusercontent.com/alicek106/start-docker-kubernetes/refs/heads/master/ch..

Objects In KubernetesKubernetes — Objects (Resources/Kinds) Overviewhttps://medium.com/devops-mojo/kubernetes-objects-resources-overview-introduction-understanding-kubernetes-objects-24d7b47bb018 Kubernetes API Basics - Resources, Kinds, and Objectshttps://iximiuz.com/en/posts/kubernetes-api-structure-and-terminology/ https://kubernetes.io/docs/concepts/overview/working-with-objects/Understandi..

쿠버네티스 설치 환경개발용도MinikubeDocker Desktop for k8s서비스 테스트, 운영 용도kopskubespraykubeadm학습용도kubernetes-the-hard-way학습곡선minikube → kubeadm → kops → kubespray → kubernetest-the-hard-way Kubernetes Installation Options: The Hard Way, Kubedm, MiniKube, Managed K8s (EKS, AKS, OKE, GKE)https://k21academy.com/docker-kubernetes/kubernetes-installation-options/ kubeadm으로 쿠버네티스 설치https://yeongki0944.tistory.com/15..

Amazon Linux 2023 도커(Docker) 설치 패키지 패키지 요약표분류패키지명버전주요 기능도커 내 역할분류패키지명주요 기능도커내 역할핵심 컨테이너 런타임docker컨테이너 관리 플랫폼핵심 사용자 인터페이스 및 컨테이너 오케스트레이션핵심 컨테이너 런타임containerd컨테이너 런타임컨테이너 생명주기 관리 및 이미지 관리핵심 컨테이너 런타임runcOCI 호환 컨테이너 실행기저수준 컨테이너 생성 및 실행네트워크 관리iptables-libs네트워크 패킷 필터링 라이브러리컨테이너 네트워크 규칙 처리 기반네트워크 관리iptables-nftnftables 기반 패킷 필터링컨테이너 네트워크 연결 및 포트 매핑네트워크 관리libnetfilter_conntrack연결 추적 라이브러리NAT 및 컨테이너 네트워..

Docker Swarm 실습 가이드1. 소개Docker Swarm은 Docker의 네이티브 클러스터링 솔루션으로, 여러 Docker 호스트를 단일 가상 호스트로 전환하여 애플리케이션을 쉽게 확장할 수 있게 해줍니다.2. 사전 요구사항Amazon Linux 2023 EC2 인스턴스적절한 IAM 권한 (EC2 태그 접근 권한 필요)인스턴스 간 네트워크 통신이 가능한 보안 그룹 설정2.1. 권장 EC2 인스턴스 타입Manager 노드: t3.medium (2 vCPU, 4 GiB RAM) 또는 t3.small (최소 사양)Worker 노드: t3.small 또는 t3.micro (최소 사양)스토리지: 최소 8GB EBS 볼륨 (gp3 타입 권장)2.2. 보안 그룹 설정Docker Swarm 통신을 위해 다음 ..

해당 포스팅은 시작하세요! 도커/쿠버네티스: 친절한 설명으로 쉽게 이해하는 컨테이너 관리 책을 참고로 작성되었습니다.목차 CH3. 도커 스웜 3.1 도커 스웜을 사용하는 이유1. 단일 호스트 도커의 한계하나의 물리적 서버에서만 컨테이너 운영CPU, 메모리, 디스크 용량 제약 발생확장성 문제 직면docker ps, create, run 등의 명령어는 단일 도커 엔진에서만 작동2. 클러스터 방식의 해결책자원 통합: 여러 서버의 자원을 하나의 풀(Pool)로 통합수평적 확장: 8GB 메모리 서버 3대(24GB) + 8GB 추가 서버 = 32GB 가용 메모리비용 효율성: 고성능 단일 서버보다 적정 성능의 다수 서버 활용이 경제적3. 클러스터링 시 해결해야 할 과제서비스 디스커버리(Service Discover..