Kubernetes에서 Consul 네임스페이스 사용
Kubernetes에서 Consul 네임스페이스 사용 (Consul Namespaces on K8s)
Consul Enterprise 1.7+의 네임스페이스 기능을 Kubernetes 파드 등록에 어떻게 적용하는지 설명하는 문서예요. 파드가 등록될 Consul 네임스페이스를 제어할 수 있어요.
출처: 문서
본문
Consul Enterprise 1.7+는 Consul 네임스페이스를 지원해요. Kubernetes 파드가 Consul에 등록될 때, 어떤 Consul 네임스페이스에 등록할지 제어할 수 있어요.
세 가지 옵션이 있어요:
- 단일 대상 네임스페이스 (Single Destination Namespace) – 네임스페이스와 무관하게 모든 Kubernetes 파드를 동일한 Consul 네임스페이스에 등록해요. 이는 다음과 같이 구성할 수 있어요:
global:
enableConsulNamespaces: true
connectInject:
enabled: true
consulNamespaces:
consulDestinationNamespace: 'my-consul-ns'
참고: 대상 네임스페이스가 존재하지 않으면 생성할 거예요.
- 네임스페이스 미러링 (Mirror Namespaces) - 각 Kubernetes 파드를 그 Kubernetes 네임스페이스와 같은 이름의 Consul 네임스페이스에 등록해요. 예를 들어 Kubernetes 네임스페이스
ns-1의 파드foo는 Consul 네임스페이스ns-1로 동기화돼요. 미러링된 네임스페이스가 Consul에 존재하지 않으면 생성할 거예요. 이는 다음과 같이 구성할 수 있어요:
global:
enableConsulNamespaces: true
connectInject:
enabled: true
consulNamespaces:
mirroringK8S: true
- 접두사가 있는 네임스페이스 미러링 (Mirror Namespaces With Prefix) - 각 Kubernetes 파드를 그 Kubernetes 네임스페이스와 같은 이름 에 접두사를 더한 이름의 Consul 네임스페이스에 등록해요. 예를 들어 접두사
k8s-가 주어지면 Kubernetes 네임스페이스ns-1의 파드foo는 Consul 네임스페이스k8s-ns-1로 동기화돼요. 이는 다음과 같이 구성할 수 있어요:
global:
enableConsulNamespaces: true
connectInject:
enabled: true
consulNamespaces:
mirroringK8S: true
mirroringK8SPrefix: 'k8s-'