Scheduling4 Kubernetes::스케쥴링 (Scheduling) - 정적 파드 정적 파드 (Static Pods) 정적 파드는 특정 노드의 kubelet 데몬에서 직접 관리한다. kubelet은 각 정적 파드를 감시하고 실패하면 다시 시작한다. 정적 포드는 항상 하나의 특정 노드에서 바인딩된다. 파드 이름에는 앞에 하이픈이 있는 노드 호스트 이름이 접미사로 붙는다. 정적 파드 (Static Pods) 생성 방법 정적인 파드를 생성할 node에 접속 $ ssh node01 nginx 정적인 파드 node01에 생성 $ cat > /etc/kubernetes/manifests/static-web.yaml apiVersion: v1 kind: Pod metadata: name: static-web labels: role: myrole spec: containers: - name: web.. 2023. 12. 19. Kubernetes::스케쥴링 (Scheduling) - 데몬셋 데몬셋 (Daemon Sets) 개요 클러스터 전체 노드에 특정 파드를 실행할 때 사용하는 컨트롤러이다. 간략히 말해 각 노드에 항상 떠있는 데몬을 이야기한다. DaemonSet는 모든(또는 일부) 노드가 Pod의 복사본을 실행하도록 한다. 노드가 클러스터에 추가되면 Pod가 여기에 추가된다. 클러스터에서 노드가 제거되면 해당 포드는 가비지 수집된다. DaemonSet를 삭제하면 생성된 Pod가 자동적으로 삭제된다. 용도 다음과 같은 용도로 사용할 수 있다. 모든 노드에서 클러스터 저장소 데몬 실행 모든 노드에서 로그 수집 데몬 실행 모든 노드에서 노드 모니터링 데몬 실행 시나리오 Deamonset 생성 $ cat > daemonset.yaml apiVersion: apps/v1 kind: DaemonS.. 2023. 12. 19. Kubernetes::스케쥴링 (Scheduling) - Resource Limit Resource Limit 노드에서 사용할 수 있는 리소스가 충분하지 않은 경우 kubernetes는 pod 예약을 유지하고 Pending 상태가 된다. Describe로 조회를 해보면 어떤 리소스가 부족한지 이유를 알 수 있다. Resource Requirements 파드 내의 컨테이너에 0.5 CPU 및 256Mi 메모리가 필요하다고 가정하자. 이를 컨테이너에 대한 리소스 요청이라고 한다. 파드 내의 애플리케이션에 기본 리소스보다 더 많은 리소스가 필요한 경우 파드 정의 파일에서 설정해야 한다. apiVersion: v1 kind: Pod metadata: name: simple-webapp-color labels: name: simple-webapp-color spec: containers: - n.. 2023. 12. 19. Kubernetes::스케쥴링 (Scheduling) 수동 스케쥴링 (Manual Scheduling) 클러스터에 스케줄러가 없을 때 수동으로 처리하는 방법이다. POD에는 기본적으로 설정되지 않은 NodeName이라는 필드가 있는데 이 필드를 설정하여 수동으로 스케쥴링 하는 방법이다. apiVersion: v1 kind: Pod metadata: name: nginx labels: name: nginx spec: containers: - name: nginx image: nginx ports: - containerPort: 8080 nodeName: node02 또 다른 방법 apiVersion: v1 kind: Binding metadata: name: nginx target: apiVersion: v1 kind: Node name: node02 api.. 2023. 12. 19. 이전 1 다음 728x90 반응형