CentOS 7 에 Openstack Train 버전 설치 - 1. 환경설정하기
레포지토리 설정 (CentOS 7)
Openstack Ussuri 버전은 CentOS/RHEL 8 버전부터 지원한다. Train 버전은 7버전을 지원하는 Openstack 최신버전 입니다.
[root@controller ~]# yum install centos-release-openstack-train [root@controller ~]# yum upgrade [root@controller ~]# yum install python-openstackclient [root@controller ~]# yum install openstack-selinux
데이터베이스 설정
대부분의 OpenStack 서비스는 SQL 데이터베이스를 사용하여 정보를 저장합니다. 데이터베이스는 일반적으로 컨트롤러 노드
에서 실행됩니다. 이 가이드의 절차는 배포에 따라 MariaDB 또는 MySQL을 사용합니다. OpenStack 서비스는 PostgreSQL을 포함한 다른 SQL 데이터베이스도 지원 합니다.
설치 및 구성
1. 패키지 설치
[root@controller ~]# yum install mariadb mariadb-server python2-PyMySQL
2. 데이터베이스 설정
/etc/my.cnf.d/openstack.cnf
파일을 생성 및 편집 (/etc/my.cnf.d/ 필요한 경우 기존 구성 파일 백업)하고 다음 작업을 완료합니다.
[mysqld]
섹션에 bind-address
항목을 생성 하고 컨트롤러 노드의 관리 IP 주소에 키를 설정 하여 관리 네트워크를 통해 다른 노드가 액세스 할 수 있도록합니다. 유용한 옵션과 UTF-8 문자 세트를 사용하려면 추가 키를 설정하십시오.
[mysqld] bind-address = 10.0.0.11 default-storage-engine = innodb innodb_file_per_table = on max_connections = 4096 collation-server = utf8_general_ci character-set-server = utf8
설치 완료
1. 데이터베이스 서비스를 시작하고 시스템이 부팅 될 때 시작되도록 구성합니다.
[root@controller ~]# systemctl enable mariadb.service [root@controller ~]# systemctl start mariadb.service
2. mysql_secure_installation
스크립트 를 실행하여 데이터베이스 서비스를 보호하십시오 . 특히 데이터베이스 root계정에 적합한 비밀번호를 선택하십시오 .
[root@controller ~]# mysql_secure_installation
3. 접속 확인
[root@controller ~]# mysql -uroot -p Enter password: ##DB PW입력 Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 15 Server version: 10.3.10-MariaDB MariaDB Server Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MariaDB [(none)]>
메시지 큐 설정
OpenStack은 메시지 대기열 을 사용하여 서비스 간의 작업 및 상태 정보를 조정합니다. 메시지 큐 서비스는 일반적으로 컨트롤러 노드에서 실행됩니다. OpenStack은 RabbitMQ , Qpid 및 ZeroMQ를 포함한 여러 메시지 대기열 서비스를 지원합니다 . 그러나 OpenStack을 패키징하는 대부분의 배포는 특정 메시지 대기열 서비스를 지원합니다. 이 가이드는 대부분의 배포에서 지원하므로 RabbitMQ 메시지 대기열 서비스를 구현합니다. 다른 메시지 대기열 서비스를 구현하려면 이와 관련된 설명서를 참조하십시오.
메시지 큐는 컨트롤러 노드에서 실행됩니다.
설치 및 구성
1. 패키지 설치
[root@controller ~]# yum install rabbitmq-server
2. 메시지 큐 서비스를 시작하고 시스템이 부팅될 때 시작되도록 구성합니다.
[root@controller ~]# systemctl enable rabbitmq-server.service [root@controller ~]# systemctl start rabbitmq-server.service
3. openstack 사용자 추가
[root@controller ~]# rabbitmqctl add_user openstack RABBIT_PASS Creating user "openstack" ...
RABBIT_PASS
는 원하는 패스워드로 설정하도록 한다.
4. openstack 사용자에 대한 구성, 쓰기 및 읽기 권한을 허용한다.
[root@controller ~]# rabbitmqctl set_permissions openstack ".*" ".*" ".*" Setting permissions for user "openstack" in vhost "/" [root@controller ~]# rabbitmqctl list_permissions Listing permissions in vhost "/" openstack .* .* .* guest .* .* .*
Memcached
서비스에 대한 ID 서비스 인증 메커니즘은 Memcached를 사용하여 토큰을 캐시합니다. memcached 서비스는 일반적으로 컨트롤러 노드에서 실행됩니다. 프로덕션 배포의 경우 보안을 위해 방화벽, 인증 및 암호화 조합을 활성화하는 것이 좋습니다.
설치 및 구성
1. 패키지 설치
[root@controller ~]# yum install memcached python-memcached
2. 설정파일 수정
/etc/sysconfig/memcached
파일을 편집하고 다음 조치를 완료하십시오.
컨트롤러 노드의 관리 IP 주소를 사용하도록 서비스를 구성하십시오. 이것은 관리 네트워크를 통해 다른 노드가 액세스 할 수 있도록하기위한 것입니다.
OPTIONS="-l 127.0.0.1,::1,controller"
3. 서비스 시작 및 확인
[root@controller ~]# systemctl enable memcached.service Created symlink from /etc/systemd/system/multi-user.target.wants/memcached.service to /usr/lib/systemd/system/memcached.service. [root@controller ~]# systemctl restart memcached.service [root@controller ~]# systemctl status memcached.service ● memcached.service - memcached daemon Loaded: loaded (/usr/lib/systemd/system/memcached.service; enabled; vendor preset: disabled) Active: active (running) since 목 2019-10-31 17:30:44 KST; 4s ago Main PID: 7810 (memcached) CGroup: /system.slice/memcached.service └─7810 /usr/bin/memcached -p 11211 -u memcached -m 64 -c 1024 -l 127.0.0.1,::1,ibcontroller 10월 31 17:30:44 ibcontroller systemd[1]: Started memcached daemon.
Etcd
OpenStack 서비스는 분산 키 잠금, 구성 저장, 서비스 활성 상태 및 기타 시나리오 추적을 위해 분산 된 신뢰할 수있는 키-값 저장소 인 Etcd를 사용할 수 있습니다.
etcd 서비스는 컨트롤러 노드에서 실행됩니다.
설치 및 구성
1. 패키지 설치
[root@controller ~]# yum install etcd
2. 설정
/etc/etcd/etcd.conf
파일편집 및 설정
- ETCD_INITIAL_CLUSTER, ETCD_INITIAL_ADVERTISE_PEER_URLS, ETCD_ADVERTISE_CLIENT_URLS, ETCD_LISTEN_CLIENT_URLS
관리 네트워크를 통해 다른 노드에서 액세스 할 수 있도록하는 컨트롤러 노드의 관리 IP 주소 설정
#[Member] ETCD_DATA_DIR="/var/lib/etcd/default.etcd" ETCD_LISTEN_PEER_URLS="http://10.0.0.11:2380" ETCD_LISTEN_CLIENT_URLS="http://10.0.0.11:2379" ETCD_NAME="controller" #[Clustering] ETCD_INITIAL_ADVERTISE_PEER_URLS="http://10.0.0.11:2380" ETCD_ADVERTISE_CLIENT_URLS="http://10.0.0.11:2379" ETCD_INITIAL_CLUSTER="controller=http://10.0.0.11:2380" ETCD_INITIAL_CLUSTER_TOKEN="etcd-cluster-01" ETCD_INITIAL_CLUSTER_STATE="new"
3. 서비스 시작 및 확인
[root@controller ~]# systemctl enable etcd Created symlink from /etc/systemd/system/multi-user.target.wants/etcd.service to /usr/lib/systemd/system/etcd.service. [root@controller ~]# systemctl restart etcd [root@controller ~]# systemctl status etcd ● etcd.service - Etcd Server Loaded: loaded (/usr/lib/systemd/system/etcd.service; enabled; vendor preset: disabled) Active: active (running) since 금 2019-11-01 09:03:38 KST; 4s ago Main PID: 25124 (etcd) CGroup: /system.slice/etcd.service └─25124 /usr/bin/etcd --name=ibcontroller --data-dir=/var/lib/etcd/default.etcd --listen-client-urls=http://x.x.x.x:2379 11월 01 09:03:38 ibcontroller etcd[25124]: raft.node: 7b16f42a620d616e elected leader 7b16f42a620d616e at term 2 11월 01 09:03:38 ibcontroller etcd[25124]: setting up the initial cluster version to 3.3 11월 01 09:03:38 ibcontroller bash[25124]: INFO: 2019/11/01 09:03:38 dialing to target with scheme: "" 11월 01 09:03:38 ibcontroller bash[25124]: INFO: 2019/11/01 09:03:38 could not get resolver for scheme: "" 11월 01 09:03:38 ibcontroller etcd[25124]: set the initial cluster version to 3.3 11월 01 09:03:38 ibcontroller etcd[25124]: published {Name:ibcontroller ClientURLs:[http://x.x.x.x:2379]} to cluster b8be6bb9dc46312a 11월 01 09:03:38 ibcontroller etcd[25124]: enabled capabilities for version 3.3 11월 01 09:03:38 ibcontroller etcd[25124]: ready to serve client requests 11월 01 09:03:38 ibcontroller systemd[1]: Started Etcd Server. 11월 01 09:03:38 ibcontroller etcd[25124]: serving insecure client requests on x.x.x.x:2379, this is strongly discouraged!