最小限の展開で CentOS8 に OpenStack Ussuri をインストールする方法の詳細なチュートリアル

最小限の展開で CentOS8 に OpenStack Ussuri をインストールする方法の詳細なチュートリアル

CentOS8 に最小限のデプロイメントで OpenStack Ussuri をインストールするためのチュートリアルは次のとおりです。

#!/bin/bash

#Centos8 OpenStack Ussuriの導入とインストールを最小限に抑える
#ホストは 2 つあり、1 つは制御ノード、もう 1 つはコンピューティング ノードです。#1. 制御ノードには 4096M のメモリがあります。デュアルネットワークカード、eth0:10.0.0.11、eth1:10.0.0.12
#2. コンピューティングノードのメモリ: 2048 MB。デュアルネットワークカード、eth0:10.0.0.31、eth1:10.0.0.32

# Alibaba Cloud を設定します yum source curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-8.repo
rm -f /etc/yum.repos.d/CentOS-AppStream.repo /etc/yum.repos.d/CentOS-PowerTools.repo /etc/yum.repos.d/CentOS-centosplus.repo /etc/yum.repos.d/CentOS-Extras.repo && rm -rf /var/cache/yum && yum makecache && yum -y update && yum -y autoremove

#ファイアウォールをオフにする systemctl stop firewalld && systemctl enable firewalld

#SELinuxを無効にする
強制0を設定する
sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config

#スワップパーティションを閉じる swapoff -a
sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab

#カーネルのmodprobeブリッジを設定する
modprobe br_netfilter
cat > /etc/sysconfig/modules/neutron.modules <<EOF
#!/bin/bash
modprobe --bridge
modprobe --br_netfilter
終了
chmod 755 /etc/sysconfig/modules/neutron.modules && bash /etc/sysconfig/modules/neutron.modules
echo "vm.max_map_count=262144" >> /etc/sysctl.conf
エコー "net.ipv4.ip_forward=1" >> /etc/sysctl.conf
echo "net.bridge.bridge-nf-call-iptables=1" >> /etc/sysctl.conf
エコー "net.bridge.bridge-nf-call-ip6tables=1" >> /etc/sysctl.conf
sysctl -p

#時刻同期を設定する yum install -y chrony && yum -y autoremove
sed -i '/^pool/d' /etc/chrony.conf
sed -i '/^server/d' /etc/chrony.conf
echo "プール ntp.aliyun.com iburst" >> /etc/chrony.conf
systemctl start chronyd.service && systemctl enable chronyd.service

#制御ノードのホスト名設定
hostnamectl ホスト名設定コントローラー

#コンピューティングノードのホスト名の設定
ホスト名ctl set-hostname compute1

#ホストを追加
echo "10.0.0.11 コントローラ" >> /etc/hosts
echo "10.0.0.31 compute1" >> /etc/hosts

#基本コンポーネントをインストールします yum install -y centos-release-openstack-ussuri
yum config-manager --set-enabled パワーツール
yum アップグレード -y
yum インストール -y python3-openstackclient

#コントロールノードにMariadbをインストールする
yum インストール -y mariadb mariadb-server python2-PyMySQL
tee /etc/my.cnf.d/openstack.cnf <<-'EOF'
[mysqld]
バインドアドレス = 10.0.0.11
デフォルトのストレージエンジン = innodb
innodb_file_per_table = オン
最大接続数 = 4096
照合サーバー = utf8_general_ci
文字セットサーバー = utf8
終了
systemctl で mariadb.service を有効にし、systemctl で mariadb.service を開始します。
echo -e "\nY\n123456\n123456\nY\nn\nY\nY\n" | mysql_secure_installation

#コントロールノードにRabbitMQをインストールする
yum インストール -y rabbitmq-server
systemctl で rabbitmq-server.service を有効にし、systemctl で rabbitmq-server.service を開始します。
rabbitmqctl add_user openstack 123456
rabbitmqctl set_permissions openstack ".*" ".*" ".*"

#コントロールノードにMemcachedをインストールする
yum インストール -y memcached python3-memcached
sed -i "s/-l 127.0.0.1,::1/-l 127.0.0.1,::1,controller/g" /etc/sysconfig/memcached
systemctl で memcached.service を有効にし、systemctl で memcached.service を開始します。

