Kubernetes에서 Consul
Kubernetes에서 Consul (Consul on Kubernetes)
Consul은 Kubernetes와 많은 통합을 제공해요. Helm 차트 또는 Consul K8s CLI로 Kubernetes에 Consul을 배포하고, Consul과 Kubernetes 간에 서비스를 동기화하고, Consul 서비스 메시를 실행하는 등의 작업을 할 수 있어요. 이 섹션은 Consul과 Kubernetes 간의 공식 통합을 문서화해요.
출처: 문서
본문
Consul은 Kubernetes와 많은 통합을 제공합니다. Helm 차트 또는 Consul K8s CLI로 Kubernetes에 Consul을 배포하고, Consul과 Kubernetes 간에 서비스를 동기화하고, Consul 서비스 메시를 실행하는 등의 작업을 할 수 있습니다. 이 섹션은 Consul과 Kubernetes 간의 공식 통합을 문서화합니다.
사용 사례 (Use Cases)
Consul 서비스 메시: Consul은 포드가 상호 TLS로 암호화되고 인가된 네트워크 연결을 수락하고 설정할 수 있도록 Consul Service Mesh 사이드카를 포드에 자동으로 주입할 수 있습니다. 그리고 Consul Service Mesh는 어디서나 실행될 수 있으므로 포드와 외부 서비스는 완전히 암호화된 연결을 통해 서로 통신할 수 있습니다.
Kubernetes 및 비-Kubernetes 서비스가 통신할 수 있게 하는 서비스 동기화: Consul은 Kubernetes 서비스를 자체 서비스 레지스트리와 동기화할 수 있습니다. 이 서비스 동기화를 통해 Kubernetes 서비스는 Kubernetes의 네이티브 서비스 검색 기능을 사용하여 Consul에 등록된 외부 서비스를 발견하고 연결할 수 있으며, 외부 서비스는 Consul 서비스 검색을 사용하여 Kubernetes 서비스를 발견하고 연결할 수 있습니다.
추가 통합: Consul은 Kubernetes에서 직접 실행될 수 있으므로 Consul 자체가 제공하는 네이티브 통합 외에도 Kubernetes용으로 구축된 다른 도구도 Consul을 활용할 수 있습니다.
버전 호환성 (Version compatibility)
다음 표는 세 주요 클라우드 제공자의 Kubernetes 버전과 함께 테스트된 현재 지원되는 Consul 버전을 나열합니다.
| Consul version | K8s versions | AKS | EKS | GKE | Consul Lifecycle Status |
|---|---|---|---|---|---|
| 2.0.x | 1.33.x / 1.34.x / 1.35.x | 1.33.x / 1.34.x / 1.35.x | 1.33.x / 1.34.x / 1.35.x | 1.31.x / 1.32.x / 1.33.x / 1.34.x / 1.35.x | Supported |
| 1.22.x | 1.34.x / 1.35.x | 1.34.x / 1.35.x | 1.34.x / 1.35.x | 1.34.x / 1.35.x | Supported |
| 1.21.x | 1.33.x / 1.35.x | 1.33.x / 1.35.x | 1.33.x / 1.35.x | 1.33.x / 1.35.x | Supported |
| 1.20.x | 1.30.x / 1.31.x / 1.32.x / 1.33.x | 1.30.x / 1.31.x / 1.32.x / 1.33.x | 1.30.x / 1.31.x / 1.32.x / 1.33.x | 1.30.x / 1.31.x / 1.32.x / 1.33.x | EOL |
| 1.19.x | 1.30.x / 1.31.x / 1.32.x / 1.33.x | 1.30.x / 1.31.x / 1.32.x / 1.33.x | 1.30.x / 1.31.x / 1.32.x / 1.33.x | 1.30.x / 1.31.x / 1.32.x / 1.33.x | EOL |
| 1.18.x | 1.30.x / 1.31.x / 1.32.x / 1.33.x | 1.30.x / 1.31.x / 1.32.x / 1.33.x | 1.30.x / 1.31.x / 1.32.x / 1.33.x | 1.30.x / 1.31.x / 1.32.x / 1.33.x | EOL |
다음 표는 Consul과 Kubernetes 버전 간의 일반적인 호환성을 설명합니다.
| Consul version | Compatible consul-k8s versions |
Compatible Kubernetes versions | Compatible OpenShift versions | Consul Lifecycle Status |
|---|---|---|---|---|
| 2.0.x | 2.0.x | 1.30.x - 1.35.x | 4.18, 4.19, 4.20, 4.21 | Supported |
| 1.22.x | 1.9.x | 1.30.x - 1.35.x | TBD | Supported |
| 1.21.x | 1.8.x / 1.7.x | 1.30.x - 1.35.x / 1.30.x - 1.33.x | 4.16.x - 4.18.x / 4.13.x - 4.15.x | Supported |
| 1.17.x | 1.3.x | 1.25.x - 1.28.x | 4.12.x - 4.15.x | EOL |
Consul 및 Kubernetes 시작하기 (Getting Started With Consul and Kubernetes)
다양한 환경에서 Consul을 Kubernetes와 함께 사용해 볼 수 있는 몇 가지 방법이 있습니다.
튜토리얼 (Tutorials)
- Getting Started with Consul Service Mesh 트랙은 Helm 차트를 사용하여 Kubernetes용 서비스 메시로 Consul을 설치하고, 서비스 메시에서 서비스를 배포하고, 의도(intentions)를 사용하여 서비스 통신을 보호하는 방법에 대한 지침을 제공합니다.
- Migrate to Microservices with Consul Service Mesh on Kubernetes 컬렉션은 가상 회사가 작성한 예제 애플리케이션을 사용하여 조직이 Kubernetes의 Consul 서비스 메시를 사용하여 모놀리스에서 마이크로서비스로 마이그레이션하는 이유와 방법을 설명합니다. 이 컬렉션의 사례 연구는 마이크로서비스 여정의 모든 단계에서 Consul을 활용하는 서비스를 개발하는 방법을 이해하는 데 유용한 정보를 제공합니다.
- Consul and Minikube 가이드는 로컬 Minikube 인스턴스에 공식 Helm 차트로 Consul을 배포하는 빠른 단계별 가이드입니다.
- 관리형 Kubernetes 런타임에서 Consul 배포를 위한 프로덕션 모범 사례 및 클라우드별 구성을 검토하세요.
- Consul on Azure Kubernetes Service (AKS) 튜토리얼은 AKS에 Consul을 배포하는 방법에 대한 완전한 단계별 가이드입니다. 이 가이드에서는 두 개의 마이크로서비스를 배포하는 연습도 할 수 있습니다.
- Consul on Amazon Elastic Kubernetes Service (EKS) 튜토리얼은 EKS에 Consul을 배포하는 방법에 대한 완전한 단계별 가이드입니다. 또한 Consul UI, CLI, API로 데이터센터와 상호 작용하는 방법에 대한 지침을 제공합니다.
- Consul on Google Kubernetes Engine (GKE) 튜토리얼은 GKE에 Consul을 배포하는 방법에 대한 완전한 단계별 가이드입니다. 또한 Consul UI, CLI, API로 데이터센터와 상호 작용하는 방법에 대한 지침을 제공합니다.
- Consul and Kubernetes Reference Architecture 가이드는 프로덕션을 위한 권장 사례를 제공합니다.
- Consul and Kubernetes Deployment 튜토리얼은 프로덕션에서 Kubernetes에 새 Consul 클러스터를 설치하고 구성하는 데 필요한 단계를 다룹니다.
- Secure Consul and Registered Services on Kubernetes 튜토리얼은 프로덕션에서 Kubernetes에서 실행되는 Consul 클러스터를 보호하는 데 필요한 단계를 다룹니다.
- Layer 7 Observability with Consul Service Mesh 튜토리얼은 Prometheus와 Grafana로 Kubernetes에서 실행되는 Consul 서비스 메시를 모니터링하는 방법을 다룹니다.
문서 (Documentation)
- Installing Consul은 Helm 차트를 사용하여 Consul을 설치하는 방법을 다룹니다.
- Helm Chart Reference는 Helm 차트를 구성하는 다양한 옵션을 설명합니다.