Page 41 -
P. 41

그림 19-2 kube-apiserver의 동작
                      쿠버네티스 API에 등록된 리소스
                      (etcd에 저장됨)
                                                       개발자        $ kubectl apply -f sample-pod.yaml
                       apiVersion: v1
                       kind: Pod                                     apiVersion: v1
                       metadata:                                     kind: Pod
                         name: sample-pod                            metadata:
                       spec:                                           name: sample-pod
                         nodeName: ""                                spec:
                         containers:                                   containers:
                         - name: nginx-container                       - name: nginx-container
                           image: nginx:1.16         로드 밸런서              image: nginx:1.16






                                        데이터 스토어로
                                           사용
                                                   kube-apiserver


                    kube-scheduler는 이 kube-apiserver에 등록된 파드 리소스를 기동하는 노드 정보(spec.
                    nodeName) 부분을 kube-apiserver에 요청을 보내 수정함으로써 스케줄링한다(그림 19-3).
                    kube-scheduler가 실행하는 것은 여기까지이고, 실제 노드에 파드를 기동하는 처리는 kubelet

                    이 하게 된다.

                       그림 19-3 kube-scheduler의 동작
                      쿠버네티스 API에 등록된 리소스
                      (etcd에 저장됨)                                    리더                              19


                       apiVersion: v1
                       kind: Pod
                       metadata:
                         name: sample-pod                                                             쿠버네티스 아키텍처의 이해
                                                                     kube-scheduler
                       spec:
                                                          파드 스케줄링
                         nodeName: ""
                         containers:
                         - name: nginx-container                    sample-pod의 spec.nodeName이
                           image: nginx:1.16         로드 밸런서         할당되지 않은 sample-pod의
                                                                    배포 노드 검토
                                                                    → 노드A로 결정


                                        데이터 스토어로
                                           사용
                                                   kube-apiserver






                                                                                                  795





     쿠버네티스_04.indd   795                                                                     2021-07-20   오후 1:34:56
   36   37   38   39   40   41   42   43   44   45