안녕하세요, 쯀리입니다.
저번에 Udemy에서 풀어주는 Quiz들중 1강 Core Concept풀이를 공유해보았는데
오늘은 2강 Scheduling에서 Manual Scheduling에 대해 알아볼게요
https://beta.kodekloud.com/user/courses/udemy-labs-certified-kubernetes-administrator-with-practice-tests
Scheduling이란?
Kubernetes에서 Scheduling이란 클러스터 내의 여러 노드 중에서 어느 노드에 Pod를 배치할지 결정하는 과정을 말합니다. 이 과정은 Kubernetes 스케줄러에 의해 자동으로 관리됩니다. 스케줄러는 클러스터의 상태와 사용자의 요구사항을 고려하여 적절한 노드를 선택합니다.
아래는 간단한 예시입니다. Pod가 특정 라벨을 가진 노드에만 배포되도록 하는 경우입니다:
apiVersion: v1
kind: Pod
metadata:
name: mypod
spec:
containers:
- name: mycontainer
image: nginx
nodeSelector:
disktype: ssd
위 예제에서 nodeSelector는 disktype=ssd 라벨을 가진 노드에만 Pod가 배포되도록 합니다.
Manual Scheduling
1. A pod definition file nginx.yaml is given. Create a pod using the file.
apiVersion: v1
kind: Pod
metadata:
name: nginx
spec:
containers:
- image: nginx
name: nginx
kubectl apply -f nginx.yaml
2. What is the status of the created POD?
=> Pending 상태이네요
3. Why is the POD in a pending state?
Inspect the environment for various kubernetes control plane components.
scheduler가 pod의 상태를 관리합니다.
nginx의 상태를 보면 Node 가 설정되어있지 않습니다.
Schedule을 살펴볼게요 : schedule은 kube-system이라는 namespace에 설정되어있습니다.
kubectl get pods -n kube-system
nginx라는 파드가 스케쥴되어있지 않기 때문에
답은 : No Scheduler Present
4. Manually schedule the pod on node01.
Delete and recreate the POD if necessary.
yaml을 수정하고 nodeName에 node01을 지정해줍니다.
---
apiVersion: v1
kind: Pod
metadata:
name: nginx
spec:
containers:
- image: nginx
name: nginx
nodeName: node01
다시 실행해줄게요. Node가 변경된 것을 볼 수 있습니다.,
5. Now schedule the same pod on the controlplane node.
동일하게 yaml을 수정해주면 되겠죠?
오늘 K8s의 scheduling에 관해 알아보았습니다.
Kubernetes 클러스터 내의 리소스를 더 효율적으로 관리하고 원하는 대로 조직화 할 수 있는 방법이 있습니다.
바로 Labels and Selectors인데 다음시간에 알아볼게요!
참조
※ Udemy Labs - Certified Kubernetes Administrator with Practice Tests
'IT 잡지식 > DevOps' 카테고리의 다른 글
[CKA] KodeKloud -Taints and Tolerations (0) | 2024.06.08 |
---|---|
[CKA] KodeKloud - Labels and Selectors (0) | 2024.06.03 |
[CKA] KodeKloud - CoreConcept Deployments와 Namespaces (0) | 2024.05.27 |
[CKA] KodeKloud - CoreConcept PODs와 ReplicaSets (0) | 2024.05.23 |
[CKA] Kubernetes 개념2 (Replication ControllersVS Replica Set) (0) | 2024.04.02 |