#制御ノードのインストール Etcd
yum インストール -y etcd
rm -f /etc/etcd/etcd.conf
tee /etc/etcd/etcd.conf <<-'EOF'
#[メンバー]
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="コントローラー"
#[クラスタリング]
ETCD_INITIAL_ADVERTISE_PEER_URLS="http://10.0.0.11:2380"
ETCD_ADVERTISE_CLIENT_URLS="http://10.0.0.11:2379"
ETCD_INITIAL_CLUSTER="コントローラー=http://10.0.0.11:2380"
ETCD_INITIAL_CLUSTER_TOKEN="etcd-cluster-01"
ETCD_INITIAL_CLUSTER_STATE="新規"
終了
systemctl で etcd を有効にし、systemctl で etcd を開始します。

#コントロールノードにIdentityサービスをインストールする
mysql -uroot -p123456 -e "データベースキーストーンを作成"
mysql -uroot -p123456 -e "keystone.* のすべての権限を、'123456' で識別される 'keystone'@'localhost' に付与します"
mysql -uroot -p123456 -e "keystone.* のすべての権限を 'keystone'@'%' ('123456' で識別) に付与します"
yum インストール -y openstack-keystone httpd python3-mod_wsgi
sed -i "556c 接続 = mysql+pymysql://keystone:123456@controller/keystone" /etc/keystone/keystone.conf
sed -i "2418c プロバイダー = fernet" /etc/keystone/keystone.conf
su -s /bin/sh -c "keystone-manage db_sync" キーストーン
keystone-manage fernet_setup --keystone-user keystone --keystone-group keystone
keystone-manage credential_setup --keystone-user keystone --keystone-group keystone
keystone-manage ブートストラップ --bootstrap-password 123456 \
 --bootstrap-admin-url http://コントローラ:5000/v3/ \
 --bootstrap-internal-url http://コントローラ:5000/v3/ \
 --bootstrap-public-url http://コントローラ:5000/v3/ \
 --bootstrap-region-id リージョンワン
echo "ServerName コントローラ" >> /etc/httpd/conf/httpd.conf
ln -s /usr/share/keystone/wsgi-keystone.conf /etc/httpd/conf.d/
systemctl で httpd.service を有効にし、systemctl で httpd.service を開始します。
echo "OS_USERNAME=admin" をエクスポート >> /etc/profile
echo "OS_PASSWORD=123456をエクスポート" >> /etc/profile
echo "OS_PROJECT_NAME=admin" をエクスポート >> /etc/profile
echo "OS_USER_DOMAIN_NAME=Default をエクスポート" >> /etc/profile
echo "OS_PROJECT_DOMAIN_NAME=Default をエクスポート" >> /etc/profile
echo "OS_AUTH_URL=http://controller:5000/v3" をエクスポート >> /etc/profile
echo "OS_IDENTITY_API_VERSION=3 をエクスポート" >> /etc/profile
ソース /etc/profile
openstack project create --domain default --description "サービスプロジェクト" サービス

#コントロールノードのインストールイメージサービス
mysql -uroot -p123456 -e "CREATE DATABASE Glance"
mysql -uroot -p123456 -e "'123456' で識別される 'glance'@'localhost' に、glance.* のすべての権限を付与します"
mysql -uroot -p123456 -e "'123456' で識別される 'glance'@'%' に、glance.* のすべての権限を付与します"
openstack ユーザー作成 --domain デフォルト --password 123456 一目
openstack ロールの追加 --project サービス --user 一覧管理者
openstack service create --name glance --description "OpenStack イメージ" イメージ
openstack エンドポイント作成 --region RegionOne イメージ公開 http://controller:9292
openstack エンドポイント作成 --region RegionOne イメージ内部 http://controller:9292
openstack エンドポイント作成 --region RegionOne イメージ管理者 http://controller:9292
yum インストール -y openstack-glance
sed -i "2062c 接続 = mysql+pymysql://glance:123456@controller/glance" /etc/glance/glance-api.conf
sed -i "5034c www_authenticate_uri = http://controller:5000" /etc/glance/glance-api.conf
sed -i "5035c auth_url = http://controller:5000" /etc/glance/glance-api.conf
sed -i "5036c memcached_servers = コントローラ:11211" /etc/glance/glance-api.conf
sed -i "5037c auth_type = パスワード" /etc/glance/glance-api.conf
sed -i "5038c project_domain_name = デフォルト" /etc/glance/glance-api.conf
sed -i "5039c user_domain_name = デフォルト" /etc/glance/glance-api.conf
sed -i "5040c プロジェクト名 = サービス" /etc/glance/glance-api.conf
sed -i "5041c ユーザー名 = glance" /etc/glance/glance-api.conf
sed -i "5042c パスワード = 123456" /etc/glance/glance-api.conf
sed -i "5678c フレーバー = keystone" /etc/glance/glance-api.conf
sed -i "3413c ストア = ファイル、http" /etc/glance/glance-api.conf
sed -i "3414c default_store = ファイル" /etc/glance/glance-api.conf
sed -i "3415c filesystem_store_datadir = /var/lib/glance/images/" /etc/glance/glance-api.conf
su -s /bin/sh -c "glance-manage db_sync" を実行します。
systemctl で openstack-glance-api.service を有効にし、 systemctl で openstack-glance-api.service を開始します。

