아이덴티티
아이덴티티 (Identity)
데이터센터에서 Consul은 이름은 다르지만 그 외에는 동일한 여러 노드에 있는 에이전트, 구성, 서비스를 연결하기 위해 아이덴티티 를 사용해요. Consul이 아이덴티티를 어떻게 결정하고, 클러스터 운영과 서비스 네트워킹에 어떻게 사용하는지 이해하는 것이 중요해요.
출처: 문서
본문
데이터센터에서 Consul은 이름은 다르지만 그 외에는 동일한 여러 노드에 있는 에이전트, 구성, 서비스를 연결하기 위해 아이덴티티 를 사용합니다. Consul이 아이덴티티를 어떻게 결정하고, 클러스터 운영과 서비스 네트워킹에 어떻게 사용하는지 이해하는 것이 중요합니다.
개요 (Overview)
Consul에는 세 가지 주요 구성 파일 범주가 있습니다:
- 에이전트 구성 파일 (Agent configuration files)
- 서비스 정의 파일 (Service definition files)
- 구성 항목 파일 (Configuration entry files)
에이전트 구성 파일, 서비스 정의, 구성 항목 등 Consul에서 어떤 구성을 만들든 Consul에 객체의 아이덴티티를 명시적으로 정의하게 됩니다.
간단하고 설명적이며 고유한 이름을 권장합니다. 명명 규칙에는 하이픈(-) 또는 snakeCase를 사용하세요. 공백, 밑줄, 마침표는 사용하지 마세요. 이러한 문자는 Consul DNS를 방해할 수 있습니다.
기본적으로 Consul은 각 데이터센터에 대한 아이덴티티를 기록합니다. WAN 페더레이션 및 클러스터 피어링과 같은 서비스 네트워크를 east/west로 확장하는 전략을 사용하면 Consul 데이터센터 전반에 서비스 아이덴티티를 사용할 수 있습니다. Consul Enterprise에는 단일 데이터센터 내에서 서비스 및 구성 아이덴티티를 관리하는 데 도움이 되는 admin 파티션과 namespace와 같은 멀티 테넌시 관리 기능도 포함되어 있습니다.
에이전트 아이덴티티 (Agent identity)
에이전트의 경우 datacenter 매개변수가 클러스터의 아이덴티티를 지정합니다. 지정하지 않으면 기본적으로 Consul은 dc1 이름을 할당합니다. 에이전트는 자신의 datacenter 이름과 일치하는 클러스터에만 참여합니다. 이렇게 하면 에이전트가 실수로 잘못된 클러스터에 참여하는 것을 방지합니다.
에이전트에 대한 사용자 지정 도메인을 지정할 수도 있습니다. 기본적으로 모든 Consul 에이전트의 도메인은 consul입니다. 고급 네트워킹 요구 사항이 있는 플랫폼 엔지니어가 아니라면 기본 도메인을 사용하는 것을 권장합니다.
선택적으로 Consul 카탈로그에 표시되는 에이전트에 대한 사용자 지정 node_name을 설정할 수도 있습니다.
서비스 아이덴티티 (Service identity)
Consul은 서비스 아이덴티티 덕분에 시스템 런타임과 클라우드 제공자 전반에 걸쳐 서비스를 연결할 수 있습니다. 서비스를 등록할 때 Consul에 서비스에 대한 다음 아이덴티티 정보를 지정할 수 있습니다:
| Identity field | Default value | What it means |
|---|---|---|
name |
None (Required) | 로컬 인스턴스를 등록할 Consul 카탈로그의 서비스 이름을 지정합니다. |
id |
name의 값 |
단일 노드에서 여러 서비스가 실행될 때 서비스를 지정합니다. |
namespace |
default |
서비스를 등록할 Consul namespace를 지정합니다. |
partition |
default |
서비스를 등록할 Consul admin 파티션을 지정합니다. |
tags |
None | 서비스 버전 업그레이드 및 배포 업그레이드 롤아웃을 위한 사용자 지정 메타데이터 값을 지정합니다. |
Consul을 서비스 검색에 사용하는 네트워크에서 Consul은 Consul DNS 쿼리에 대한 응답으로 정상 인스턴스로 트래픽을 라우팅하기 위해 서비스 아이덴티티를 사용합니다.
Consul 서비스 메시도 사용하는 네트워크에서 Consul은 서비스 아이덴티티를 다음 기능에 사용합니다:
- 서비스 사이드카 프록시에 대한 명시적 업스트림 정의.
- 안전한 서비스 간 통신을 위한 서비스 의도(intentions).
- 서비스 리졸버, 스플리터, 라우터를 사용한 트래픽 관리.
구성 아이덴티티 (Configuration identity)
Consul을 운영할 때 네트워크의 원하는 상태를 정의하는 일련의 구성 항목으로 네트워크 동작을 관리합니다. 구성을 등록할 때 구성 항목의 Kind와 Name을 정의합니다.
Consul은 consul.d 디렉터리에서 동일한 종류와 이름을 가진 구성 항목을 병합합니다. Consul 에이전트를 다시 로드하면 이러한 관련 항목을 자동으로 단일 통합 구성으로 결합합니다. 이렇게 하면 논리적 그룹화를 유지하면서 여러 파일에 걸쳐 구성을 구성할 수 있습니다.
Consul CLI를 사용하여 데이터센터에 구성 항목을 추가할 때 consul config 명령을 실행할 때 구성 항목 이름을 참조합니다.
피어 아이덴티티 (Peer identity)
Consul의 클러스터 피어링 기능을 사용하여 데이터센터를 연결할 때 피어링 연결 양쪽 끝에 피어에 대한 아이덴티티를 제공해야 합니다. 구성을 사람이 읽을 수 있게 유지하기 위해 datacenter 및 partition 이름을 사용할 것을 권장합니다. 예를 들어, 기본 데이터센터의 기본 admin 파티션은 각 피어에서 dc1-default로 정의됩니다.
다음 단계 (Next steps)
이 Consul 기초 시퀀스의 다음 세 페이지는 이 페이지에서 소개된 각 주제에 대해 더 깊이 다룹니다: