5장. Kubernetes 네트워킹 추상화
이 작품은 AI를 사용하여 번역되었습니다. 여러분의 피드백과 의견을 환영합니다: translation-feedback@oreilly.com
이전에는 네트워킹 기본 사항과 Kubernetes의 트래픽이 A에서 B로 이동하는 방법에 대해 다루었습니다. 이 장에서는 주로 서비스 검색과 로드 밸런싱을 중심으로 Kubernetes의 네트워킹 추상화에 대해 설명합니다. 특히 이 장에서는 서비스 및 인그레스에 대해 중점적으로 설명합니다. 두 리소스 모두 수많은 사용 사례를 해결하려고 시도하기 때문에 옵션이 많기 때문에 복잡하기로 악명이 높습니다. 이들은 Kubernetes에서 워크로드의 기본 네트워크 특성을 정의하기 때문에 Kubernetes 네트워크 스택에서 가장 눈에 잘 띄는 부분입니다. 개발자가 Kubernetes에 배포된 애플리케이션을 위해 네트워킹 스택과 상호 작용하는 곳입니다.
이 장에서는 Kubernetes 네트워킹 추상화의 기본 예제와 그 작동 방식에 대한 세부 사항을 다룬다. 따라하기 위해서는 다음 도구가 필요하다:
-
Docker
-
KIND
-
Linkerd
kubectl exec 및 명령어에 익숙해야 합니다. 익숙하지 않더라도 코드 리포지토리에 설명하는 모든 명령어가 있으므로 너무 걱정하지 마세요. Docker exec 2장과 3장의 ip 및 도 활용할 것입니다. 이러한 도구는 대부분 디버깅 및 구현 세부 정보를 표시하기 위한 것이므로 정상적인 작업 중에는 반드시 필요하지 않습니다. netns
Docker, KIND 및 Linkerd 설치는 각 사이트에서 확인할 수 있으며, 책의 코드 저장소에서도 자세한 정보를 제공하고 있습니다.
팁
kubectl 는 이 장의 예제에서 핵심 도구이며, 운영자가 클러스터 및 네트워크와 상호 작용하는 표준이다. kubectl create, apply, get,delete, exec 명령어에 익숙해야 합니다. 자세한 내용은 Kubernetes 설명서를 참조하거나 kubectl [command] --help 을 실행하세요.
이 장에서는 이러한 Kubernetes 네트워킹 추상화에 대해 살펴본다:
-
스테이트풀셋
-
엔드포인트
-
엔드포인트 슬라이스
-
-
서비스
-
NodePort
-
클러스터
-
헤드리스
-
외부
-
로드밸런서
-
-
인그레스
-
인그레스 컨트롤러
-
인그레스 규칙
-
-
서비스 메시
-
Linkerd
-
이러한 추상화를 살펴보기 위해 다음 단계에 따라 예제를 Kubernetes 클러스터에 배포하겠습니다:
-
인그레스가 활성화된 상태에서 KIND 클러스터를 배포합니다.
-
스테이트풀셋을 살펴보세요.
-
Kubernetes 서비스를 배포합니다.
-
인그레스 컨트롤러를 배포합니다.
-
링커드 서비스 메시를 배포합니다.
이러한 추상화는 개발자와 관리자가 클러스터 안팎의 통신 흐름을 프로그래밍 방식으로 제어할 수 있도록 Kubernetes API가 제공하는 기능의 핵심입니다. 이러한 추상화를 배포하는 방법을 이해하고 숙달하는 것은 클러스터 ...