#コントロールノードが配置サービスをインストールします
mysql -uroot -p123456 -e "CREATE DATABASE 配置"
mysql -uroot -p123456 -e "placement.* のすべての権限を、'123456' で識別される 'placement'@'localhost' に付与します"
mysql -uroot -p123456 -e "placement.* のすべての権限を、'123456' で識別される 'placement'@'%' に付与します"
openstack ユーザー作成 --domain デフォルト --password 123456 配置
openstack ロール追加 --プロジェクト サービス --ユーザー 配置 管理者
openstack service create --name placement --description "Placement API" 配置
openstack エンドポイント作成 --region RegionOne 配置 public http://controller:8778
openstack エンドポイント作成 --region RegionOne 配置内部 http://controller:8778
openstack エンドポイント作成 --region RegionOne 配置管理者 http://controller:8778
yum インストール -y openstack-placement-api
sed -i "507c 接続 = mysql+pymysql://placement:123456@controller/placement" /etc/placement/placement.conf
sed -i "192c auth_strategy = keystone" /etc/placement/placement.conf
sed -i "241c auth_url = http://controller:5000/v3" /etc/placement/placement.conf
sed -i "242c memcached_servers = コントローラ:11211" /etc/placement/placement.conf
sed -i "243c auth_type = パスワード" /etc/placement/placement.conf
sed -i "244c project_domain_name = デフォルト" /etc/placement/placement.conf
sed -i "245c user_domain_name = デフォルト" /etc/placement/placement.conf
sed -i "246c プロジェクト名 = サービス" /etc/placement/placement.conf
sed -i "247c ユーザー名 = 配置" /etc/placement/placement.conf
sed -i "248c パスワード = 123456" /etc/placement/placement.conf
su -s /bin/sh -c "p​​lacement-manage db sync" 配置
systemctl で httpd を再起動します。

