Kubernetes에서 Consul 네임스페이스 사용

Kubernetes에서 Consul 네임스페이스 사용 (Consul Namespaces on K8s)

Consul Enterprise 1.7+의 네임스페이스 기능을 Kubernetes 파드 등록에 어떻게 적용하는지 설명하는 문서예요. 파드가 등록될 Consul 네임스페이스를 제어할 수 있어요.

출처: 문서

본문

Consul Enterprise 1.7+는 Consul 네임스페이스를 지원해요. Kubernetes 파드가 Consul에 등록될 때, 어떤 Consul 네임스페이스에 등록할지 제어할 수 있어요.

세 가지 옵션이 있어요:

  1. 단일 대상 네임스페이스 (Single Destination Namespace) – 네임스페이스와 무관하게 모든 Kubernetes 파드를 동일한 Consul 네임스페이스에 등록해요. 이는 다음과 같이 구성할 수 있어요:
global:
  enableConsulNamespaces: true

connectInject:
  enabled: true
  consulNamespaces:
    consulDestinationNamespace: 'my-consul-ns'

참고: 대상 네임스페이스가 존재하지 않으면 생성할 거예요.

  1. 네임스페이스 미러링 (Mirror Namespaces) - 각 Kubernetes 파드를 그 Kubernetes 네임스페이스와 같은 이름의 Consul 네임스페이스에 등록해요. 예를 들어 Kubernetes 네임스페이스 ns-1의 파드 foo는 Consul 네임스페이스 ns-1로 동기화돼요. 미러링된 네임스페이스가 Consul에 존재하지 않으면 생성할 거예요. 이는 다음과 같이 구성할 수 있어요:
global:
  enableConsulNamespaces: true

connectInject:
  enabled: true
  consulNamespaces:
    mirroringK8S: true
  1. 접두사가 있는 네임스페이스 미러링 (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-'

더 알아보기 (Learn more)