openstack集群搭建
關閉防火墻及修改vim /etc/selinux/config
[root@localhost ~]# setenforce 0
[root@localhost ~]# getenforce
關閉防火墻
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# systemctl disable firewalld
配置時間服務器
controller主機配置
[root@controller ~]# yum install -y chrony
修改配置文件
[root@controller ~]# vim /etc/chrony.conf
重啟服務
[root@controller ~]# systemctl restart chronyd
配置 /etc/hosts
[root@controller ~]# vim /etc/hosts
添加
192.168.100.10 controller
192.168.100.20 compute
[root@compute ~]# ping controller
?
安裝train版的依賴 [root@controller ~]# yum install -y python-openstackclient openstack-selinux
配置controller數據庫文件
[root@controller ~]# vim /etc/my.cnf
底部添加以下
開啟服務,設置開機自啟動 [root@controller ~]# systemctl enable mariadb.service && systemctl start mariadb.service
安裝rabbitmq消息隊列
[root@controller ~]# yum install rabbitmq-server -y
設置開機自啟
Systemctl enable rabbitmq-server.serivce ; systemctl start rabbitmq-server.service
創建用戶基于權限
[root@controller ~]# rabbitmqctl add_user openstack openstack123
[root@controller ~]# rabbitmqctl set_permissions openstack "." "." ".*"
查看用戶[root@controller ~]# rabbitmqctl list_users
安裝memcached
[root@controller ~]# yum install memcached python-memcached -y
修改文件
[root@controller ~]# vim /etc/sysconfig/Memcached
啟動服務
[root@controller ~]# systemctl enable memcached.service && systemctl start memcached.service
Controller節點登入數據庫
添加keystone庫;
MariaDB [(none)]> create database keystone;????? //創建keystone庫
MariaDB [(none)]> GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' IDENTIFIED BY ' keystone-PASS';
安裝keystone服務
[root@controller ~]# yum install openstack-keystone httpd mod_wsgi -y
修改openstack-keystone文件配置
Vim /etc/keytone/keytone.cof
[token] provider = fernet
同步數據庫
[root@controller ~]# su -s /bin/sh -c "keystone-manage db_sync" keystone
創建令牌
[root@controller ~]# keystone-manage fernet_setup --keystone-user keystone --keystone-group keystone
[root@controller ~]# keystone-manage credential_setup --keystone-user keystone --keystone-group keystone
設置admin密碼 --bootstrap-password 為:admin
[root@controller ~]# keystone-manage bootstrap --bootstrap-password admin --bootstrap-admin-url http://controller:5000/v3/ --bootstrap-internal-url http://controller:5000/v3/ --bootstrap-public-url http://controller:5000/v3/ --bootstrap-region-id RegionOne
查看數據庫是否成功同步
配置httpd服務器
[root@controller ~]# vim /etc/httpd/conf/httpd.conf
添加controllerIP地址
啟動服務
[root@controller ~]# ln -s /usr/share/keystone/wsgi-keystone.conf /etc/httpd/conf.d/
[root@controller ~]# systemctl enable httpd.service && systemctl start httpd.service
編輯一個腳本admin.sh
往腳本添加內容
Source admin.sh
創建用戶和項目
[root@controller ~]# openstack domain create --description "An Example Domain" example
[root@controller ~]# openstack project create --domain default --description "Service Project" service
[root@controller ~]# openstack project create --domain default --description "Demo Project" myproject
設置myuser密碼為:myuser
[root@controller ~]# openstack user create --domain default --password-prompt myuser User Password: myuser Repeat User Password: myuser
[root@controller ~]# openstack role create myrole
[root@controller ~]# openstack role add --project myproject --user myuser myrole
取消臨時OS_AUTH和OS_PASSWORD環境變量
[root@controller ~]# unset OS_AUTH OS_PASSWORD
輸入admin密碼,密碼為:admin
[root@controller ~]# openstack --os-auth-url http://controller:5000/v3 --os-project-domain-name Default --os-user-domain-name Default --os-project-name admin --os-username admin token issue
Password: admin
Password: admin
輸入myuser密碼,密碼為:myuser
[root@controller ~]# openstack --os-auth-url http://controller:5000/v3 --os-project-domain-name Default --os-user-domain-name Default --os-project-name myproject --os-username myuser token issue
Password:? myuser
Password:? myuser
創建一個myuser.sh腳本
Source admin.sh
Openstack token issue
Source myuser.sh
Openstack token issue
Glance組件
登入mysql數據庫創建glance庫;
MariaDB [(none)]> create database glance;
MariaDB [(none)]> GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'%' IDENTIFIED BY 'glance_PASS';
openstack user create --domain default --password-prompt
password:glance
password:glance
[root@controller ~]# openstack role add --project service --user glance admin
將glance用戶添加到admin
[root@controller ~]# openstack service create --name glance --description "OpenStack Image" image
[root@controller ~]# openstack endpoint create --region RegionOne image public http://controller:9292
[root@controller ~]# openstack endpoint create --region RegionOne image internal http://controller:9292
[root@controller ~]# openstack endpoint create --region RegionOne image admin http://controller:9292
創建以上網段
安裝glance組件
Yum install -y openstack-glance
配置glance文件
同步數據庫
[root@controller ~]# su -s /bin/sh -c "glance-manage db_sync" glance
啟動自啟服務
[root@controller ~]# systemctl enable openstack-glance-api.service && systemctl start openstack-glance-api.service
上傳鏡像
[root@controller ~]#? glance image-create --name "cirros4" --file cirros-0.4.0-x86_64-disk.img --disk-format qcow2 --container-format bare?? --visibility public
Placement組件
打開數據庫添加placement庫
查看是否同步成功
Nova組件
打開數據庫添加nava_api; , nava, nava_cello;
MariaDB [(none)]> CREATE DATABASE nova_api;
MariaDB [(none)]> CREATE DATABASE nova;
MariaDB [(none)]> CREATE DATABASE nova_cell0;
MariaDB [(none)]> GRANT ALL PRIVILEGES ON nova_api.* TO 'nova'@'%' IDENTIFIED BY 'nova_PASS';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'%' IDENTIFIED BY 'nova_PASS';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON nova_cell0.* TO 'nova'@'%' IDENTIFIED BY 'nova_PASS';
安裝軟件包
[root@controller ~]# yum install openstack-placement-api ??openstack-nova-conductor openstack-nova-novncproxy openstack-nova-scheduler - y
配置文件
[root@controller ~]# vim /etc/nova.conf
su -s /bin/sh -c "nova-manage api_db sync" nova查看是否同步成功
啟動自啟服務
systemctl enable openstack-nova-api.service openstack-nova-scheduler.service openstack-nova-conductor.service openstack-nova-novncproxy.service
重新啟動
systemctl start openstack-nova-api.service openstack-nova-scheduler.service openstack-nova-conductor.service openstack-nova-novncproxy.service
compute節點
安裝nova組件
[root@controller ~]# yum install -y openstack-nova-compute
配置文件vim /etc/nova/nova.conf
啟動計算服務(包括其依賴項),并將其配置為在系統啟動時自動啟動:
[root@controller ~]#? systemctl enable libvirtd.service openstack-nova-compute.service && systemctl start libvirtd.service openstack-nova-compute.service
確認數據庫中存在計算主機:
[root@compute ~]# openstack compute service list --service nova-compute
到控制節點發現計算主機
[root@controller ~]# su -s /bin/sh -c "nova-manage cell_v2 discover_hosts --verbose" nova
修改/etc/nova/nova.conf
Neutron組件
Controller節點
登入數據庫創建neuton;
MariaDB [(none)]> CREATE DATABASE neutron;
MariaDB [(none)]> GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'%' IDENTIFIED BY 'neutron_PASS';
查看是否同步成功;
配置內核
/etc/sysctl.conf
加載內核模塊
[root@controller ~]# modprobe br_netfilter
配置 DHCP 代理
Vim /etc/neutron/dhcp_agent.ini
配置元數據代理
Vim /etc/neutron/metadata_agent.ini
Vim /etc/nova/nova.conf
[root@controller ~]# ln -s /etc/neutron/plugins/ml2/ml2_conf.ini /etc/neutron/plugin.ini
填充數據庫
[root@controller ~]# su -s /bin/sh -c "neutron-db-manage --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugins/ml2/ml2_conf.ini upgrade head" neutron
重新啟動計算APi服務
SystemctL restart openstack-nova-api.service
Compute節點
安裝組件
[root@compute ~]# yum install -y openstack-neutron-linuxbridge ebtables ipset
[root@compute ~]# vim /etc/neutron/neutron.conf
配置文件
編輯vim /etc/neutron/plugins/ml2/linuxbridge_agent.ini
修改內核
Vim /etc/sysctl.conf
net.bridge.bridge-nf-call-iptables = 1
net.bridge.bridge-nf-call-ip6tables = 1
修改compute節點下的/etc/nova/nova.conf
重新啟動計算服務
Systemctl restart openstack-nova-compute.service
驗證
Openstack network agent list
創建實例
創建網絡
openstack network create? --share --external --provider-physical-network extnetwork --provider-network-type flat flat-extnetwork
創建子網
openstack subnet create --network flat-extnetwork? --allocation-pool start=192.168.100.10,end=192.168.100.50 --dns-nameserver 114.114.114.114 --gateway 192.168.100.2 --subnet-range 192.168.100.0/24 flat-subnet
僅將此版本與 CirrOS 映像一起使用,以進行測試m1.nano
[root@controller ~]# openstack flavor create --id 0 --vcpus 1 --ram 64 --disk 1 m1.nano
[root@controller ~]# ssh-keygen -q -N "" (生成密鑰對
[root@controller ~]# openstack keypair create --public-key ~/.ssh/id_rsa.pub mykey (添加公鑰)
驗證密鑰對的添加:
[root@controller ~]# openstack keypair list
添加安全組規則
[root@controller ~]# openstack security group rule create --proto icmp default
允許安全外殼 (SSH) 訪問
[root@controller ~]#? openstack security group rule create --proto tcp --dst-port 22 default
查看實例選項
[root@controller ~]# openstack flavor list
列出可用圖像
列出可用網絡
可用安全組
啟動實例
openstack server create --flavor mi.nano --image cirros4 --nic net-id=7986ea2a-131d-416b-b98f-8466ad6a1db8 --security-group default --key-name mykey vm1
檢查實例的狀態:
[root@controller ~]# openstack server list
Dashboard組件 ????controller節點上安裝
安裝web服務
Yum install opensack-dashboard -y
修改配置文件 /etc/openstack-dashboard/local_settings
在/etc/httpd/conf.d/openstack-dashboard.conf
添加以下內容
重新啟動web服務器會話
systemctl restart httpd.service memcached.service
驗證httpd://192.168.200.10/dashboard
總結
以上是生活随笔為你收集整理的openstack集群搭建的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 用计算机寻找规律,用计算器找规律练习题
- 下一篇: odoo13学习 odoo的视图