#コントロールノードがコンピューティングサービスをインストールする
mysql -uroot -p123456 -e "データベース nova_api を作成"
mysql -uroot -p123456 -e "データベース nova を作成"
mysql -uroot -p123456 -e "データベース nova_cell0 を作成"
mysql -uroot -p123456 -e "'123456' で識別される 'nova'@'localhost' に nova_api.* のすべての権限を付与します"
mysql -uroot -p123456 -e "'123456' で識別される 'nova'@'%' に nova_api.* のすべての権限を付与します"
mysql -uroot -p123456 -e "nova.* のすべての権限を、'123456' で識別される 'nova'@'localhost' に付与します"
mysql -uroot -p123456 -e "'123456' で識別される 'nova'@'%' に nova.* のすべての権限を付与します"
mysql -uroot -p123456 -e "nova_cell0.* のすべての権限を、'123456' で識別される 'nova'@'localhost' に付与します"
mysql -uroot -p123456 -e "'123456' で識別される 'nova'@'%' に nova_cell0.* のすべての権限を付与します"
openstack ユーザー作成 --domain デフォルト --password 123456 nova
openstack ロールの追加 --プロジェクト サービス --ユーザー nova 管理者
openstack サービス作成 --name nova --description "OpenStack Compute" 計算
openstack エンドポイント作成 --region RegionOne コンピューティング パブリック http://controller:8774/v2.1
openstack エンドポイント作成 --region RegionOne コンピューティング内部 http://controller:8774/v2.1
openstack エンドポイント作成 --region RegionOne コンピューティング管理者 http://controller:8774/v2.1
yum インストール -y openstack-nova-api openstack-nova-conductor openstack-nova-novncproxy openstack-nova-scheduler
sed -i "2c enabled_apis = osapi_compute、メタデータ" /etc/nova/nova.conf
sed -i "3c transport_url = rabbit://openstack:123456@controller:5672/" /etc/nova/nova.conf
sed -i "4c my_ip = 10.0.0.11" /etc/nova/nova.conf
sed -i "1079c 接続 = mysql+pymysql://nova:123456@controller/nova_api" /etc/nova/nova.conf
sed -i "1622c 接続 = mysql+pymysql://nova:123456@controller/nova" /etc/nova/nova.conf
sed -i "872c auth_strategy = keystone" /etc/nova/nova.conf
sed -i "2561c www_authenticate_uri = http://controller:5000/" /etc/nova/nova.conf
sed -i "2562c auth_url = http://controller:5000/" /etc/nova/nova.conf
sed -i "2563c memcached_servers = コントローラ:11211" /etc/nova/nova.conf
sed -i "2564c auth_type = パスワード" /etc/nova/nova.conf
sed -i "2565c project_domain_name = デフォルト" /etc/nova/nova.conf
sed -i "2566c user_domain_name = デフォルト" /etc/nova/nova.conf
sed -i "2567c プロジェクト名 = サービス" /etc/nova/nova.conf
sed -i "2568c ユーザー名 = nova" /etc/nova/nova.conf
sed -i "2569c パスワード = 123456" /etc/nova/nova.conf
sed -i "5171c 有効 = true" /etc/nova/nova.conf
sed -i '5172c server_listen = $my_ip' /etc/nova/nova.conf
sed -i '5173c server_proxyclient_address = $my_ip' /etc/nova/nova.conf
sed -i "1937c api_servers = http://controller:9292" /etc/nova/nova.conf
sed -i "3571c lock_path = /var/lib/nova/tmp" /etc/nova/nova.conf
sed -i "4093c リージョン名 = RegionOne" /etc/nova/nova.conf
sed -i "4094c project_domain_name = デフォルト" /etc/nova/nova.conf
sed -i "4095c プロジェクト名 = サービス" /etc/nova/nova.conf
sed -i "4096c auth_type = パスワード" /etc/nova/nova.conf
sed -i "4097c user_domain_name = デフォルト" /etc/nova/nova.conf
sed -i "4098c auth_url = http://controller:5000/v3" /etc/nova/nova.conf
sed -i "4099c ユーザー名 = 配置" /etc/nova/nova.conf
sed -i "4100c パスワード = 123456" /etc/nova/nova.conf
sed -i "4509c discover_hosts_in_cells_interval = 300" /etc/nova/nova.conf
su -s /bin/sh -c "nova-manage api_db sync" nova
su -s /bin/sh -c "nova-manage cell_v2 map_cell0" nova
su -s /bin/sh -c "nova-manage cell_v2 create_cell --name=cell1 --verbose" nova
su -s /bin/sh -c "nova-manage db sync" nova
systemctl で openstack-nova-api.service と openstack-nova-scheduler.service を有効にし、 systemctl で openstack-nova-novncproxy.service を開始します。

#コンピューティングノードのインストール コンピューティングサービス
yum インストール -y openstack-nova-compute
sed -i "2c enabled_apis = osapi_compute、メタデータ" /etc/nova/nova.conf
sed -i "3c transport_url = rabbit://openstack:123456@controller" /etc/nova/nova.conf
sed -i "4c my_ip = 10.0.0.31" /etc/nova/nova.conf
sed -i "872c auth_strategy = keystone" /etc/nova/nova.conf
sed -i "2561c www_authenticate_uri = http://controller:5000/" /etc/nova/nova.conf
sed -i "2562c auth_url = http://controller:5000/" /etc/nova/nova.conf
sed -i "2563c memcached_servers = コントローラ:11211" /etc/nova/nova.conf
sed -i "2564c auth_type = パスワード" /etc/nova/nova.conf
sed -i "2565c project_domain_name = デフォルト" /etc/nova/nova.conf
sed -i "2566c user_domain_name = デフォルト" /etc/nova/nova.conf
sed -i "2567c プロジェクト名 = サービス" /etc/nova/nova.conf
sed -i "2568c ユーザー名 = nova" /etc/nova/nova.conf
sed -i "2569c パスワード = 123456" /etc/nova/nova.conf
sed -i "5171c 有効 = true" /etc/nova/nova.conf
sed -i "5172c server_listen = 0.0.0.0" /etc/nova/nova.conf
sed -i '5173c server_proxyclient_address = $my_ip' /etc/nova/nova.conf
sed -i "5174c novncproxy_base_url = http://controller:6080/vnc_auto.html" /etc/nova/nova.conf
sed -i "1937c api_servers = http://controller:9292" /etc/nova/nova.conf
sed -i "3571c lock_path = /var/lib/nova/tmp" /etc/nova/nova.conf
sed -i "4093c リージョン名 = RegionOne" /etc/nova/nova.conf
sed -i "4094c project_domain_name = デフォルト" /etc/nova/nova.conf
sed -i "4095c プロジェクト名 = サービス" /etc/nova/nova.conf
sed -i "4096c auth_type = パスワード" /etc/nova/nova.conf
sed -i "4097c user_domain_name = デフォルト" /etc/nova/nova.conf
sed -i "4098c auth_url = http://controller:5000/v3" /etc/nova/nova.conf
sed -i "4099c ユーザー名 = 配置" /etc/nova/nova.conf
sed -i "4100c パスワード = 123456" /etc/nova/nova.conf

