Kubernetes에 Consul 서비스 메시 연결
Kubernetes에 Consul 서비스 메시 연결 (Consul on Kubernetes)
이 문서는 Kubernetes에서 사이드카 프록시를 배포해 여러분의 서비스가 Consul 서비스 메시에 연결되도록 하는 과정을 설명해요. Helm 차트로 Consul을 설치하면 서비스 메시가 기본 활성화되고, 원하는 워크로드에 사이드카 주입을 설정하는 방법도 함께 알아볼게요.
출처: 문서
본문
이 페이지는 Kubernetes에서 사이드카 프록시를 배포해 여러분의 서비스가 Consul 서비스 메시에 연결될 수 있도록 하는 과정을 설명합니다.
소개 (Introduction)
Consul Helm 차트를 사용해 Kubernetes에 Consul을 설치하면 Consul 서비스 메시가 기본으로 활성화됩니다. Consul은 또한 Envoy를 실행하는 클러스터의 파드에 사이드카를 자동으로 주입합니다. Consul 데이터플레인이라고 불리는 이 사이드카 프록시들은 Helm 차트에서 connectInject.default가 false로 설정되면 활성화됩니다.
워크플로 (Workflows)
Kubernetes에서 Consul 서비스 메시를 시작하려면 connect 인젝터를 활성화하고 구성하세요.
connectInject.default가 false로 설정되어 있거나 특정 배포에 대해 서비스 메시 사이드카 프록시 주입을 명시적으로 활성화하려면, 서비스를 메시에 연결할 때 파드 사양 템플릿에 consul.hashicorp.com/connect-inject 어노테이션을 추가하고 true로 설정하세요.
워크로드 구성에 도움이 되는 추가 구성 예제도 확인할 수 있습니다:
- 배포(deployment)로 실행되는 Kubernetes 파드
- 메시 활성화 서비스에 연결하기
- Kubernetes 잡 (Jobs)
- 여러 포트를 가진 Kubernetes 파드
- Consul 서비스 메시의 Kubernetes 서비스 업스트림
서비스 이름 (Service names)
서비스가 온보딩되면 Consul에 등록되는 이름은 파드와 연결된 Kubernetes 서비스의 이름으로 설정됩니다. consul.hashicorp.com/connect-service 어노테이션으로 서비스에 사용자 지정 이름을 지정할 수 있지만, ACL이 활성화되어 있다면 Consul에 등록된 서비스 이름은 파드의 ServiceAccount 이름과 일치해야 합니다.
투명 프록시 모드 (Transparent proxy mode)
기본적으로 Consul 서비스 메시는 투명 프록시 모드로 실행됩니다. 이 모드는 서비스가 모든 인터페이스에 바인딩되더라도 인바운드·아웃바운드 트래픽을 사이드카 프록시로 강제합니다. 투명 프록시는 Consul 서비스 의도(intentions)를 사용해 업스트림 서비스의 위치를 추론하며, 워크로드에 대해 평소처럼 Kubernetes DNS를 사용할 수도 있게 해 줍니다.
투명 프록시 모드를 활성화하면 모든 서비스 간 트래픽이 mTLS를 사용해야 합니다. 새 서비스를 서비스 메시에 온보딩할 때 네트워크에 mTLS와 비-mTLS 트래픽이 섞여 있어 서비스 간 통신이 끊어질 수 있습니다. 온보딩 과정에서 허용적(permissive) mTLS 모드를 일시적으로 활성화하면 아직 완전히 온보딩되지 않은 서비스의 트래픽을 기존 메시 서비스가 받아들일 수 있습니다. 허용적 mTLS는 사이드카 프록시가 mTLS와 비-mTLS 트래픽 모두에 접근할 수 있게 해 줍니다. 추가 정보는 투명 프록시 모드에서 메시 서비스 온보딩하기를 참조하세요.
다음 단계 (Next steps)
사이드카 프록시를 시작한 후에는 Consul 서비스 메시의 나머지 기능을 사용할 수 있습니다. 이제 Consul을 사용해 서비스 간 트래픽 관리와 서비스 메시 텔레메트리 관찰을 할 수 있습니다.
현재 서비스 메시는 아직 프로덕션 환경에 적합하지 않습니다. 외부 소스에서 서비스 메시로 들어오는 노스/사우스 접근을 보호하려면 Consul API 게이트웨이 배포를 진행하세요. 그런 다음 mTLS 인증서와 서비스 의도로 서비스 간 통신을 보호해야 합니다. 자세한 내용은 서비스 메시 보호를 참조하세요.