쿠버네티스 스토리지
·
Docker
파드에서 데이터를 안정적으로 저장하는 방식hostPath클라우드 서비스 방식1. FTP Server 구축1-1) NFS 패키지 다운 및 설치설치yum -y install nfs-utils rpcbind
systemctl start rpcbind
systemctl start nfs-server
systemctl start rpc-statd
systemctl enable rpcbind
systemctl enable nfs-server확인systemctl status nfs-server1-2) 공유 폴더 생성 및 설정공유 폴더 생성mkdir /share-data
chmod 777 /share-datavi /etc/export..
[쿠버네티스] Node Scheduling
·
Docker
nodeName nodeName은 어피니티 또는 nodeSelector보다 더 직접적인 형태의 노드 선택 방법이다. nodeName은 파드 스펙의 필드 중 하나이다. nodeName 필드가 비어 있지 않으면, 스케줄러는 파드를 무시하고, 명명된 노드의 kubelet이 해당 파드를 자기 노드에 배치하려고 시도한다. nodeName은 nodeSelector 또는 어피니티/안티-어피니티 규칙보다 우선적으로 적용(overrule)된다. nodeName을 사용해서 노드를 선택할 때의 몇 가지 제한은 다음과 같다. 만약 명명된 노드가 없으면, 파드가 실행되지 않고 따라서 자동으로 삭제될 수 있다. 만약 명명된 노드에 파드를 수용할 수 있는 리소스가 없는 경우 파드가 실패하고, 그 이유는 다음과 같이 표시된다. 예:..
[쿠버네티스] Qos 클래스-Guaranteed, Burstable, BestEffort
·
Docker
QoS 클래스 Why? Node에 Pod가 3개 있고 균등하게 자원 배분을 하고 있다고 가정 Pod 1에서 추가적으로 리소스를 더 사용해야 하는 상황 -> App의 중요도에 따라 다른 Pod를 다운시키고 할당시키기 위해 쿠버네티스는 Qos 클래스 지원 QoS 클래스 종류 쿠버네티스가 파드를 생성할 때, 파드에 다음의 QoS 클래스 중 하나를 할당한다. Guaranteed Burstable ( 두 번째로 다운) BestEffort (제일 먼저 다운) Guaranteed QoS 클래스가 할당되는 파드 생성 파드에 Guaranteed QoS 클래스 할당을 위한 전제 조건은 다음과 같다. 파드 내 모든 컨테이너는 메모리 상한과 메모리 요청량을 가지고 있어야 한다. 파드 내 모든 컨테이너의 메모리 상한이 메모리 ..
[쿠버네티스] livenessProbe, readinessProbe
·
Docker
Probe 프로브 종류 kubelet은 실행 중인 컨테이너들에 대해서 선택적으로 세 가지 종류의 프로브를 수행하고 그에 반응할 수 있다. livenessProbe 컨테이너가 동작 중인지 여부를 나타낸다. 만약 활성 프로브(liveness probe)에 실패한다면, kubelet은 컨테이너를 죽이고, 해당 컨테이너는 재시작 정책의 대상이 된다. 만약 컨테이너가 활성 프로브를 제공하지 않는 경우, 기본 상태는 Success 이다. readinessProbe 컨테이너가 요청을 처리할 준비가 되었는지 여부를 나타낸다. 만약 준비성 프로브(readiness probe)가 실패한다면, 엔드포인트 컨트롤러는 파드에 연관된 모든 서비스들의 엔드포인트에서 파드의 IP주소를 제거한다. 준비성 프로브의 초기 지연 이전의 기..
[쿠버네티스] POD Lifecycle
·
Docker
POD Lifecycle POD의 LifeCycle은 다음과 같다. LIfecycle의 특징은 각 단계마다 행동이 다르다. POD를 생성한 후 Pod의 status 필드는 phase 필드를 포함하는 PodStatus 오브젝트로 정의된다. Pending 파드가 쿠버네티스 클러스터에서 승인되었지만, 하나 이상의 컨테이너가 설정되지 않았고 실행할 준비가 되지 않았다. 여기에는 파드가 스케줄되기 이전까지의 시간 뿐만 아니라 네트워크를 통한 컨테이너 이미지 다운로드 시간도 포함된다. Running 파드가 노드에 바인딩되었고, 모든 컨테이너가 생성되었다. 적어도 하나의 컨테이너가 아직 실행 중이거나, 시작 또는 재시작 중에 있다. Succeeded 파드에 있는 모든 컨테이너들이 성공적으로 종료되었고, 재시작되지 않..
12 Factor App
·
Docker
12 Factor App이란? 최근 소프트웨어를 서비스 형태로 제공하는 게 일반화되면서, 웹앱 혹은 SaaS(Software As A Service)라고 부르게 되었다. Twelve-Factor app은 아래 특징을 가진 SaaS 앱을 만들기 위한 방법론이다. 설정 자동화를 위한 절차(declarative) 를 체계화 하여 새로운 개발자가 프로젝트에 참여하는데 드는 시간과 비용을 최소화한다. OS에 따라 달라지는 부분을 명확히하고, 실행 환경 사이의 이식성을 극대화 한다. 최근 등장한 클라우드 플랫폼 배포에 적합하고, 서버와 시스템의 관리가 필요없게 된다. 개발 환경과 운영 환경의 차이를 최소화하고 민첩성을 극대화하기 위해 지속적인 배포가 가능하다. 툴, 아키텍처, 개발 방식을 크게 바꾸지 않고 확장(s..