#CPU 仮想化がサポートされているかどうかを確認するコマンドを実行します。0 より大きい場合はサポートされています。
egrep -c '(vmx|svm)' /proc/cpuinfo
#サポートされていない場合は、次のコマンドを実行する必要があります sed -i "2722c virt_type = qemu" /etc/nova/nova.conf

systemctl で libvirtd.service openstack-nova-compute.service を有効にし、systemctl で libvirtd.service openstack-nova-compute.service を開始します。

#制御ノードコンピューティングノードの登録から検出までには遅延があり、discover_hosts_in_cells_interval設定のポーリング検出時間に応じて、コンピューティングノードを手動で検出するには、次のコマンドを実行できます。su -s /bin/sh -c "nova-manage cell_v2 discover_hosts --verbose" nova

#コントロールノードがネットワークサービスをインストールします
mysql -uroot -p123456 -e "データベース neutron を作成"
mysql -uroot -p123456 -e "neutron.* のすべての権限を、'123456' で識別される 'neutron'@'localhost' に付与します"
mysql -uroot -p123456 -e "neutron.* のすべての権限を、'123456' で識別される 'neutron'@'%' に付与します"
openstack ユーザー作成 --domain デフォルト --password 123456 neutron
openstack ロール追加 --プロジェクト サービス --ユーザー neutron 管理者
openstack service create --name neutron --description "OpenStack Networking" ネットワーク
openstack エンドポイント作成 --region RegionOne ネットワーク パブリック http://controller:9696
openstack エンドポイント作成 --region RegionOne ネットワーク内部 http://controller:9696
openstack エンドポイント作成 --region RegionOne ネットワーク管理者 http://controller:9696
yum インストール -y openstack-neutron openstack-neutron-ml2 openstack-neutron-linuxbridge ebtables
#サーバーコンポーネントを構成する sed -i "2c core_plugin = ml2" /etc/neutron/neutron.conf
sed -i "3c service_plugins = router" /etc/neutron/neutron.conf
sed -i "4c allow_overlapping_ips = true" /etc/neutron/neutron.conf
sed -i "5c transport_url = rabbit://openstack:123456@controller" /etc/neutron/neutron.conf
sed -i "6c auth_strategy = keystone" /etc/neutron/neutron.conf
sed -i "7c 通知_nova_on_port_status_changes = true" /etc/neutron/neutron.conf
sed -i "8c 通知_nova_on_port_data_changes = true" /etc/neutron/neutron.conf
sed -i "254c 接続 = mysql+pymysql://neutron:123456@controller/neutron" /etc/neutron/neutron.conf
sed -i "359c www_authenticate_uri = http://controller:5000" /etc/neutron/neutron.conf
sed -i "360c auth_url = http://controller:5000" /etc/neutron/neutron.conf
sed -i "361c memcached_servers = コントローラ:11211" /etc/neutron/neutron.conf
sed -i "362c auth_type = パスワード" /etc/neutron/neutron.conf
sed -i "363c プロジェクトドメイン名 = デフォルト" /etc/neutron/neutron.conf
sed -i "364c user_domain_name = デフォルト" /etc/neutron/neutron.conf
sed -i "365c プロジェクト名 = サービス" /etc/neutron/neutron.conf
sed -i "366c ユーザー名 = neutron" /etc/neutron/neutron.conf
sed -i "367c パスワード = 123456" /etc/neutron/neutron.conf
sed -i "521c lock_path = /var/lib/neutron/tmp" /etc/neutron/neutron.conf
echo "[nova]" >> /etc/neutron/neutron.conf
echo "auth_url = http://controller:5000" >> /etc/neutron/neutron.conf
echo "auth_type = password" >> /etc/neutron/neutron.conf
echo "project_domain_name = default" >> /etc/neutron/neutron.conf
echo "user_domain_name = default" >> /etc/neutron/neutron.conf
echo "region_name = RegionOne" >> /etc/neutron/neutron.conf
echo "プロジェクト名 = サービス" >> /etc/neutron/neutron.conf
echo "ユーザー名 = nova" >> /etc/neutron/neutron.conf
echo "パスワード = 123456" >> /etc/neutron/neutron.conf
#モジュラーレイヤー2(ML2)プラグインを構成する
echo "[ml2]" >> /etc/neutron/plugins/ml2/ml2_conf.ini
echo "type_drivers = flat,vlan,vxlan" >> /etc/neutron/plugins/ml2/ml2_conf.ini
echo "tenant_network_types = vxlan" >> /etc/neutron/plugins/ml2/ml2_conf.ini
echo "mechanism_drivers = linuxbridge,l2population" >> /etc/neutron/plugins/ml2/ml2_conf.ini
echo "extension_drivers = port_security" >> /etc/neutron/plugins/ml2/ml2_conf.ini
echo "[ml2_type_flat]" >> /etc/neutron/plugins/ml2/ml2_conf.ini
echo "flat_networks = provider" >> /etc/neutron/plugins/ml2/ml2_conf.ini
echo "vni_ranges = 1:1000" >> /etc/neutron/plugins/ml2/ml2_conf.ini
echo "[セキュリティグループ]" >> /etc/neutron/plugins/ml2/ml2_conf.ini
echo "enable_ipset = true" >> /etc/neutron/plugins/ml2/ml2_conf.ini
#Linux ブリッジエージェントを構成する
echo "[linux_bridge]" >> /etc/neutron/plugins/ml2/linuxbridge_agent.ini
#eth1 は 2 番目のネットワーク カードです echo "physical_interface_mappings = provider:eth1" >> /etc/neutron/plugins/ml2/linuxbridge_agent.ini
echo "[vxlan]" >> /etc/neutron/plugins/ml2/linuxbridge_agent.ini
echo "enable_vxlan = true" >> /etc/neutron/plugins/ml2/linuxbridge_agent.ini
#10.0.0.12は2番目のネットワークカードのIPアドレスです
echo "local_ip = 10.0.0.12" >> /etc/neutron/plugins/ml2/linuxbridge_agent.ini
echo "l2_population = true" >> /etc/neutron/plugins/ml2/linuxbridge_agent.ini
echo "[セキュリティグループ]" >> /etc/neutron/plugins/ml2/linuxbridge_agent.ini
echo "enable_security_group = true" >> /etc/neutron/plugins/ml2/linuxbridge_agent.ini
echo "firewall_driver = neutron.agent.linux.iptables_firewall.IptablesFirewallDriver" >> /etc/neutron/plugins/ml2/linuxbridge_agent.ini
#レイヤー3エージェントを構成する
sed -i "2c interface_driver = linuxbridge" /etc/neutron/l3_agent.ini
#DHCPエージェントの設定
sed -i "2c interface_driver = linuxbridge" /etc/neutron/dhcp_agent.ini
sed -i "3c dhcp_driver = neutron.agent.linux.dhcp.Dnsmasq" /etc/neutron/dhcp_agent.ini
sed -i "4c enable_isolated_metadata = true" /etc/neutron/dhcp_agent.ini
#メタデータエージェントを構成する
sed -i "2c nova_metadata_host = コントローラー" /etc/neutron/metadata_agent.ini
sed -i "3c metadata_proxy_shared_secret = 123456" /etc/neutron/metadata_agent.ini
#ネットワークサービスを使用するようにコンピューティングサービスを設定します sed -i " 3334c auth_url = http://controller:5000" /etc/nova/nova.conf
sed -i " 3335c auth_type = パスワード" /etc/nova/nova.conf
sed -i " 3336c プロジェクトドメイン名 = デフォルト" /etc/nova/nova.conf
sed -i " 3337c user_domain_name = デフォルト" /etc/nova/nova.conf
sed -i " 3338c リージョン名 = RegionOne" /etc/nova/nova.conf
sed -i " 3339c プロジェクト名 = サービス" /etc/nova/nova.conf
sed -i " 3340c ユーザー名 = neutron" /etc/nova/nova.conf
sed -i " 3341c パスワード = 123456" /etc/nova/nova.conf
sed -i " 3342c service_metadata_proxy = true" /etc/nova/nova.conf
sed -i " 3343c metadata_proxy_shared_secret = 123456" /etc/nova/nova.conf
ln -s /etc/neutron/plugins/ml2/ml2_conf.ini /etc/neutron/plugin.ini
su -s /bin/sh -c "neutron-db-manage --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugins/ml2/ml2_conf.ini アップグレードヘッド" neutron
systemctl で openstack-nova-api.service を再起動します。
systemctl は、neutron-server.service、neutron-linuxbridge-agent.service、neutron-dhcp-agent.service、neutron-metadata-agent.service を有効にし、systemctl は、neutron-server.service、neutron-linuxbridge-agent.service、neutron-dhcp-agent.service、neutron-metadata-agent.service を開始します。
systemctl で neutron-l3-agent.service を有効にし、systemctl で neutron-l3-agent.service を開始します。

