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으로 표시되어 있습니다. 어느 표기법이든 사용할 수 있습니다. # Disable all components except Consul roles [ 'consul_role' ] # Consul nodes: can be FQDN or IP, separated by a whitespace consul[ 'configuration' ] = { server: true , retry_join: %w(10.10.10.1 consul1.gitlab.example.com 10.10.10.2) } # Disable auto migrations 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[ '