반응형

Container Orchestration 42

Kubernetes Resources(쿠버네티스 리소스)

OverviewKubernetes에서는 다양한 워크로드를 제어하기 위해 여러 가지 리소스 객체들을 제공한다.애플리케이션의 배포, 확장, 유지, 스케줄링, 상태 저장 또는 일시적인 작업 등 목적에 따라 Deployment, StatefulSet, DaemonSet, Job, CronJob 등의 리소스를 활용하게 된다.  이번 글에서는 이러한 Kubernetes 리소스들의 개념과 차이점, YAML 예제, 그리고 실무에서 어떻게 사용되는지까지 자세히 정리해본다.      먼저 리소스의 종류는 아래와 같다.DeploymentsReplicaSetStatefulSetsDaemonSetJobsAutomatic Cleanup for Finished JobsCronJobReplicationController       ..

Kubernetes 플러그인 매니저 Krew란?

OverviewKubernetes를 실무에서 사용하다 보면, `kubectl` 만으로는 부족함을 느낄 때가 많다. 이럴 때 Krew라는 패키지 매니저를 활용하면 `kubectl` 에 다양한 플러그인을 손쉽게 추가할 수 있어 워크플로우를 훨씬 효율적으로 만들 수 있다. 이번 글에서는 Krew의 개념과 설치 방법, 그리고 실무에서 자주 활용되는 인기 플러그인들(`kubectx, kubens, kube-ps1, neat, node-shell`)의 설치 및 사용법을 함께 정리한다. 클러스터를 빠르게 탐색하고 관리하고 싶은 분들께 큰 도움이 될 실전 가이드이다.            Krew란?   Krew는 Kubernetes 클러스터와 상호 작용하기 위한 명령줄 도구인 kubectl의 플러그인 관리자이다. Kr..

Kubernetes API Server, Group / RBAC란?

OverviewKubernetes의 보안 및 접근 제어는 클러스터를 안전하게 운영하기 위해 반드시 이해해야 할 중요한 개념이다.이번 글에서는 Kubernetes API Server의 동작 원리, API Group 구조, 그리고 클러스터 리소스에 대한 접근 권한을 제어하는 RBAC(Role-Based Access Control)까지 핵심 요소를 정리한다. API Server는 Kubernetes의 컨트롤 플레인 중 핵심이며, 모든 요청의 입구이자 인증/인가 흐름의 중심이다.API Group은 리소스를 체계적으로 분리하고 버전 관리를 돕는 역할을 하며, RBAC은 이들 리소스에 대한 권한을 세부적으로 설정할 수 있도록 한다.  실제 명령어 출력 예시와 YAML 구성까지 함께 다루기 때문에, 이론부터 실무 적..

K8S 인증서 10년 만기 생성 방법

OverviewKubernetes 클러스터를 운영하다 보면 인증서 만료로 인해 API 서버와의 통신이 중단되거나, kubelet이 연결되지 않는 등의 문제가 발생할 수 있다. 기본적으로 Kubernetes는 1년 기한의 인증서를 발급하지만, 장기 운영을 위한 환경에서는 10년 이상의 장기 인증서로 갱신해주는 것이 실무에서 매우 유용하다.  이 글에서는 Kubernetes v1.16.8 환경에서 마스터 및 워커 노드의 인증서를 10년(3650일)으로 갱신하는 과정을 정리한다. GitHub의 update-kube-cert 스크립트를 활용하여 손쉽게 인증서를 갱신하고, 클러스터 상태를 안정적으로 유지하는 실습 절차를 소개한다.참고 저장소: https://github.com/yuyicai/update-kube-..

kubectl 명령어 정리

OverviewKubernetes 환경에서 클러스터 리소스를 생성, 수정, 조회, 삭제하는 핵심 CLI 도구가 바로 kubectl이다.운영자, 개발자, 데브옵스 모두가 매일 사용하는 만큼 kubectl 명령어를 효율적으로 정리해두면 실무에서 큰 도움이 된다. 이 글에서는 kubectl의 대표 명령어들을 실용적인 예시와 함께 정리하고, 자주 사용하는 옵션들과 조합까지 소개한다.처음 시작하는 입문자부터 실무 운영자까지 바로 활용할 수 있는 kubectl 명령어 모음집이다.         kubectl 명령어 정리   1. 버전 및 리소스 확인  클라이언트 및 서버 버전 확인kubectl version --short 사용 가능한 리소스 종류 조회kubectl api-resources     2. 리소스 생성/..

Kubernetes Ingress란? (클러스터 외부 트래픽 관리)

