devstackを使用して、ubuntu18.04の下にopenstackマルチノードussuriバージョンをインストールします

マルチノードopenstackインストールするには、公式のdevstackドキュメント「Multi- NodeLab」を参照してください
ただし、公式文書では国内ネットワークの問題を考慮していないため、基本的にインストールは不可能でした。具体的な解決策については、前のドキュメント「ubuntu18.04でdevstackを使用してopenstackをインストールする際の一般的な問題」を参照してください

さらに、公式のdevstackドキュメントでは、現在サポートされているのはussuriバージョンのマルチノードインストール(2020.07.27現在)のみであると指摘されているため、ussuriバージョンのdevstackのみを使用してussuriバージョンのopenstackをインストールできます。注意を払う。

具体的なインストール手順については、「Devstackを使用したUbuntu 18.04LtsでのシングルノードOpenstackの最新バージョンのインストール」を参照してください。手順6、9、10にはわずかな違いがあり、比較することができ、より便利になります。 devstackを使用してopenstackをインストールします。経験。

必要なリソース:
それぞれ、制御されていないノードとnovaコンピューティングノードで構成された2台の物理マシンまたは仮想マシン。
どちらにもデュアルネットワークカードがあります。
内部ネットワークセグメント:10.4.128.0 / 20
外部ネットワークセグメント:192.168.42.0 / 24
フローティングIPネットワークセグメント:192.168.42.128/25
この例では、制御ノードアドレスは192.168.42.11と10.42.128.11です。コンピューティングノードのアドレスは192.168.42.12と10.4.128.12です。

1コードネームbionicのubuntu18.04ltsサーバーまたは仮想ホストをインストールします。特定の方法についてはBaiduに連絡してください。

2ログイン後、rootユーザーに切り替えます。

sudo su – root

3 ubuntuソースを国内ソースに置き換えます。いくつかのテストの後、清華ソースが最終的に使用されます。

mv /etc/apt/sources.list /etc/apt/sources.list.bak
vim /etc/apt/sources.list

次のコンテンツを追加します。

deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse

ubuntu18.04を更新します。

apt update -y && apt -y upgrade

4タイムゾーンを設定します。

dpkg-reconfigure tzdata

アジアを選択->上海を選択-> OK

同步时间命令:
#安装时间同步工具
sudo apt-get install ntpdate
#与网络服务器同步时间
sudo ntpdate cn.pool.ntp.org
#查看时间是否已经同步
date

5pipをDoubanyuanに置き換えます

mkdir .pip
vi .pip/pip.conf

次のコンテンツを追加します。

[global]
index-url = http://pypi.douban.com/simple/
trusted-host = pypi.douban.com

6 devstackをダウンロードします。ここのディレクトリは〜で、ダウンロードしたバージョンはussuriです。公式ドキュメントには、マルチノードはussuriのみをサポートし、更新されたvバージョンはまだサポートしていないと記載されています。まだ開発中です。

git clone https://github.com/openstack-dev/devstack -b stable/ussuri

7スタックユーザーを作成します

devstack/tools/create-stack-user.sh

8devstackディレクトリを/ opt / stackの下に置き、権限を設定します

mv devstack /opt/stack
chown -R stack:stack /opt/stack/devstack
sudo chmod -R 777 /opt/stack
sudo echo "stack ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers

9スタックユーザーに切り替えると、openstackのインストールが成功するまでスタックユーザーの下に表示されます。

sudo su - stack
mkdir ~/.ssh; chmod 700 ~/.ssh
echo "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCyYjfgyPazTvGpd8OaAvtU2utL8W6gWC4JdRS1J95GhNNfQd657yO6s1AH5KYQWktcE6FO/xNUC2reEXSGC7ezy+sGO1kj9Limv5vrvNHvF1+wts0Cmyx61D2nQw35/Qz8BvpdJANL7VwP/cFI/p3yhvx2lsnjFE3hN8xRB2LtLUopUSVdBwACOVUmH2G+2BWMJDjVINd2DPqRIA4Zhy09KJ3O1Joabr0XpQL0yt/I9x8BVHdAx6l9U0tMg9dj5+tAjZvMAFfye3PJcYwwsfJoFxC8w/SLtqlFX7Ehw++8RtvomvuipLdmWCy+T9hIkl+gHYE4cS3OIqXH7f49jdJf [email protected]" > ~/.ssh/authorized_keys

