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

推薦する

Docker データ管理 (データ ボリュームとデータ ボリューム コンテナー) の詳細な説明

実稼働環境で Docker を使用する場合、多くの場合、データを複数のコンテナ間で永続化または共有す...

JavaScript を使用して動的な QQ 登録ページを作成する

目次1. はじめに1. 基本レイアウト2. 写真を自動的に切り替える3. コンテンツを追加する4. ...

Docker を使用してスタンドアロン Pulsar とクラスター化された Redis をデプロイする方法 (開発アーティファクト)

目次1. はじめに: 2. ドッカー: 1 カスタムネットワーク2 展開を開始する3 ネットワークを...

強くお勧めします! Vue 3.2 でシンタックスシュガーを設定する

目次前の1. セットアップ構文シュガーとは何か2. セットアップコンポーネントを使用して自動的に登録...

HTMLを使用して、IPを制限する投票ウェブサイトの不正行為スキームを実装する

これは、IP アドレスが制限されている投票 Web サイトの不正行為の手口です。この方法は、投票 W...

Javascriptで戦略パターンを実装する方法

目次概要コードの実装要約する概要戦略パターンは、JavaScript デザイン パターンにおける動作...

ElementUIはカスケードセレクタを実装します

この記事の例では、カスケードセレクターを実装するためのelementUIの具体的なコードを参考までに...

js はマウスインとマウスアウトによるカード切り替えコンテンツを実装します

この記事では、マウスでカード内外のコンテンツを切り替えるためのjsの具体的なコードを紹介します。具体...

JavaScript の new 演算子の原理と例の詳細な説明

新しい用途new の機能は、コンストラクターを通じてインスタンス オブジェクトを作成することです。イ...

ノードでシェルスクリプトを使用する方法

背景開発中、特定の状況でビジネス ロジックをバッチ処理するためのスクリプトが必要になる場合があります...

Vueプロジェクトでlessを使用するためのヒント

目次序文1. スタイルの浸透1. パターン浸透とは何ですか? 2. 使い方は? 2. ミキシング1....

Linux で Apache を使用してファイル サーバーを構築する手順

1. ファイルサーバーについてプロジェクトでは、公開ソフトウェアやデータをプロジェクト チーム メン...

jsを使用してサーバーに写真をアップロードする

この記事の例では、参考のために画像をサーバーにアップロードするためのjsの具体的なコードを共有してい...

vue3 キャッシュページキープアライブと統合ルーティング処理の詳細な説明

目次1. はじめに2. 使用1. vue2とvue3の違い2. ページ上の一部のデータはキャッシュす...

広告を閉じる効果を実現するJavascript

参考までに、Javascript を使用して広告を閉じる方法に関するケース スタディを示します。詳細...