Overview오늘은 Kubernetes Ingress에 대해 학습하고 정리해보겠다. Ingress는 클러스터 외부에서 내부 서비스로 HTTP 및 HTTPS 트래픽을 관리하는 핵심 컴포넌트이다. Kubernetes에서 외부 트래픽을 내부 서비스로 안전하고 효율적으로 라우팅하는 가장 핵심적인 리소스 중 하나가 바로 Ingress다. 단순히 외부 접근을 허용하는 것을 넘어서, 트래픽의 흐름을 제어하고, SSL 종료, 도메인 기반 라우팅, URL path 기반 매핑 등 다양한 기능을 제공한다.개발/운영 환경에서는 서비스가 많아질수록 URL 및 도메인 기반 라우팅이 필요해지며, 이때 Ingress를 적절히 활용하면 관리 복잡도를 줄이고 보안을 향상시킬 수 있다. 이 글에서는 Ingress의 개념, 역할, 설정 ..

Kubernetes Probe (Liveness, Readiness, Startup)

Overview Kubernetes에서 애플리케이션의 안정적인 운영을 위해 중요한 개념 중 하나가 바로 Probe이다.클러스터를 구축하거나 배포 설정을 하다 보면 liveness, readiness, startup 같은 Probe 설정을 자주 마주하게 된다. Probe는 단순히 컨테이너가 살아 있는지뿐만 아니라, 서비스 요청을 받을 준비가 되었는지, 기동이 완료되었는지 등 다양한 상태를 세밀하게 감지해준다.이러한 Probe를 적절히 구성하면 장애 회복 속도 개선, 잘못된 트래픽 분산 방지, 무한 재시작 루프 방지 등의 효과를 얻을 수 있다. 이 글에서는 Kubernetes에서 지원하는 Probe의 개념과 종류, 각각의 용도와 동작 방식을 실무적 관점에서 정리해본다.           Probe란?Prob..

Kubernetes 컨테이너 이미지 생성하기

Overview 컨테이너 이미지를 만들어 보자.Kubernetes에서 애플리케이션을 서비스하려면 반드시 컨테이너화된 앱, 즉 컨테이너 이미지가 필요하다.  이 문서에서는 간단히 hello +  서버의 hostname을 출력하는 웹 애플리케이션을 Docker로 만들어보고, 이후 쿠버네티스에서 사용할 수 있도록 준비한다. hostname을 출력하는 이유는, 나중에 로드밸런싱이나 Pod 변경 시 어떤 인스턴스가 응답하는지 확인하기 위함이다.   개발 목표웹서버: Apache + CGI언어: Python로직: "hello + hostname" 출력 위와 같은 컨테이너 이미지를 만들자.        Docker 환경 준비 빌드 머신 준비목적: Docker CLI로 컨테이너 이미지 빌드crictl은 이미지 빌드를 ..

Kubernetes 클러스터 구축하기(kubespray)

OverviewKubernetes 클러스터를 구성하는 방법에는 여러 가지가 있지만, Kubespray는 특히 프로덕션 환경에서 사용하기에 적합한 Ansible 기반의 자동화 설치 도구이다.이 글에서는 Debian 기반의 KVM 환경에서 Kubespray를 사용해 v1.23.6 버전의 Kubernetes 클러스터를 설치하는 전 과정을 다룬다.VM 생성, containerd 설치, 사전 네트워크 설정, Ansible 환경 구성, SSH 인증, 인벤토리 설정, 클러스터 구성 등 실습 위주로 단계별로 설명한다.특히 kubeadm 방식보다 더 복잡하지만 유연한 구성이 가능하다는 점에서 Kubespray는 중급 이상의 Kubernetes 사용자에게 강력한 도구가 된다. Kubespray 도구를 사용하여 현 최신버전..

Kubernetes 클러스터 구축하기(kubeadm)

Overview Kubernetes는 다양한 클라우드 환경과 온프레미스 환경에서 확장성과 신뢰성을 제공하는 컨테이너 오케스트레이션 플랫폼이다.이번 글에서는 kubeadm을 활용하여 직접 Kubernetes 클러스터를 구성하는 과정을 자세히 다룬다. 운영체제 설치부터 VM 생성, containerd 설정, kubeadm 초기화, Calico 네트워크 설치, 워커 노드 조인까지 실제 환경 구축에 필요한 모든 절차를 실습 중심으로 설명한다.  특히, Kubeadm을 활용한 클러스터 구축은 프로덕션 환경에서도 안정적으로 적용 가능하며, 이를 통해 Kubernetes의 구조와 작동 원리에 대한 깊은 이해를 쌓을 수 있다.    2022.05 기준  버전OS : Debian 11.3 Bullseyekubernete..

반응형