안티어피니티

    Pod Anti-Affinity를 사용한 Kubernetes pod Multi-AZ 배포

    Intro AWS에서는 아래 그림과같이 여러개의 zone을 사용하여 HA구성을 할 수 있습니다. 관리형 쿠버네티스 서비스인 AWS EKS를 구성할때도 다중 AZ로 Node를 구성할 수 있습니다. 그러면 이렇게 노드가 여러개의 AZ로 구성되어있을 경우 pod가 다중 AZ로 배포되도록 스케줄링하려면 어떻게 해야할까요? 오늘은 그 이야기를 해보고자 합니다. kuberntes의 기본 스케줄링 알고리즘 kubernetes 스케줄러는 기본적으로 scoring 알고리즘을 사용합니다. 이는 컨테이너에 필요한 리소스(CPU,RAM)에 적합한 노드를 자동으로 판단하여 스케줄링 할 수 있도록 합니다. 따라서 기본적으로 kubernetes스케줄러는 노드의 부하(load)에 따라서 pod를 분산하며 다중 AZ에 고르게 분산되지..