#コンピューティングノードにネットワークサービスをインストールする
yum インストール -y openstack-neutron-linuxbridge ebtables ipset
sed -i "2c transport_url = rabbit://openstack:123456@controller" /etc/neutron/neutron.conf
sed -i "3c auth_strategy = keystone" /etc/neutron/neutron.conf
sed -i "359c www_authenticate_uri = http://controller:5000" /etc/neutron/neutron.conf
sed -i "360c auth_url = http://controller:5000" /etc/neutron/neutron.conf
sed -i "361c memcached_servers = コントローラ:11211" /etc/neutron/neutron.conf
sed -i "362c auth_type = パスワード" /etc/neutron/neutron.conf
sed -i "363c プロジェクトドメイン名 = デフォルト" /etc/neutron/neutron.conf
sed -i "364c user_domain_name = デフォルト" /etc/neutron/neutron.conf
sed -i "365c プロジェクト名 = サービス" /etc/neutron/neutron.conf
sed -i "366c ユーザー名 = neutron" /etc/neutron/neutron.conf
sed -i "367c パスワード = 123456" /etc/neutron/neutron.conf
sed -i "521c lock_path = /var/lib/neutron/tmp" /etc/neutron/neutron.conf
echo "[linux_bridge]" >> /etc/neutron/plugins/ml2/linuxbridge_agent.ini
#eth1 は 2 番目のネットワーク カードです echo "physical_interface_mappings = provider:eth1" >> /etc/neutron/plugins/ml2/linuxbridge_agent.ini
echo "[vxlan]" >> /etc/neutron/plugins/ml2/linuxbridge_agent.ini
echo "enable_vxlan = true" >> /etc/neutron/plugins/ml2/linuxbridge_agent.ini
#10.0.0.32は2番目のネットワークカードのIPアドレスです
echo "local_ip = 10.0.0.32" >> /etc/neutron/plugins/ml2/linuxbridge_agent.ini
echo "l2_population = true" >> /etc/neutron/plugins/ml2/linuxbridge_agent.ini
echo "[セキュリティグループ]" >> /etc/neutron/plugins/ml2/linuxbridge_agent.ini
echo "enable_security_group = true" >> /etc/neutron/plugins/ml2/linuxbridge_agent.ini
echo "firewall_driver = neutron.agent.linux.iptables_firewall.IptablesFirewallDriver" >> /etc/neutron/plugins/ml2/linuxbridge_agent.ini
#ネットワークサービスを使用するようにコンピューティングサービスを設定します sed -i " 3334c auth_url = http://controller:5000" /etc/nova/nova.conf
sed -i " 3335c auth_type = パスワード" /etc/nova/nova.conf
sed -i " 3336c プロジェクトドメイン名 = デフォルト" /etc/nova/nova.conf
sed -i " 3337c user_domain_name = デフォルト" /etc/nova/nova.conf
sed -i " 3338c リージョン名 = RegionOne" /etc/nova/nova.conf
sed -i " 3339c プロジェクト名 = サービス" /etc/nova/nova.conf
sed -i " 3340c ユーザー名 = neutron" /etc/nova/nova.conf
sed -i " 3341c パスワード = 123456" /etc/nova/nova.conf
systemctl で openstack-nova-compute.service を再起動します。
systemctl で neutron-linuxbridge-agent.service を有効にし、systemctl で neutron-linuxbridge-agent.service を開始します。

