Consul K8s CLI로 Kubernetes에 Consul 설치

Consul K8s CLI로 Kubernetes에 Consul 설치

이 주제에서는 Consul K8s CLI(consul-k8s)를 사용해 Kubernetes에 Consul을 설치하는 방법을 설명해요. 단일 클러스터를 배포할 때는 Consul K8s CLI를 사용하는 것이 좋아요.

출처: 문서

본문

이 주제에서는 Consul K8s CLI(consul-k8s)를 사용해 Kubernetes에 Consul을 설치하는 방법을 설명합니다. Consul K8s CLI를 사용하면 Kubernetes에서 Consul을 빠르게 설치하고 상호작용할 수 있습니다. 단일 클러스터를 배포하는 경우 Consul K8s CLI 도구를 사용해 Kubernetes에 Consul을 설치하세요.

크로스 파티션 또는 크로스 데이터센터 통신을 포함하는 멀티 클러스터 배포의 경우 Kubernetes에 Consul을 설치할 때 Helm chart 설치 방법을 사용하는 것이 좋습니다.

요구 사항 (Requirements)

consul-k8s로 Kubernetes에 Consul을 설치하려면 다음 요구 사항을 충족해야 합니다.

  • Consul을 설치할 Kubernetes 클러스터를 가리키도록 구성된 kubectl
  • 로컬 머신에 설치된 consul-k8s. 지침은 Consul on Kubernetes CLI reference를 참조하세요.
    • 참고: Consul on Kubernetes 배포에 맞는 올바른 버전의 CLI를 설치해야 합니다. 이전 버전의 Consul on Kubernetes를 배포하려면 배포하려는 컨트롤 플레인의 버전과 일치하는 특정 버전의 CLI를 다운로드하세요. 자세한 내용은 호환성 매트릭스를 참조하세요.

Kubernetes에 Consul 설치

기존 Kubernetes 클러스터에 Consul을 설치하려면 install 하위 명령을 실행하세요. 추가 옵션을 포함하지 않으면 consul-k8s CLI는 Consul Helm chart 값의 기본 설정으로 Kubernetes에 Consul을 설치합니다.

Consul 설치를 구성하기 위해 옵션을 지정할 수 있습니다. 예를 들어 사전 설치 검사가 통과하면 설치를 진행하도록 -auto-approve 옵션을 true로 설정할 수 있습니다. 모든 명령과 사용 가능한 옵션에 대한 자세한 내용은 Consul K8s CLI reference를 참조하세요.

다음 예시는 서비스 메시와 CRD를 활성화한 상태로 Kubernetes에 Consul을 설치합니다.

$ consul-k8s install 
==> Pre-Install Checks
No existing installations found.
 ✓ No previous persistent volume claims found
 ✓ No previous secrets found
==> Consul Installation Summary
   Installation name: consul
   Namespace: consul
   Overrides:
   connectInject:
      enabled: true

   Proceed with installation? (y/N) y

==> Running Installation
   ✓ Downloaded charts
--> creating 1 resource(s)
--> creating 45 resource(s)
--> beginning wait for 45 resources with timeout of 10m0s
   ✓ Consul installed into namespace "consul"

기존 PersistentVolumeClaims(PVC)가 감지되면 사전 설치 검사가 실패할 수 있습니다. PVC 제거에 대한 정보는 uninstall 지침을 참조하세요.

사용자 지정 설치 (Custom installation)

기본 Helm chart 설치를 덮어쓰는 매개변수를 지정하는 values 파일을 만들 수 있습니다. 구성을 구현하려면 -f를 추가하고 values 파일을 지정하세요. 예:

$ consul-k8s install -f values.yaml

참고

기본 consul과 다른 K8s 네임스페이스에서 Consul을 배포하거나 업그레이드할 때 오류가 발생하면 다음 기술적 제약 목록을 참조하세요.

  • Consul은 자동으로 대상 K8s 네임스페이스를 감지할 수 없으므로, Helm 또는 consul-k8s 도구의 매개변수에 -namespace로 명시적으로 나열해야 합니다.
  • Consul은 대상 K8s 네임스페이스를 connectInjector.k8sAllowNamspaces Helm chart 값에 추가해야 합니다. 자세한 내용은 Consul Helm chart reference에서 이 특정 설정을 참조하세요.

OpenShift 클러스터에 Consul 설치

Red Hat OpenShift는 보안에 민감하고 의견이 반영된(opinionated) Kubernetes 래퍼입니다. OpenShift 관리 Kubernetes에 Consul을 설치하려면 custom installation values 파일에 global.openshift.enabled=true를 설정하세요.

global:
  openshift:
    enabled: true

추가 정보는 Helm chart reference의 openshift를 참조하세요.

Consul 클러스터 상태 확인

설치된 Consul 클러스터의 상태를 보려면 consul-k8s status 명령을 실행하세요.

$ consul-k8s status

==> Consul-K8s Status Summary
   NAME  | NAMESPACE |  STATUS  | CHARTVERSION | APPVERSION | REVISION |      LAST UPDATED
---------+-----------+----------+--------------+------------+----------+--------------------------
   consul | consul    | deployed | 0.40.0       | 1.14.0     |        1 | 2022/01/31 16:58:51 PST

✓ Consul servers healthy (3/3)
✓ Consul clients healthy (3/3)

더 알아보기 (Learn more)