Linux 및 Docker: 고가용성 컨테이너 클러스터를 구현하는 방법은 무엇입니까?
요약: 컨테이너 기술이 발전하면서 점점 더 많은 기업이 점차적으로 애플리케이션을 컨테이너에 배포하고 있습니다. 프로덕션 환경에서는 컨테이너 클러스터의 고가용성을 달성하는 것이 중요합니다. 이 기사에서는 Linux 및 Docker를 사용하여 고가용성 컨테이너 클러스터를 구축하는 방법을 소개하고 코드 예제를 통해 구체적인 구현 방법을 보여줍니다.
먼저 클러스터에 가입하려는 각 Docker 호스트에 Docker를 설치합니다. 그런 다음 Swarm 클러스터의 관리 노드로 호스트를 선택하고 다음 명령을 실행하여 클러스터를 초기화합니다.
$ docker swarm init --advertise-addr <MANAGER-IP>
여기서 50c92af3965d072a01ca8b69c30c4169는 관리 노드의 IP 주소입니다. 위 명령을 통해 다른 호스트가 클러스터에 참여할 수 있는 토큰을 얻습니다. 그런 다음 클러스터에 가입하려는 다른 호스트에서 다음 명령을 실행합니다.
$ docker swarm join --token <TOKEN> <MANAGER-IP>:<PORT>
그 중 fe44cc81ab4c20272595cc1edf562112은 이전 단계에서 얻은 토큰이고 50c92af3965d072a01ca8b69c30c4169 각각의 관리 노드와 포트 번호입니다.
먼저 모든 Docker 호스트에 Consul을 설치하고 시작하세요. 그런 다음 다음 명령을 실행하여 Consul 서비스를 생성합니다.
$ docker service create --name consul --publish 8500:8500 --constraint 'node.role == manager' gliderlabs/consul-server -bootstrap
이 명령은 Swarm 클러스터의 관리 노드에 consul이라는 서비스를 생성하고 컨테이너의 8500 포트를 호스트의 8500 포트에 매핑합니다.
다음으로 Consul 서비스에 참여하려면 다른 노드에서 다음 명령을 실행하세요.
$ docker service create --name consul --network <NETWORK> gliderlabs/consul-agent -join consul
여기서 1d4d001a3682e7356cdcdf6423e29e0f는 Swarm 클러스터의 네트워크 이름입니다.
먼저 배포하려는 애플리케이션이 포함된 Docker 이미지를 준비합니다. 그런 다음 다음 명령을 실행하여 서비스를 만듭니다.
$ docker service create --name <SERVICE-NAME> --replicas <REPLICAS> --publish <PORT> <IMAGE>
여기서 1f69d38ff7f38c32e75a871d13a954c2은 서비스 이름이고, f9137ba0285552c9339eaf6686d35256는 배포할 컨테이너 인스턴스 수이며, a3b0c87895079be75e30be94102cc20b 매핑할 < ;IMAGE>는 애플리케이션이 있는 Docker 이미지입니다.
다음 명령을 사용하면 서비스의 실행 상태와 컨테이너 인스턴스의 분포를 볼 수 있습니다.
$ docker service ls $ docker service ps <SERVICE-NAME>
다음 명령을 사용하여 서비스 인스턴스 수를 확장할 수 있습니다.
$ docker service scale <SERVICE-NAME>=<REPLICAS>
여기서 1f69d38ff7f38c32e75a871d13a954c2은 서비스 이름이고 f9137ba0285552c9339eaf6686d35256는 확장할 컨테이너 인스턴스 수입니다.
요약: Linux 및 Docker를 사용하여 고가용성 컨테이너 클러스터를 구축하면 애플리케이션의 가용성이 향상될 뿐만 아니라 탄력적인 확장 및 로드 밸런싱 기능도 제공됩니다. 합리적인 구성과 관리를 통해 효율적이고 안정적인 컨테이너 서비스를 실현할 수 있습니다.
코드 예:
Swarm 클러스터 초기화:
$ docker swarm init --advertise-addr 192.168.0.1
Swarm 클러스터 가입:
$ docker swarm join --token <TOKEN> 192.168.0.1:2377
Consul 서비스 생성:
$ docker service create --name consul --publish 8500:8500 --constraint 'node.role == manager' gliderlabs/consul-server -bootstrap
Consul 서비스 가입:
$ docker service create --name consul --network my-network gliderlabs/consul-agent -join consul
애플리케이션 서비스 생성:
$ docker service create --name my-service --replicas 3 --publish 8080:8080 my-app
서비스 인스턴스 수 확장:
$ docker service scale my-service=5
위 내용은 Linux 및 Docker: 고가용성 컨테이너 클러스터를 구현하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!