#コントロールノードのインストールダッシュボード
yum インストール -y openstack-dashboard
sed -i '118c OPENSTACK_HOST = "コントローラ"' /etc/openstack-dashboard/local_settings
sed -i "39c ALLOWED_HOSTS = ['*']" /etc/openstack-dashboard/local_settings
sed -i "104c SESSION_ENGINE = 'django.contrib.sessions.backends.cache'" /etc/openstack-dashboard/local_settings
sed -i "94c CACHES = {" /etc/openstack-dashboard/local_settings
sed -i "95c 'デフォルト': {" /etc/openstack-dashboard/local_settings
sed -i "96c 'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache'," /etc/openstack-dashboard/local_settings
sed -i "97c '場所': 'コントローラ:11211'," /etc/openstack-dashboard/local_settings
sed -i "98c }" /etc/openstack-dashboard/local_settings
sed -i "99c }" /etc/openstack-dashboard/local_settings
sed -i '119c OPENSTACK_KEYSTONE_URL = "http://%s:5000/v3" % OPENSTACK_HOST' /etc/openstack-dashboard/local_settings
'OPENSTACK_KEYSTONE_MULTIDOMAIN_SUPPORT = True' をエコーし​​ます >> /etc/openstack-dashboard/local_settings
echo 'OPENSTACK_API_VERSIONS = {' >> /etc/openstack-dashboard/local_settings
echo ' "identity": 3,' >> /etc/openstack-dashboard/local_settings
echo ' "image": 2,' >> /etc/openstack-dashboard/local_settings
echo ' "volume": 3' >> /etc/openstack-dashboard/local_settings
エコー '}' >> /etc/openstack-dashboard/local_settings
echo 'OPENSTACK_KEYSTONE_DEFAULT_DOMAIN = "Default"' >> /etc/openstack-dashboard/local_settings
'OPENSTACK_KEYSTONE_DEFAULT_ROLE = "user"' をエコーし​​ます >> /etc/openstack-dashboard/local_settings
sed -i '123c TIME_ZONE = "Asia/Shanghai"' /etc/openstack-dashboard/local_settings
echo "WEBROOT = '/dashboard/'" >> /etc/openstack-dashboard/local_settings
'WSGIApplicationGroup %{GLOBAL}' をエコーし​​ます >> /etc/httpd/conf.d/openstack-dashboard.conf
systemctl を再起動します httpd.service memcached.service

