메시징 서비스 설치 ( zaqar ) 1. 전제 조건
페이지 정보
작성자 jkchoi 작성일 21-10-22 09:30 조회 5,295 댓글 0본문
이 예시에서는 다음 서버 이름을 예로 사용합니다.
메시징 서비스가 있는 웹 서버: WEB0.EXAMPLE-MESSAGES.NET.
데이터베이스 서버: MYDB0.EXAMPLE-MESSAGES.NET, MYDB1.EXAMPLE-MESSAGES.NET, MYDB2.EXAMPLE-MESSAGES.NET.
ID 서비스 서버: IDENTITY.EXAMPLE-MESSAGES.NET.
전제 조건
메시징 서비스를 설치하기 전에 다음 시스템 요구 사항을 충족해야 합니다.
사용자 및 프로젝트 관리를 위해 설치된 ID 서비스.
파이썬 2.7.
Messaging을 설치 및 구성하기 전에 MongoDB 3개의 데이터베이스 서버로 구성된 복제본 세트를 생성해야 합니다.
또한 Identity에서 서비스 자격 증명과 API endpoint를 만들어야 합니다.
1. 데이터베이스 서버에 MongoDB 복제본 세트 설치 및 구성
1) 데이터베이스 서버에 MongoDB설치
- 메시징 서비스는 MongoDB버전 2.4 이상에서 작동합니다.
2) 데이터베이스 서버에서 MongoDB구성
각 데이터베이스 서버에서 구성 파일 /etc/mongod.conf을 편집하고 필요에 따라 수정합니다.
# MongoDB sample configuration for Messaging service.
# (For MongoDB version >= 2.6)
# Edit according to your needs.
systemLog:
destination: file
logAppend: true
path: /var/log/mongodb/mongod.log
storage:
dbPath: /var/lib/mongo
journal:
enabled: false
processManagement:
fork: true # fork and run in background
pidFilePath: /var/run/mongodb/mongod.pid # location of pidfile
net:
port: 27017
# bindIp: 127.0.0.1 # Listen to local interface only, comment to listen on all interfaces.
operationProfiling:
slowOpThresholdMs: 200
mode: slowOp
replication:
oplogSizeMB: 2048
replSetName: catalog
- MongoDB버전(2.4 및 2.5)의 경우 구성 파일을 다른 형식으로 작성해야 합니다.
다른 버전의 형식에 대한 정보는 공식 https://docs.mongodb.org/v3.0/reference/configuration-options/ 구성 참조를 참조하십시오 .
- MongoDB 설치를 보호하려면 추가 단계가 필요합니다. 보안 요구 사항에 맞게 이 구성을 수정해야 합니다.
https://docs.mongodb.org/manual/security/ 공식 보안을 참조하십시오.
3) 데이터베이스 서버에서 MongoDB시작
모든 데이터베이스 서버에서 MongoDB서비스 시작
# systemctl start mongod
MongoDB서비스를 재부팅 후 자동으로 시작 :
# systemctl enable mongod
4) 데이터베이스 서버에서 MongoDB 복제본 세트 구성
3대의 서버에 MongoDB를 설치하고 기본 MongoDB 서버 호스트 이름이 MYDB0.EXAMPLE-MESSAGES.NET이라고 가정하면
MYDB0으로 이동하여 다음 명령을 실행합니다.
# mongo local --eval "printjson(rs.initiate())"
# mongo local --eval "printjson(rs.add('MYDB1.EXAMPLE-MESSAGES.NET'))"
# mongo local --eval "printjson(rs.add('MYDB2.EXAMPLE-MESSAGES.NET'))"
- 데이터베이스 서버는 서로 액세스할 수 있어야 하며 메시징 서비스 웹 서버에서도 액세스할 수 있어야 합니다.
필요한 소스에서 포트 27017로 들어오는 연결을 수락하도록 모든 데이터베이스 서버에서 방화벽을 구성합니다.
5) 복제 세트가 설정되었는지 확인하려면 다음 명령의 출력을 참조하십시오.
# mongo local --eval "printjson(rs.status())"
2. 관리자 자격 증명을 소싱하여 관리자 전용 CLI 명령에 액세스합니다.
$ . admin-openrc
3. 서비스 자격 증명을 생성하려면 다음 단계를 완료하십시오.
1) zaqar사용자 생성
$ openstack user create --domain default --password-prompt zaqar
User Password:
Repeat User Password:
+-----------+-----------------------------------------+
| Field | Value |
+-----------+-----------------------------------------+
| domain_id | default |
| enabled | True |
| id | 7b0ffc83097148dab6ecbef6ddcc46bf |
| name | zaqar |
+-----------+-----------------------------------------+
2) zaqar 사용자에게 관리자 역할을 추가합니다.
$ openstack role add --project service --user zaqar admin
3) zaqar서비스 엔터티를 만듭니다 .
$ openstack service create --name zaqar --description "Messaging" messaging
+-------------+-------------------------------------------+
| Field | Value |
+-------------+-------------------------------------------+
| description | Messaging |
| enabled | True |
| id | b39c22818be5425ba2315dd4b10cd57c |
| name | zaqar |
| type | messaging |
+-------------+-------------------------------------------+
4. 메시징 서비스 API endpoint를 만듭니다.
$ openstack endpoint create --region RegionOne messaging public http://WEB0.EXAMPLE-MESSAGES.NET:8888
+--------------+------------------------------------------------+
| Field | Value |
+--------------+------------------------------------------------+
| enabled | True |
| id | aabca78860e74c4db0bcb36167bfe106 |
| interface | public |
| region | RegionOne |
| region_id | RegionOne |
| service_id | b39c22818be5425ba2315dd4b10cd57c |
| service_name | zaqar |
| service_type | messaging |
| url | http://WEB0.EXAMPLE-MESSAGES.NET:8888 |
+--------------+-------------------------------------------------+
$ openstack endpoint create --region RegionOne messaging internal http://WEB0.EXAMPLE-MESSAGES.NET:8888
+---------------+-----------------------------------------------+
| Field | Value |
+---------------+-----------------------------------------------+
| enabled | True |
| id | 07f9524613de4fd3905e13a87f81fd3f |
| interface | internal |
| region | RegionOne |
| region_id | RegionOne |
| service_id | b39c22818be5425ba2315dd4b10cd57c |
| service_name | zaqar |
| service_type | messaging |
| url | http://WEB0.EXAMPLE-MESSAGES.NET:8888 |
+--------------+-------------------------------------------------+
$ openstack endpoint create --region RegionOne messaging admin http://WEB0.EXAMPLE-MESSAGES.NET:8888
+--------------+-------------------------------------------------+
| Field | Value |
+--------------+-------------------------------------------------+
| enabled | True |
| id | 686f7b19428f4b5aa1425667dfe4f49d |
| interface | admin |
| region | RegionOne |
| region_id | RegionOne |
| service_id | b39c22818be5425ba2315dd4b10cd57c |
| service_name | zaqar |
| service_type | messaging |
| url | http://WEB0.EXAMPLE-MESSAGES.NET:8888 |
+--------------+--------------------------------------------------+
메시징 서비스가 있는 웹 서버: WEB0.EXAMPLE-MESSAGES.NET.
데이터베이스 서버: MYDB0.EXAMPLE-MESSAGES.NET, MYDB1.EXAMPLE-MESSAGES.NET, MYDB2.EXAMPLE-MESSAGES.NET.
ID 서비스 서버: IDENTITY.EXAMPLE-MESSAGES.NET.
전제 조건
메시징 서비스를 설치하기 전에 다음 시스템 요구 사항을 충족해야 합니다.
사용자 및 프로젝트 관리를 위해 설치된 ID 서비스.
파이썬 2.7.
Messaging을 설치 및 구성하기 전에 MongoDB 3개의 데이터베이스 서버로 구성된 복제본 세트를 생성해야 합니다.
또한 Identity에서 서비스 자격 증명과 API endpoint를 만들어야 합니다.
1. 데이터베이스 서버에 MongoDB 복제본 세트 설치 및 구성
1) 데이터베이스 서버에 MongoDB설치
- 메시징 서비스는 MongoDB버전 2.4 이상에서 작동합니다.
2) 데이터베이스 서버에서 MongoDB구성
각 데이터베이스 서버에서 구성 파일 /etc/mongod.conf을 편집하고 필요에 따라 수정합니다.
# MongoDB sample configuration for Messaging service.
# (For MongoDB version >= 2.6)
# Edit according to your needs.
systemLog:
destination: file
logAppend: true
path: /var/log/mongodb/mongod.log
storage:
dbPath: /var/lib/mongo
journal:
enabled: false
processManagement:
fork: true # fork and run in background
pidFilePath: /var/run/mongodb/mongod.pid # location of pidfile
net:
port: 27017
# bindIp: 127.0.0.1 # Listen to local interface only, comment to listen on all interfaces.
operationProfiling:
slowOpThresholdMs: 200
mode: slowOp
replication:
oplogSizeMB: 2048
replSetName: catalog
- MongoDB버전(2.4 및 2.5)의 경우 구성 파일을 다른 형식으로 작성해야 합니다.
다른 버전의 형식에 대한 정보는 공식 https://docs.mongodb.org/v3.0/reference/configuration-options/ 구성 참조를 참조하십시오 .
- MongoDB 설치를 보호하려면 추가 단계가 필요합니다. 보안 요구 사항에 맞게 이 구성을 수정해야 합니다.
https://docs.mongodb.org/manual/security/ 공식 보안을 참조하십시오.
3) 데이터베이스 서버에서 MongoDB시작
모든 데이터베이스 서버에서 MongoDB서비스 시작
# systemctl start mongod
MongoDB서비스를 재부팅 후 자동으로 시작 :
# systemctl enable mongod
4) 데이터베이스 서버에서 MongoDB 복제본 세트 구성
3대의 서버에 MongoDB를 설치하고 기본 MongoDB 서버 호스트 이름이 MYDB0.EXAMPLE-MESSAGES.NET이라고 가정하면
MYDB0으로 이동하여 다음 명령을 실행합니다.
# mongo local --eval "printjson(rs.initiate())"
# mongo local --eval "printjson(rs.add('MYDB1.EXAMPLE-MESSAGES.NET'))"
# mongo local --eval "printjson(rs.add('MYDB2.EXAMPLE-MESSAGES.NET'))"
- 데이터베이스 서버는 서로 액세스할 수 있어야 하며 메시징 서비스 웹 서버에서도 액세스할 수 있어야 합니다.
필요한 소스에서 포트 27017로 들어오는 연결을 수락하도록 모든 데이터베이스 서버에서 방화벽을 구성합니다.
5) 복제 세트가 설정되었는지 확인하려면 다음 명령의 출력을 참조하십시오.
# mongo local --eval "printjson(rs.status())"
2. 관리자 자격 증명을 소싱하여 관리자 전용 CLI 명령에 액세스합니다.
$ . admin-openrc
3. 서비스 자격 증명을 생성하려면 다음 단계를 완료하십시오.
1) zaqar사용자 생성
$ openstack user create --domain default --password-prompt zaqar
User Password:
Repeat User Password:
+-----------+-----------------------------------------+
| Field | Value |
+-----------+-----------------------------------------+
| domain_id | default |
| enabled | True |
| id | 7b0ffc83097148dab6ecbef6ddcc46bf |
| name | zaqar |
+-----------+-----------------------------------------+
2) zaqar 사용자에게 관리자 역할을 추가합니다.
$ openstack role add --project service --user zaqar admin
3) zaqar서비스 엔터티를 만듭니다 .
$ openstack service create --name zaqar --description "Messaging" messaging
+-------------+-------------------------------------------+
| Field | Value |
+-------------+-------------------------------------------+
| description | Messaging |
| enabled | True |
| id | b39c22818be5425ba2315dd4b10cd57c |
| name | zaqar |
| type | messaging |
+-------------+-------------------------------------------+
4. 메시징 서비스 API endpoint를 만듭니다.
$ openstack endpoint create --region RegionOne messaging public http://WEB0.EXAMPLE-MESSAGES.NET:8888
+--------------+------------------------------------------------+
| Field | Value |
+--------------+------------------------------------------------+
| enabled | True |
| id | aabca78860e74c4db0bcb36167bfe106 |
| interface | public |
| region | RegionOne |
| region_id | RegionOne |
| service_id | b39c22818be5425ba2315dd4b10cd57c |
| service_name | zaqar |
| service_type | messaging |
| url | http://WEB0.EXAMPLE-MESSAGES.NET:8888 |
+--------------+-------------------------------------------------+
$ openstack endpoint create --region RegionOne messaging internal http://WEB0.EXAMPLE-MESSAGES.NET:8888
+---------------+-----------------------------------------------+
| Field | Value |
+---------------+-----------------------------------------------+
| enabled | True |
| id | 07f9524613de4fd3905e13a87f81fd3f |
| interface | internal |
| region | RegionOne |
| region_id | RegionOne |
| service_id | b39c22818be5425ba2315dd4b10cd57c |
| service_name | zaqar |
| service_type | messaging |
| url | http://WEB0.EXAMPLE-MESSAGES.NET:8888 |
+--------------+-------------------------------------------------+
$ openstack endpoint create --region RegionOne messaging admin http://WEB0.EXAMPLE-MESSAGES.NET:8888
+--------------+-------------------------------------------------+
| Field | Value |
+--------------+-------------------------------------------------+
| enabled | True |
| id | 686f7b19428f4b5aa1425667dfe4f49d |
| interface | admin |
| region | RegionOne |
| region_id | RegionOne |
| service_id | b39c22818be5425ba2315dd4b10cd57c |
| service_name | zaqar |
| service_type | messaging |
| url | http://WEB0.EXAMPLE-MESSAGES.NET:8888 |
+--------------+--------------------------------------------------+
댓글목록 0
등록된 댓글이 없습니다.