最小限の展開で 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サードパーティパッケージを使用してデータの永続性を実装する方法

推薦する

CSS3 でのシンプルな LED デジタル時計の実装方法

これは多くの人がやったことがあるはずです。ただうずうずして書きたかったので、時間をかけていじってダー...

ミニプログラムはミニプログラムクラウドを使用してWeChatの支払い機能を実装します

目次1. WeChat Payを開く1.1 アフィリエイト加盟店番号1.2 加盟店番号を追加する1....

SQLクエリの実行順序をゼロから学ぶ

SQL クエリ ステートメントの実行順序は次のとおりです。 (7)選択 (8) DISTINCT &...

Reactのヒントはフックの依存関係の問題を解消する方法を教えます

reactプロジェクトで非常に一般的なシナリオ: const [watchValue、setWatc...

JavaScript でネットワーク速度をテストする方法

目次序文ネットワーク速度のフロントエンド判定原理のまとめ1. img を読み込むか Ajax リクエ...

Dockerコンテナの紹介

Dockerの概要Docker はオープンソースのソフトウェア展開ソリューションです。 Docker...

Vue は検証コードのカウントダウンボタンを実装します

この記事では、検証コードカウントダウンボタンを実装するためのVueの具体的なコードを例として紹介しま...

react+antd.3x は IP 入力ボックスを実装します

この記事では、IP入力ボックスを実装するための react+antd.3x の具体的なコードを参考ま...

Bootstrapグリッドの垂直および水平配置の詳細な説明

目次1. Bootstrap グリッドレイアウト2. 垂直方向の配置2.1 行タグの垂直方向の配置を...

MySQL 8.0.15 のインストールと設定のグラフィックチュートリアル

この記事ではMySQL 8.0.15のインストールと設定方法を参考までに記録します。具体的な内容は以...

マスタークラスタに再参加する k8s ノードの実装

1. ノードを削除するkubectl delete node node01を実行します。 2. この...

Vue の新しいパートナー TypeScript クイックスタート実践記録

目次1. 公式の足場を使って構築する2. プロジェクトディレクトリ分析3. TypeScript の...

MysqlクエリJSON結果に関連する関数の概要

JSON 形式のフィールドは、MySQL 5.7 で追加された新しい属性ですが、基本的には文字列とし...

Vue でデータが変更された後にビューを同期的に更新する方法

序文少し前に、興味深い問題を目にしました。Vue のデータが変更された後に、ビューを同期的に更新する...

JavaScriptタイマーの詳細な説明

目次簡単な紹介間隔の設定説明するパラメータ戻り値使用法タイムアウトの設定説明するパラメータ使用法:タ...