#インストールが完了しました。http://10.0.0.11/dashboard/ にアクセスして確認できます。

要約する

Centos8 での OpenStack Ussuri のデプロイメントを最小限に抑える方法に関する詳細なチュートリアルに関するこの記事はこれで終わりです。Centos8 での OpenStack Ussuri のデプロイメントを最小限に抑える方法の詳細については、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後も 123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • CentOS8 デプロイメント LNMP 環境で mysql8.0.29 をコンパイルしてインストールする方法の詳細なチュートリアル

<<:  時刻を保存するために適切な MySQL の datetime 型を選択する方法

>>:  vuexサードパーティパッケージを使用してデータの永続性を実装する方法

推薦する

Chrome タブバーを実装するための CSS のヒント

今回は、Google Chrome のタブバーのような、特殊な丸い角を持つナビゲーション バーのレイ...

JavaScript 文字列オブジェクトメソッド

目次文字列オブジェクトのメソッド方法 1: indexOf() (推奨)方法 2: search()...

Linux Samba サーバーの超詳細なインストールと構成 (問題解決付き)

目次Samba サーバーの紹介Samba サーバー コンポーネントSamba サーバー関連の設定ファ...

nginxリバースプロキシによるセッション障害の問題の解決策

同僚から助けを求められました。バックエンド システムへのログインは成功したものの、システムには正常に...

innodb_flush_method 値メソッド (例の説明)

innodb_flush_methodのいくつかの典型的な値 fsync: InnoDB は fs...

jsを使ってシンプルなディスククロックを実現する

この記事では、参考までに、シンプルなディスククロックを実装するためのjsの具体的なコードを紹介します...

Linux での sshd サービスとサービス管理コマンドの詳細な説明

sshd SSH は Secure Shell の略で、アプリケーション層のセキュリティ プロトコル...

JavaScript 配列のマージのケーススタディ

方法1: var a = [1,2,3]; var b = [4,5] b を連結します。 コンソー...

MySQLサーバーが消えたエラーの解決策

PHP で MySQL サーバーが消えた問題1. 背景以前、Codeigniter でコンソール コ...

HTML、CSS、RSSフィードが正しいかどうかを確認する無料ツール

この種のエラーに対処するための 1 つの方法は、まずマークアップとスタイルシートを検証することです。...

MySQL InnoDB ストレージ エンジンの詳細

序文MySQL では、InnoDB はストレージ エンジン レイヤーに属し、プラグインとしてデータベ...

Linuxにおけるselinuxの基本設定チュートリアルの詳細な説明

selinux ( Security-Enhanced Linux)は、Linux カーネル モジュ...

mysqlは複数の主キーを設定する操作を実装します

ユーザーテーブル、ID番号は一意である必要があります、携帯電話番号、電子メールアドレスは一意である必...

Zabbix で Windows のパフォーマンスを監視する方法

背景情報最近、Windows パフォーマンスに関する本を読み直しています。以前は SCOM 監視を使...

UbuntuはSSHサービスのリモートログイン操作を開始します

ssh-secure シェルは、安全なリモート ログインを提供します。組み込みシステムを開発し、Li...