.pipをスタックとして再度作成し、Doubanソースに変更します

mkdir .pip
vi .pip/pip.conf

次のように書いてください。

[global]
index-url = http://pypi.douban.com/simple/
trusted-host = pypi.douban.com

10必要な情報を手動でダウンロードします。
/ filesディレクトリに切り替えて、etcdとcirrosを手動でダウンロードします。ネットワーク上の理由によりダウンロードが遅くなります。手動でダウンロードして/ opt / stack / devstack / filesに配置することをお勧めします。

cd opt/stack/devstack/files
wget -c https://github.com/coreos/etcd/releases/download/v3.3.12/etcd-v3.3.12-linux-amd64.tar.gz
wget -c http://download.cirros-cloud.net/0.4.0/cirros-0.4.0-x86_64-disk.img
wget -c https://github.com/coreos/etcd/releases/download/v3.1.10/etcd-v3.1.10-linux-amd64.tar.gz
wget -c https://github.com/coreos/etcd/releases/download/v3.1.7/etcd-v3.1.7-linux-amd64.tar.gz
wget -c https://bootstrap.pypa.io/get-pip.py

rootユーザーを使用して、horizo​​n、glance、noVNC、swift、neutron、placement、tempest、cinder、keystone、nove、requirementsなどのopenstackコンポーネントをダウンロードします。

sudo su - root
git clone http://github.com/openstack/horizon.git -b stable/ussuri /home/stack/ussuri/horizon
git clone http://github.com/openstack/glance.git -b stable/ussuri /home/stack/ussuri/glance
git clone http://github.com/openstack/swift.git -b stable/ussuri /home/stack/ussuri/swift
git clone http://github.com/openstack/neutron.git -b stable/ussuri /home/stack/ussuri/neutron
git clone http://github.com/openstack/placement.git -b stable/ussuri /home/stack/ussuri/placement
git clone http://github.com/openstack/tempest.git  /home/stack/ussuri/temptest
git clone http://github.com/openstack/cinder.git -b stable/ussuri /home/stack/ussuri/cinder
git clone http://github.com/openstack/keystone.git -b stable/ussuri /home/stack/ussuri/keystone
git clone http://github.com/openstack/nova.git -b stable/ussuri /home/stack/ussuri/nova
git clone http://github.com/openstack/requirements.git -b stable/ussuri /home//stack/ussuri/requirements
git clone https://github.com/kanaka/noVNC.git -b stable/v1.0.0 /home/stack/ussuri/noVNC

ダウンロードしたリソースを/ opt / stackにコピーします

cp -f  /home/stack/ussuri /opt/stack

権限の問題が原因です。したがって、もう一度スタックユーザー/ opt / stackディレクトリに777権限を付与します。

chown -R stack:stack /opt/stack/devstack
sudo chmod -R 777 /opt/stack
sudo echo "stack ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers

11スタックユーザーに戻り、devstackディレクトリに入り、local.conf構成ファイルを作成します。

sudo su - stack
cd /opt/stack/devstack
vi local.conf

最初にクラスターコントローラーを構成し、以下を記述します。devstackを使用してubuntu18.04の下にopenstackをインストールする場合の一般的な問題解決策を参照できますこの方法では、特定のネットワーク条件に従ってopenstackソースをデプロイします。この記事ではgitclone.comを使用していますが、http://git.trystack.cnが復元されたため、お勧めします。

[[local|localrc]]
#Define images to be automatically downloaded during the DevStack built process.
DOWNLOAD_DEFAULT_IMAGES=False
IMAGE_URLS="http://download.cirros-cloud.net/0.3.4/cirros-0.3.4-x86_64-disk.img"

