해당 내용은 Udemy의 Certified Kubernetes Administrator (CKA) with Practice Tests 강의를 공부한 내용입니다. 내용을 그대로 번역하기보다는, 제가 이해하기 쉬운 대로 수정한 부분들이 있습니다.
⚠️ 영어 독해가 많이 부족합니다. 틀린 내용이 있으면 알려주시면 감사하겠습니다.
이 강의에서는 IP address management에 대해 논의합니다. 그렇다면 IP address management와 Kubernetes는 어떻게 작동할까요? 이 섹션에서는 네트워크의 노드에 할당된 IP 주소에 대해 설명하지 않습니다. 자체적으로 또는 외부 IPAM 솔루션을 사용하여 이를 관리할 수 있습니다.
이 섹션에서는 노드의 가상 브리지 네트워크에 IP 서브넷을 할당하는 방법과 파드에 IP를 할당하는 방법에 대해 설명합니다. 이 정보는 어디에 저장됩니까? 그리고 누가 중복된 IP가 할당되지 않았는지 확인할 책임이 있을까요?
"누가?"부터 시작하겠습니다. CNI가 표준을 정의하므로 CNI에게 물어봅시다. CNI는 컨테이너에 IP를 할당하는 것은 네트워크 솔루션 제공업체인 CNI 플러그인의 책임이라고 말합니다. 우리가 이전에 만든 basic 플러그인을 기억하시나요? 우리는 실제로 이 플러그인 내에서 IP 주소 할당을 담당했습니다. 컨테이너 네트워크 네임스페이스에 IP를 할당하는 섹션이 있습니다.
그러나 이러한 IP를 어떻게 관리해야 할까요? 이제, 쿠버네티스는 우리가 어떻게 하는지 신경쓰지 않습니다. 중복된 IP를 할당하지 않고 제대로 관리하는 방식으로 진행하면 됩니다. IP 목록을 파일에 저장하고 이 파일을 제대로 관리하는 데 필요한 코드가 스크립트에 있는지 확인하는 것이 쉬운 방법입니다. 이 파일은 각 호스트에 배치되고 해당 노드의 부품 IP를 관리합니다. 우리의 스크립트에서 직접 코딩하는 대신, CNI에는 이 작업을 아웃소싱할 수 있는 두 개의 플러그인이 builtin되어 있습니다. 이 경우 각 호스트의 IP 주소를 로컬로 관리하기 위해 수행한 방식을 구현하는 플러그인이 호스트 로컬 플러그인입니다. 그러나 스크립트에서 플러그인을 호출하는 것은 여전히 우리의 책임입니다. 그렇지 않으면 스크립트를 동적으로 만들어 다양한 종류의 플러그인을 지원할 수 있습니다.
CNI configuration 파일에는 사용할 플러그인 유형, 서브넷 및 경로를 지정할 수 있는 IPAM이라는 섹션이 있습니다. 이러한 세부 정보는 매번 호스트 로컬을 사용하도록 하드 코딩하는 대신 적절한 플러그인을 호출하기 위해 스크립트에서 읽을 수 있습니다. 네트워크 솔루션 공급자에 따라 이를 다르게 수행합니다.
Weaveworks가 IP 주소를 어떻게 관리하는지 알아봅시다. 이전 연습 테스트에서 Weave가 할당한 IP 중 일부를 본 적이 있습니다. default로 Weave는 전체 네트워크에 대해 IP 범위 10.32.0.0/12를 할당합니다. 네트워크 IP 범위는 10.32.0.1 ~ 10.47.255.254입니다. 네트워크의 파드에 사용할 수 있는 IP는 약 백만 개입니다. 이 범위에서 peers는 IP 주소를 동일하게 분할하기로 결정하고 각 노드에 한 부분을 할당합니다. 이 노드에서 생성된 파드는 이 범위의 IP를 가집니다. 물론 이러한 범위는 Weave 플러그인을 클러스터에 배포하는 동안 이전의 추가 옵션으로 구성할 수 있습니다.
'MLOps > Doker & Kubernetes' 카테고리의 다른 글
Udemy CKA 강의 정리 222: DNS in kubernetes (0) | 2023.01.25 |
---|---|
Udemy CKA 강의 정리 219: Service-Networking (0) | 2023.01.25 |
Udemy CKA 강의 정리 211: CNI weave (1) | 2023.01.25 |
Udemy CKA 강의 정리 210: CNI in Kubernetes (0) | 2023.01.25 |
Udemy CKA 강의 정리 209: Pod Networking (0) | 2023.01.24 |
댓글