CentOS Stream 8
Sponsored Link

OpenStack Yoga : 連携サービスのインストール
2022/05/31
 
OpenStack Yoga によるクラウド基盤の構築です。
OpenStack の各コンポーネントが必要とするサービスを事前にインストールしておきます。
当例では以下のような環境に各コンポーネントをインストールします。
        eth0|10.0.0.30 
+-----------+-----------+
|   [ dlp.srv.world ]   |
|     (Control Node)    |
|                       |
|  MariaDB    RabbitMQ  |
|  Memcached            |
+-----------------------+

[1]
[2]
[3] Openstack Yoga のリポジトリを追加して、システムを最新化しておきます。
一部の Python3 関連のパッケージは Openstack Yoga 提供のパッケージに更新しておく必要があります。
[root@dlp ~]#
dnf -y install centos-release-openstack-yoga

[root@dlp ~]#
sed -i -e "s/enabled=1/enabled=0/g" /etc/yum.repos.d/CentOS-OpenStack-yoga.repo

[root@dlp ~]#
dnf --enablerepo=centos-openstack-yoga -y upgrade

[4] RabbitMQ, Memcached, Nginx をインストールしておきます。
# PowerTools を有効にしてインストール

[root@dlp ~]#
dnf --enablerepo=powertools -y install rabbitmq-server memcached nginx nginx-mod-stream
[root@dlp ~]#
vi /etc/my.cnf.d/mariadb-server.cnf
# [mysqld] セクション内に追記

[mysqld]
.....
.....
# デフォルト値 151 では不足することがある
max_connections=500

[root@dlp ~]#
vi /etc/sysconfig/memcached
# 5行目 : 変更

OPTIONS="-l
0.0.0.0,::
"
[root@dlp ~]#
mv /etc/nginx/nginx.conf /etc/nginx/nginx.conf.org

[root@dlp ~]#
vi /etc/nginx/nginx.conf
# 新規作成

user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;
include /usr/share/nginx/modules/*.conf;
events {
    worker_connections 1024;
}
http {
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';
    access_log  /var/log/nginx/access.log  main;
    sendfile            on;
    tcp_nopush          on;
    tcp_nodelay         on;
    keepalive_timeout   65;
    types_hash_max_size 2048;
    include             /etc/nginx/mime.types;
    default_type        application/octet-stream;
    include /etc/nginx/conf.d/*.conf;
}

[root@dlp ~]#
systemctl restart mariadb rabbitmq-server memcached nginx

[root@dlp ~]#
systemctl enable mariadb rabbitmq-server memcached nginx

# openstack ユーザー追加
# [password] は任意のパスワードを設定

[root@dlp ~]#
rabbitmqctl add_user openstack password

Creating user "openstack"
[root@dlp ~]#
rabbitmqctl set_permissions openstack ".*" ".*" ".*"

Setting permissions for user "openstack" in vhost "/"
[5] SELinux を有効にしている場合は、ポリシーの変更が必要です。
[root@dlp ~]#
vi rabbitmqctl.te
# 以下の内容で新規作成

module rabbitmqctl 1.0;

require {
        type rabbitmq_t;
        type rabbitmq_var_log_t;
        type rabbitmq_var_lib_t;
        type etc_t;
        type init_t;
        type mysqld_port_t;
        type httpd_t;
        class tcp_socket name_bind;
        class file write;
        class file getattr;
}

#============= rabbitmq_t ==============
allow rabbitmq_t etc_t:file write;

#============= init_t ==================
allow init_t rabbitmq_var_lib_t:file getattr;
allow init_t rabbitmq_var_log_t:file getattr;

#============= httpd_t ==============
allow httpd_t mysqld_port_t:tcp_socket name_bind;

[root@dlp ~]#
checkmodule -m -M -o rabbitmqctl.mod rabbitmqctl.te

[root@dlp ~]#
semodule_package --outfile rabbitmqctl.pp --module rabbitmqctl.mod

[root@dlp ~]#
semodule -i rabbitmqctl.pp

[6] Firewalld を有効にしている場合は、上記サービスポートの許可が必要です。
[root@dlp ~]#
firewall-cmd --add-service={mysql,memcache}

success
[root@dlp ~]#
firewall-cmd --add-port=5672/tcp

success
[root@dlp ~]#
firewall-cmd --runtime-to-permanent

success
関連コンテンツ