#用gitclone.com吧,git clone https://gitclone.com/github.com/xxx/yyy.git 
GIT_BASE=https://gitclone.com/github.com
NOVNC_REPO=https://gitclone.com/github.com/kanaka/noVNC.git
SPICE_REPO=https://gitclone.com/github.com/git/spice/sice-html5.git

 #Credentials
 ##根据具体情况设置主机ip
HOST_IP=192.168.42.11
##根据实际情况设定内网ip
FIXED_RANGE=10.4.128.0/20
##根据实际情况设定浮动ip
FLOATING_RANGE=192.168.42.128/25
LOGFILE=/opt/stack/logs/stack.sh.log
ADMIN_PASSWORD=admin
DATABASE_PASSWORD=admin
RABBIT_PASSWORD=admin
SERVICE_PASSWORD=admin

マルチノード構成では、通常、最初の10個のプライベートアドレスを予約し、local.shに次のステートメントを追加します
。iはseq 2 10; do / opt / stack / nova / bin / nova-manage fixed reserved10.4.128。$ i;
そして./stack.shの実行後に実行します

./stack.shを実行します

nova計算ノード構成:

[[local|localrc]]
#Define images to be automatically downloaded during the DevStack built process.
DOWNLOAD_DEFAULT_IMAGES=False
IMAGE_URLS="http://download.cirros-cloud.net/0.3.4/cirros-0.3.4-x86_64-disk.img"

#用gitclone.com吧,git clone https://gitclone.com/github.com/xxx/yyy.git 
GIT_BASE=https://gitclone.com/github.com
NOVNC_REPO=https://gitclone.com/github.com/kanaka/noVNC.git
SPICE_REPO=https://gitclone.com/github.com/git/spice/sice-html5.git

#Credentials
HOST_IP=192.168.42.12 # change this per compute node
FIXED_RANGE=10.4.128.0/20
FLOATING_RANGE=192.168.42.128/25
LOGFILE=/opt/stack/logs/stack.sh.log
ADMIN_PASSWORD=admin
DATABASE_PASSWORD=admin
RABBIT_PASSWORD=admin
SERVICE_PASSWORD=admin
DATABASE_TYPE=mysql
SERVICE_HOST=192.168.42.11
MYSQL_HOST=$SERVICE_HOST
RABBIT_HOST=$SERVICE_HOST
GLANCE_HOSTPORT=$SERVICE_HOST:9292
ENABLED_SERVICES=n-cpu,q-agt,c-vol,placement-client
NOVA_VNC_ENABLED=True
NOVNCPROXY_URL="http://$SERVICE_HOST:6080/vnc_lite.html"
VNCSERVER_LISTEN=$HOST_IP
VNCSERVER_PROXYCLIENT_ADDRESS=$VNCSERVER_LISTEN

./stack.shを実行します

最初に制御ノードをインストールし、次に制御ノードが正常にインストールされた後にnovaコンピューティングノードをインストールし、コンピューティングノードと制御ノード間の通信が正常である必要があることに注意してください。

12 Ocataバージョン以降、NovaではCellsv2の展開が必要です。計算ノードサービスは、使用する前にセルにマップする必要があります。

各計算ノードをスタックした後、それが出力に表示されることを確認します。計算サービスはセルデータベースに非同期で登録されるため、ポーリングが必要になる場合があります。

nova service-list --binary nova-compute

計算ノードサービスが表示されたら、制御ノードからスクリプトを実行して、計算ホストを単一のユニットにマップします。

./tools/discover_hosts.sh

メインコントロールノードで実行されているコンピューティングサービスは、コントロールノードがスタックされると自動的に検出されるため、これは子ノードでのみ実行する必要があります。

13 「最新のdevstackインストール(ussuri)」から引用されたすべてのコンポーネントを一覧表示します。ll
/ etc / systemd / system / | grep devstack | awk '{print $ 9}'
出力:
[email protected]
devstack @c-sch。service
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
devstack @ n- cond -cell1.service
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
devstack @ q-agt.service
[email protected]
[email protected]
[email protected]
[email protected]

c- *は燃えがら、g- *は一瞥、n- *は新星、o- *はオクタビア、q- *は中性子

おすすめ

転載: blog.csdn.net/m0_49212388/article/details/107606727