베어메탈 서비스 (ironic) 설치 1
페이지 정보
작성자 jkchoi 작성일 21-08-27 09:30 조회 6,341 댓글 0본문
1. 전제 조건 설치 및 구성
베어메탈 서비스는 물리적 시스템을 관리하고 프로비저닝하기 위한 지원을 제공하는 구성요소 모음입니다.
별도의 노드 또는 동일한 노드에서 실행되도록 이러한 구성 요소를 구성할 수 있습니다.
이 가이드에서 구성 요소는 일반적으로 컴퓨팅 서비스의 컴퓨팅 노드인 하나의 노드에서 실행됩니다.
- ID, 이미지, 컴퓨팅 및 네트워킹 서비스가 이미 설정되어 있다고 가정합니다.
2. 베어메탈용 데이터베이스 설정
- 베어메탈 서비스는 데이터베이스에 정보를 저장합니다. 이 가이드는 다른 OpenStack 서비스에서 사용하는 MySQL 데이터베이스를 사용합니다.
1) MySQL ironic에서 ironic사용자 가 액세스할 수 있는 데이터베이스를 만듭니다 . IRONIC_DBPASSWORD적절한 비밀번호로 교체
# mysql -u root -p
mysql> CREATE DATABASE ironic CHARACTER SET utf8;
mysql> GRANT ALL PRIVILEGES ON ironic.* TO 'ironic'@'localhost' \
IDENTIFIED BY 'IRONIC_DBPASSWORD';
mysql> GRANT ALL PRIVILEGES ON ironic.* TO 'ironic'@'%' \
IDENTIFIED BY 'IRONIC_DBPASSWORD';
3. 구성 요소 설치 및 구성
1) 패키지에서 설치
# dnf install openstack-ironic-api openstack-ironic-conductor python-ironicclient
# yum install openstack-ironic-api openstack-ironic-conductor python-ironicclient
2) 서비스 활성화
# systemctl enable openstack - ironic -api openstack-ironic -conductor
# systemctl start openstack-ironic-api openstack-ironic-conductor
- 베어메탈 서비스는 구성 파일을 통해 구성됩니다. 이 파일은 일반적으로 /etc/ironic/ironic.conf 에 있습니다.
3. ironic-api 서비스 구성
1). 베어메탈 서비스는 데이터베이스에 정보를 저장합니다. 이 가이드는 다른 OpenStack 서비스에서 사용하는 MySQL 데이터베이스를 사용합니다.
connection옵션을 통해 데이터베이스의 위치를 구성합니다.
다음에서 사용자 IRONIC_DBPASSWORD의 비밀번호로 ironic바꾸고 DB_IPDB 서버가 위치한 IP 주소로 바꿉니다.
[database]
# The SQLAlchemy connection string used to connect to the
# database (string value)
connection = mysql+pymysql://ironic:IRONIC_DBPASSWORD@DB_IP/ironic?charset=utf8
2) 다음 옵션을 설정하여 RabbitMQ 메시지 브로커를 사용하도록 ironic-api 서비스를 구성합니다.
RPC_*RabbitMQ 서버의 적절한 주소 세부 정보 및 자격 증명으로 바꿉니다 .
[DEFAULT]
# A URL representing the messaging driver to use and its full
# configuration. (string value)
transport_url = rabbit://RPC_USER:RPC_PASSWORD@RPC_HOST:RPC_PORT/
3) 이러한 자격 증명을 Identity 서비스와 함께 사용하도록 ironic-api 서비스를 구성합니다.
PUBLIC_IDENTITY_IPID 서버의 공개 IP로, ID 서버 PRIVATE_IDENTITY_IP의 개인 IP로 바꾸고
ID 서비스에서 ironic 사용자에 IRONIC_PASSWORD대해 선택한 비밀번호로 바꿉니다.
[DEFAULT]
# Authentication strategy used by ironic-api: one of
# "keystone" or "noauth". "noauth" should not be used in a
# production environment because all authentication will be
# disabled. (string value)
auth_strategy=keystone
[keystone_authtoken]
# Authentication type to load (string value)
auth_type=password
# Complete public Identity API endpoint (string value)
auth_uri=http://PUBLIC_IDENTITY_IP:5000
# Complete admin Identity API endpoint. (string value)
auth_url=http://PRIVATE_IDENTITY_IP:35357
# Service username. (string value)
username=ironic
# Service account password. (string value)
password=IRONIC_PASSWORD
# Service tenant name. (string value)
project_name=service
# Domain name containing project (string value)
project_domain_name=Default
# User's domain name (string value)
user_domain_name=Default
4) 베어메탈 서비스 데이터베이스 테이블을 생성합니다.
$ ironic-dbsync --config-file /etc/ironic/ironic.conf create_schema
5) ironic-api 서비스를 다시 시작합니다.
Fedora/RHEL7/CentOS7:
sudo systemctl restart openstack-ironic-api
Ubuntu:
sudo service ironic-api restart
4. mod_wsgi 뒤에 ironic-api 구성하기
Bare Metal 서비스는 ironic-apimod_wsgi 를 사용하여 Apache 뒤에서 실행되도록 서비스를 구성하기 위한 예제 파일과 함께 제공됩니다.
1) 아파치 서비스를 설치합니다.
Fedora 21/RHEL7/CentOS7:
sudo yum install httpd
Fedora 22(또는 그 이상):
sudo dnf install httpd
데비안/우분투:
apt-get install apache2
2) Apache 사이트 아래 etc/apache2/ironic 에 파일을 복사합니다 .
Fedora/RHEL7/CentOS7:
sudo cp etc/apache2/ironic /etc/httpd/conf.d/ironic.conf
Debian/Ubuntu:
sudo cp etc/apache2/ironic /etc/apache2/sites-available/ironic.conf
3) 최근에 복사한 내용 수정 <apache-configuration-dir>/ironic.conf
(1) WSGIDaemonProcess, APACHE_RUN_USER및 APACHE_RUN_GROUP 지시문을 수정하여 사용자 및 그룹 값을 서버의 적절한 사용자로 설정하십시오.
(2) 스크립트 WSGIScriptAlias를 가리키도록 지시문을 수정하십시오 ironic/api/app.wsgi.
(3) DirectoryIronic API 코드에 대한 경로를 설정 하도록 지시문을 수정합니다 .
(4) 로그를 올바른 디렉토리(Red Hat 시스템의 경우 일반적으로 /var/log/httpd에 있음)로 리디렉션 하려면 ErrorLog및 CustomLog를 수정하십시오 .
4) ironic사이트 에서 아파치 를 활성화 하고 다음을 다시 로드합니다.
Fedora/RHEL7/CentOS7:
sudo systemctl reload httpd
Debian/Ubuntu:
sudo a2ensite ironic
sudo service apache2 reload
- 파일 ironic/api/app.wsgi은 나머지 Bare Metal 서비스 애플리케이션 코드와 함께 설치되며 수정할 필요가 없습니다.
베어메탈 서비스는 물리적 시스템을 관리하고 프로비저닝하기 위한 지원을 제공하는 구성요소 모음입니다.
별도의 노드 또는 동일한 노드에서 실행되도록 이러한 구성 요소를 구성할 수 있습니다.
이 가이드에서 구성 요소는 일반적으로 컴퓨팅 서비스의 컴퓨팅 노드인 하나의 노드에서 실행됩니다.
- ID, 이미지, 컴퓨팅 및 네트워킹 서비스가 이미 설정되어 있다고 가정합니다.
2. 베어메탈용 데이터베이스 설정
- 베어메탈 서비스는 데이터베이스에 정보를 저장합니다. 이 가이드는 다른 OpenStack 서비스에서 사용하는 MySQL 데이터베이스를 사용합니다.
1) MySQL ironic에서 ironic사용자 가 액세스할 수 있는 데이터베이스를 만듭니다 . IRONIC_DBPASSWORD적절한 비밀번호로 교체
# mysql -u root -p
mysql> CREATE DATABASE ironic CHARACTER SET utf8;
mysql> GRANT ALL PRIVILEGES ON ironic.* TO 'ironic'@'localhost' \
IDENTIFIED BY 'IRONIC_DBPASSWORD';
mysql> GRANT ALL PRIVILEGES ON ironic.* TO 'ironic'@'%' \
IDENTIFIED BY 'IRONIC_DBPASSWORD';
3. 구성 요소 설치 및 구성
1) 패키지에서 설치
# dnf install openstack-ironic-api openstack-ironic-conductor python-ironicclient
# yum install openstack-ironic-api openstack-ironic-conductor python-ironicclient
2) 서비스 활성화
# systemctl enable openstack - ironic -api openstack-ironic -conductor
# systemctl start openstack-ironic-api openstack-ironic-conductor
- 베어메탈 서비스는 구성 파일을 통해 구성됩니다. 이 파일은 일반적으로 /etc/ironic/ironic.conf 에 있습니다.
3. ironic-api 서비스 구성
1). 베어메탈 서비스는 데이터베이스에 정보를 저장합니다. 이 가이드는 다른 OpenStack 서비스에서 사용하는 MySQL 데이터베이스를 사용합니다.
connection옵션을 통해 데이터베이스의 위치를 구성합니다.
다음에서 사용자 IRONIC_DBPASSWORD의 비밀번호로 ironic바꾸고 DB_IPDB 서버가 위치한 IP 주소로 바꿉니다.
[database]
# The SQLAlchemy connection string used to connect to the
# database (string value)
connection = mysql+pymysql://ironic:IRONIC_DBPASSWORD@DB_IP/ironic?charset=utf8
2) 다음 옵션을 설정하여 RabbitMQ 메시지 브로커를 사용하도록 ironic-api 서비스를 구성합니다.
RPC_*RabbitMQ 서버의 적절한 주소 세부 정보 및 자격 증명으로 바꿉니다 .
[DEFAULT]
# A URL representing the messaging driver to use and its full
# configuration. (string value)
transport_url = rabbit://RPC_USER:RPC_PASSWORD@RPC_HOST:RPC_PORT/
3) 이러한 자격 증명을 Identity 서비스와 함께 사용하도록 ironic-api 서비스를 구성합니다.
PUBLIC_IDENTITY_IPID 서버의 공개 IP로, ID 서버 PRIVATE_IDENTITY_IP의 개인 IP로 바꾸고
ID 서비스에서 ironic 사용자에 IRONIC_PASSWORD대해 선택한 비밀번호로 바꿉니다.
[DEFAULT]
# Authentication strategy used by ironic-api: one of
# "keystone" or "noauth". "noauth" should not be used in a
# production environment because all authentication will be
# disabled. (string value)
auth_strategy=keystone
[keystone_authtoken]
# Authentication type to load (string value)
auth_type=password
# Complete public Identity API endpoint (string value)
auth_uri=http://PUBLIC_IDENTITY_IP:5000
# Complete admin Identity API endpoint. (string value)
auth_url=http://PRIVATE_IDENTITY_IP:35357
# Service username. (string value)
username=ironic
# Service account password. (string value)
password=IRONIC_PASSWORD
# Service tenant name. (string value)
project_name=service
# Domain name containing project (string value)
project_domain_name=Default
# User's domain name (string value)
user_domain_name=Default
4) 베어메탈 서비스 데이터베이스 테이블을 생성합니다.
$ ironic-dbsync --config-file /etc/ironic/ironic.conf create_schema
5) ironic-api 서비스를 다시 시작합니다.
Fedora/RHEL7/CentOS7:
sudo systemctl restart openstack-ironic-api
Ubuntu:
sudo service ironic-api restart
4. mod_wsgi 뒤에 ironic-api 구성하기
Bare Metal 서비스는 ironic-apimod_wsgi 를 사용하여 Apache 뒤에서 실행되도록 서비스를 구성하기 위한 예제 파일과 함께 제공됩니다.
1) 아파치 서비스를 설치합니다.
Fedora 21/RHEL7/CentOS7:
sudo yum install httpd
Fedora 22(또는 그 이상):
sudo dnf install httpd
데비안/우분투:
apt-get install apache2
2) Apache 사이트 아래 etc/apache2/ironic 에 파일을 복사합니다 .
Fedora/RHEL7/CentOS7:
sudo cp etc/apache2/ironic /etc/httpd/conf.d/ironic.conf
Debian/Ubuntu:
sudo cp etc/apache2/ironic /etc/apache2/sites-available/ironic.conf
3) 최근에 복사한 내용 수정 <apache-configuration-dir>/ironic.conf
(1) WSGIDaemonProcess, APACHE_RUN_USER및 APACHE_RUN_GROUP 지시문을 수정하여 사용자 및 그룹 값을 서버의 적절한 사용자로 설정하십시오.
(2) 스크립트 WSGIScriptAlias를 가리키도록 지시문을 수정하십시오 ironic/api/app.wsgi.
(3) DirectoryIronic API 코드에 대한 경로를 설정 하도록 지시문을 수정합니다 .
(4) 로그를 올바른 디렉토리(Red Hat 시스템의 경우 일반적으로 /var/log/httpd에 있음)로 리디렉션 하려면 ErrorLog및 CustomLog를 수정하십시오 .
4) ironic사이트 에서 아파치 를 활성화 하고 다음을 다시 로드합니다.
Fedora/RHEL7/CentOS7:
sudo systemctl reload httpd
Debian/Ubuntu:
sudo a2ensite ironic
sudo service apache2 reload
- 파일 ironic/api/app.wsgi은 나머지 Bare Metal 서비스 애플리케이션 코드와 함께 설치되며 수정할 필요가 없습니다.
댓글목록 0
등록된 댓글이 없습니다.