- Facts
: 배운것 - 쿠버네티스 소개 / 쿠버네티스 설치하기 - Findings
:
컨테이너
- 프로세스별로 자원을 격리해서 사용하는 cgroup과 특정 디렉터리로 권한을 제한하는 chroot 등에 디스크의 파일 변경 사항을 레이어 형태로 저장하는 파일 시스템을 합한것
- 호스트 운영 체제 위에 도커가 있고 바로 앱이 위치
- 구조상 레이어가 더 간단하므로 가상 머신보다 성능을 높이기 쉽다
- 앱을 배포하고 관리하기 더 편리
- 개발 환경에서 실행했던 컨테이너를 컨테이너 런타임만 있다면 실제 서버 어디에서든지 실행할 수 있기 때문에 컨테이너를 이용하면 개발 환경과 운영 환경의 차이 때문에 일너나는 장애를 막을 수 있다.
컨테이너 오케스트레이션 시스템
- 수동 제어 부분 모두를 자동화
- 클러스터 일부에 장애가 발생하면 장애가 발생한 서버에 있는 컨테이너들을 정상 운영 중인 다른 서버로 옮겨서 실행
- 장애가 발생한 서버로 향하는 트래픽도 자동으로 중지시키고 새로 옮기 컨테이너로 보냄
클러스터
- 여러 대의 서버를 묶어 시스템 하나로 구성하는 방식
쿠버네티스
- 컨테이너 오케스트레이션 시스템 보그를 오픈 소스 소프트웨어로 공개한 것
- 선언적 API : 컨테이너의 상태를 쿠버네티스에 설정하면 지속적으로 컨테이너의 상태를 확인하고 그 상태에 맞춤
특징 선언적 API 컨테이너의 상태를 쿠버네티스에 설정하면 지속적으로 컨테이너의 상태를 확인하고 그 상태에 맞춤
관리비용이 줄어들고 단순한 컴포넌트들의 구현
클러스터가 동작 중이라면 항상 원하는 상태로 자동 복구워크로드 분리 어디서나 실행 가능 커뮤니티
- kubespray : 상용 서비스에 적합한 보안성과 고가용성이 있는 쿠버네티스 클러스터를 배포하는 오픈 소스 프로젝트
온프레미스 환경에서 상용 서비스의 쿠버네티스 클러스터를 구성할 때 유용
- 헬스체크 : 서버에 일정한 간격으로 신호를 보내고 응답이 오는지 확인해 정상 가동 중인지 판단
쿠버네티스 클러스터 구성
- 마스터 노드 : 노드들의 상태를 관리하고 제어
- 워커 노드 : kubelet이라는 프로세스(에이전트)가 동작하며, 마스터 노드의 명령을 받아 사용자가 선언한 파드나 잡을 실제 실행
<수업 필기>
CPU : IBM PC(Intel / AMD 제조) - 멀티코어
RAM : 12G 이상 (12G미만일 경우는 VM개수 조정)
가상화소프트웨어 : VirtualBox로 통일 (Extension Pack)
Docker Desktop
- Windows 시스템에서 자동으로 컨테이너 동작 환경을 구성할 수 있음
- Hyper-V (윈도우 내장 가상화 기능) 활성화
참고: Vagrant 제어 명령어
- 각 VM의 이름으로 대상을 지정하거나, 지정하지 않을 경우 전체
vagrant up : 현재 vagrantfile 설정에 따른 vm 생성 및 시작
vagrant status : 현재 vagrantfile 설정에 따른 각 vm 상태 확인
vagrant suspend : 현재 VM의 상태를 저장
vagrant resume : suspend 상태에서 깨어나기
vagrant halt : 대상 VM을 종료 (graceful 한 종료)
vagrant destroy : 대상 VM을 완전 삭제
--force : 물어보지 않고 바로 삭제
vagrant ssh [대상] : 특정 대상에 대한 ssh 연결
vagrant snapshot save [스냅샷이름] : 스냅샷 이름을 사용하여 현재 VM 상태 저장
vagrant snapshot restore [스냅샷이름] : 지정한 스냅샷 상태로 시스템 복구
vagrant snapshot list : 현재 저장되어 있는 스냅샷 목록 확인
'GOORM' 카테고리의 다른 글
GOORM: Kubernetes-38 (0) | 2022.01.04 |
---|---|
GOORM: Kubernetes-37 (0) | 2021.12.31 |
GOORM: Kubernetes-35 (0) | 2021.12.25 |
GOORM: Kubernetes-34 (0) | 2021.12.25 |
GOORM: Kubernetes-33 (0) | 2021.12.25 |
댓글