InfoGrab Docs

Consul 설정 방법

Consul 클러스터를 구성합니다.

Consul 클러스터는 서버 및 클라이언트 에이전트 로 구성됩니다. 서버는 자체 노드에서 실행되고 클라이언트는 서버와 통신하는 다른 노드에서 실행됩니다. GitLab Premium에는 /etc/gitlab/gitlab.rb 를 사용하여 관리할 수 있는 서비스 네트워킹 솔루션인 Consul 의 번들 버전이 포함되어 있습니다. 필수 조건 # Consul을 구성하기 전에: 참조 아키텍처 문서를 검토하여 Consul 서버 노드의 수를 결정합니다. 필요한 경우 방화벽에서 적절한 포트가 열려있는지 확인합니다. Consul 노드 구성 # 각 Consul 서버 노드에서: 선호하는 플랫폼을 선택하여 GitLab 설치 지침에 따르되 요청할 때 EXTERNAL_URL 값은 제공하지 않습니다. /etc/gitlab/gitlab.rb 를 편집하고 retry_join 섹션에 명시된 값을 교체하여 다음을 추가합니다. 아래 예시에서는 세 개의 노드가 있으며, 두 개는 IP로, 하나는 FQDN으로 표시됩니다. 어느 표기법이든 사용할 수 있습니다: # Consul을 제외한 모든 컴포넌트 비활성화 roles [ 'consul_role' ] # Consul 노드: FQDN 또는 IP일 수 있으며, 공백으로 구분됨 consul[ 'configuration' ] = { server: true , retry_join: %w(10.10.10.1 consul1.gitlab.example.com 10.10.10.2) } # 자동 마이그레이션 비활성화 gitlab_rails[ 'auto_migrate' ] = false 변경 사항이 적용되도록 GitLab을 재구성 합니다. 다음 명령을 실행하여 Consul이 올바르게 구성되었는지 확인하고 모든 서버 노드가 통신하고 있는지 확인합니다: sudo /opt/gitlab/embedded/bin/consul members 출력은 다음과 유사해야 합니다: Node Address Status Type Build Protocol DC CONSUL_NODE_ONE XXX.XXX.XXX.YYY:8301 alive server 0.9.2 2 gitlab_consul CONSUL_NODE_TWO XXX.XXX.XXX.YYY:8301 alive server 0.9.2 2 gitlab_consul CONSUL_NODE_THREE XXX.XXX.XXX.YYY:8301 alive server 0.9.2 2 gitlab_consul 결과에 alive 상태가 아닌 노드가 표시되거나 세 노드 중 하나라도 없는 경우 트러블슈팅 섹션 을 참조하세요. Consul 노드 보안 # TLS 또는 가십 암호화를 사용하여 Consul 노드 간의 통신을 보호할 수 있는 두 가지 방법이 있습니다. TLS 암호화 # 기본적으로 Consul 클러스터에서는 TLS가 활성화되지 않습니다. 기본 구성 옵션과 기본값은 다음과 같습니다: consul[ 'use_tls' ] = false consul[ 'tls_ca_file' ] = nil consul[ 'tls_certificate_file' ]