네트워크/k8s47 [k8s] 23. Pod - Node Scheduling - 실습 Pod - Node Scheduling 실습 노드가 여러 개 있어야 좋은데, 여건상 2개의 노드로 실습 ㅠㅠ 1. Node Affinity 노드에 두 라벨을 만들고, 파드에 Node Affinity를 사용하여 노드1에 할당되도록 할 것 Pod - MatchExpressions apiVersion: v1 kind: Pod metadata: name: pod-match-expressions1 spec: affinity: nodeAffinity: requiredDuringSchedulingIgnoredDuringExecution: nodeSelectorTerms: - matchExpressions: - {key: kr, operator: Exists} containers: - name: container im.. 2021. 2. 17. [k8s] 22. Pod - Node Scheduling Node Scheduling 파드는 기본적으로 스캐줄러에 의해서 노드에 할당하지만, 사용자나 운영자가 직접 스캐줄할 수 있음 1. NodeName, NodeSelector, NodeAffinity --> Node 선택 파드를 특정 노드에 할당되도록 선택하기 위해 사용 노드들이 있고, 노드마다 가용한 CPU와 라벨이 있음 노드1-3은 한국에 있고, 4-5는 미국에 있음 이 때, 파드를 만들면 스캐줄러는 CPU 자원이 많은 노드1에 할당 NodeName: 스캐줄러와 상관없이 해당 노드의 이름으로 파드가 할당 실제로 잘 사용 안 함 NodeSelector: 파드의 키와 벨류를 달면, 해당 라벨이 달린 노드에 할당됨 여러 노드에 같은 키와 벨류를 가진 라벨이 있을 수 있어, 스캐줄러에 의해서 라벨이 달린 노드들.. 2021. 2. 17. [k8s] 21. Pod - QoS Classes Pod - QoS Classes 어떨 때 쓸까 노드에 리소스가 있음 노드 위에 파드가 세 개 있고 균등하게 자원 사용 중 이 상황에서 파드1이 추가적으로 자원을 사용해야 하는 상황이 생김 근데 자원이 없다고 에러가 나야하나 아니면 다른 파드를 희생시켜야 할까? 쿠버네티스는 앱의 중요도에 따라 이런걸 관리할 수 있도록 QoS Classes를 지원 BestEffort가 부여된 파드가 먼저 다운됨 --> 회수된 자원을 파드1이 사용 그 다음 파드2가 남은 자원보다 더 많은 자원을 요구할 때 Burstable이 다운되고 자원이 회수됨 어떻게 설정할까 컨테이너에 resources 설정이 있는데 requests와 limits에 따라 메모리와 CPU를 어떻게 설정하느냐에 따라 결정 Guaranteed 파드에 여러 컨.. 2021. 2. 17. [k8s] 20. Pod - ReadinessProbe, LivenessProbe - 실습 Pod - ReadinessProbe, LivenessProbe 1. ReadinessProbe 이 구성을 만들고, 외부에서 이 서비스에 계속 트래픽을 날릴 것 Service apiVersion: v1 kind: Service metadata: name: svc-readiness spec: selector: app: readiness ports: - port: 8080 targetPort: 8080 Pod apiVersion: v1 kind: Pod metadata: name: pod1 labels: app: readiness spec: containers: - name: container image: kubetm/app ports: - containerPort: 8080 terminationGraceP.. 2021. 2. 17. 이전 1 ··· 4 5 6 7 8 9 10 ··· 12 다음