본문 바로가기

쿠버네티스

(5)
Deployment & Service Deployment - stateless 애플리케이션을 배포할 때 사용 - 디플로이먼트 배포 전략은 애플리케이션이 변경될 때 사용하며 주로 버전의 업데이트가 필요한 경우에 사용 1. 롤링 업데이트(순차적 업데이트) - 표준 업데이트 방식 - 새 버전의 애플리케이션은 하나씩 늘려가면서 기존 버전의 애플리케이션은 하나씩 줄여나가면선 배포하는 방식 - 업데이트 속도는 느리지만 새로운 버전으로 배포된 파드에 문제가 생긴다면 이전 버전의 파드로 대체할 수 있어 안정적인 배포 방식 2. 재생성 업데이트 - 모든 이전 버전의 파드를 한 번에 종료하ㅗ 새 버전의 파드로 일괄적으로 교체하는 방식 - 빠른 업데이트가 가능하지만 파드에 문제가 발생하면 대체가 안됨 3. 블루/그린 업데이트 - 이전 버전과 새 버전의 애플리케..
파드 생성하고 관리하기 파드 생성 - 명령어 kubectl create : 클러스터에 새로운 리소스를 생성 kubectl apply : create와 replace의 혼합 deployment : stateless 형태의 파드 생성 * stateless : 상태나 세션을 저장해 둘 필요가 없는 애플리케이션에 사용 stateful : 상태나 세션을 별도의 데이터베이스에 저장해야 하는 애플리케이션에 사용 my-httpd : deployment 이름 --image=httpd : 파드를 생성하는데 사용되는 이미지 --replicas=1 : running 상태를 유지할 파드 개수 --port=80 : 파드에 접근할 때 사용할 포드 번호 READY : 레플리카의 개수 UP-TO-DATE : 최신 상태로 업데이트된 레플리카의 개수 AVAIL..
쿠버네티스 설치 쿠버네티스 설치전 기본 세팅 1. selinux 비활성화 현재 selinux를 pemissive로 바꾸고 재부팅 후에도 비활성화 되도록 설정 파일 변경 2. 방화벽 비활성화 3. swap 메모리 비활성화 재부팅 후에도 swap 메모리가 비활성화 되도록 오토 마운트 설정 벼녕 4. iptalbes 커널 설정 5. hosts 설정 6. 패키지 업데이트 yum -y update 쿠버네티스 설치 1. docker 설치 2. Cgroup Driver 설정 쿠버네티스에서 도커의 cgroup 관리를 위해 systemd를 사용하도록 변경해야 한다 변경하지 않을 시 클러스터 설치 과정에서 오류가 발생할 수 있다 3. 쿠버네티스 리포지토리 추가 4. 쿠버네티스 패키지 설치 kublet : 파드 및 컨테이너의 생성, 실행 ..
쿠버네티스의 이해 쿠버네티스(Kubernates) - 컨테이너 기반의 애플리케이션을 개발하고 배포할 수 있도록 설계된 오픈 소스 플랫폼 - 기본적으로 1대의 마스터 노드와 워커 노드로 구성됨 - 서비스 중단 없이 애플리케이션을 업그레이드할 수 있어서 안정적으로 서비스를 제공할 수 있음 - 오픈 소스로 특정 클라우드 벤더에 종속되어 있지 않고 다른 제품과의 호환성이 뛰어남 - 파드가 사용할 수 있는 컴퓨팅 리소스(CPU, 메모리 등)을 사전에 지정할 수 있어서 노드의 전체 자원을 관리할 수 있음 - 자원 사용률에 따라 파드의 개수를 늘리거나 줄이는게 가능 - 개발자가 인프라에 대한 정보 없이도 컨테이너화된 애플리케이션을 쉽게 배포하는 것이 가능 ● 파드 : 쿠버네티스의 가장 기본적인 배포 단위, 휘발성으로 삭제 시 파드 안..
쿠버네티스 시작 전 기본 개념 컨테이너 - 애플리케이션 및 서비스를 실행하는 데 필요한 모든 요소를 포함하는 소프트웨어 패키지 - 하드웨어 수준에서 가상화되는 일반적인 가상화 환경과 다르게 컨테이너는 운영 체제 수준에서 가상화 - 자원을 더 적게 사용하기 때문에 하나의 시스템에서 더 많은 애플리케이션을 구동하는 것이 가능 - 패치, 업데이트 등 유지 관리와 관련한 오버헤드가 줄어듬 컨테이너 런타임 - 컨테이너를 생성하고 실행할 수 있도록 도와주는 도구 - 대표적으로 컨테이너디, 도커, 크라이오가 있음 컨테이너 오케스트레이션 - 컨테이너를 효과적으로 관리하도록 도와주는 도구 - 여러 노드에 컨테이너를 분산해서 배치하거나 문제가 생긴 컨테이너를 교체하는 등의 역할을 함 - 대표적인 것이 쿠버네티스(Kubernetes)으로 컨테이너의 배포..