環境
- VMware CentOS 7
- CPU核心數:4
- RAM:10G
- DISK:45G
準備
關於這個配置,是我在試了一天得出的結論,一直卡着
192.168.1.106_controller.pp:
Testing if puppet apply is finished: 192.168.1.106_controller.pp [ | ]
我也不知道他一直在測試什麼,只是卡着,也不報錯。
各種搜,顯示關了防火牆,關了selinux,關了networkmanager。然後又查出可能是配置不夠,因爲自動安裝比手動更喫配置,我原先配置是4G2核,升級到4核6G,還是卡,然後升級到4核8G,網上有人說他加到了16G,我一共就16G也沒辦法試,就8G再看看,這時候等了一會發現他test成功了。
那麼大概就是,這個卡着的原因就是因爲內存不夠。
但是最後,我又裝了一次,是10G RAM,45G 硬盤,因爲8G太卡了,火狐一打開內存就不夠用,會閃退,8不夠
然後開始配置吧
同時可以在安裝的時候通過packstack配置相應的配置文件,自行配置需要安裝的模塊、賬戶密碼等安裝參數。
把網卡改成橋接模式,修改配置文件/etc/sysconfig/network-scripts/ifcfg-eno16777736
,DNS要設置好,不然解析不了域名了。GATEWAY可以通過netstat -rn
查看。
TYPE=Ethernet
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
NAME=eno16777736
UUID=acd2af84-eb36-4ffe-8a43-8528e2d8e87c
DEVICE=eno16777736
ONBOOT=yes
PEERDNS=yes
PEERROUTES=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPADDR=192.168.1.106
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=114.114.114.114
DNS2=8.8.4.4
重啓網絡
systemctl restart network
這裏我換源了,換阿里源
先執行mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
,備份一下原來的源,不過一般沒啥用,mv或者cp都能用,後面的目標路徑也可以直接寫一個文件名,即當前路徑。
下載阿里源,這裏每個版本的源地址不一樣,版本看好。
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
重新生成緩存
yum clean all && yum makecache
配置一下時間同步服務,使用chrony。
yum install -y chrony
編輯配置文件/etc/chrony.conf
添加
restrict 192.168.1.106
#server *ntp.ubuntu.com* iburst
server 127.127.1.0 prefer
然後修改主機名
hostname set-hostname controller
改Hostsetc/Hosts
添加192.168.1.106 controller
。
可以重啓一下。
關閉防火牆和SELINUX和Network,通過getenforce
查看selinux狀態(enforcing試開啓disable是關閉)。通過systemctl status firewalld
查看防火牆狀態。
執行systemctl stop firewalld && systemctl disable firewalld
關閉防火牆。
編輯/etc/selinux/config
的SELINUX改爲disabled。
執行systemctl stop NetworkManager && systemctl disable NetworkManager
。
重啓網絡network服務。順便重啓一下。
然後依次執行下面命令就可以完成安裝了
yum install -y centos-release-openstack-rocky
yum -y update
yum install -y openstack-packstack
這裏停一下,不要急着執行下面的命令,這個命令是allinone模式,會全部安裝,可能有一些不需要的之類模塊。
packstack --allinone
先生成配置文件,這裏的answer.ini文件隨意,什麼default.conf都行
packstack --gen-answer-file=answer.ini
然後編輯這個answer.ini文件,可以自行設置一些安裝參數,比如如果不想安裝某個模塊,讓他等於n就行了,編輯完保存退出。
然後需要再次換一下源,編輯/etc/yum.repos.d/CentOS-OpenStack-rocky.repo
,修改一下baseurl,換成阿里的https://mirrors.aliyun.com/centos/7/cloud/x86_64/openstack-rocky/
,你可以按照你自己的OpenStack版本選一下。
[centos-openstack-rocky]
name=CentOS-7 - OpenStack rocky
baseurl=https://mirrors.aliyun.com/centos/7/cloud/x86_64/openstack-rocky/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-Cloud
exclude=sip,PyQt4
此時安裝可能還會提示qemu版本過低,再配置一個源/etc/yum.repos.d/CentOS-QEMU-EV.repo
,也是編輯一下baseurl:https://mirrors.aliyun.com/centos/7/virt/x86_64/kvm-common/
。
[centos-qemu-ev]
name=CentOS-$releasever - QEMU EV
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=virt-kvm-common
#baseurl=http://mirror.centos.org/$contentdir/$releasever/virt/$basearch/kvm-common/
baseurl=https://mirrors.aliyun.com/centos/7/virt/x86_64/kvm-common/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-Virtualization
配置好了answer應答文件以後就得執行下面的命令通過這個配置文件進行安裝
packstack --answer-file=answer.ini
這時候就應該正常了。
Welcome to the Packstack setup utility
The installation log file is available at: /var/tmp/packstack/20200216-203503-JQ6TO1/openstack-setup.log
Installing:
Clean Up [ DONE ]
Discovering ip protocol version [ DONE ]
Setting up ssh keys [ DONE ]
Preparing servers [ DONE ]
Pre installing Puppet and discovering hosts' details [ DONE ]
Preparing pre-install entries [ DONE ]
Setting up CACERT [ DONE ]
Preparing AMQP entries [ DONE ]
Preparing MariaDB entries [ DONE ]
Fixing Keystone LDAP config parameters to be undef if empty[ DONE ]
Preparing Keystone entries [ DONE ]
Preparing Glance entries [ DONE ]
Checking if the Cinder server has a cinder-volumes vg[ DONE ]
Preparing Cinder entries [ DONE ]
Preparing Nova API entries [ DONE ]
Creating ssh keys for Nova migration [ DONE ]
Gathering ssh host keys for Nova migration [ DONE ]
Preparing Nova Compute entries [ DONE ]
Preparing Nova Scheduler entries [ DONE ]
Preparing Nova VNC Proxy entries [ DONE ]
Preparing OpenStack Network-related Nova entries [ DONE ]
Preparing Nova Common entries [ DONE ]
Preparing Neutron LBaaS Agent entries [ DONE ]
Preparing Neutron API entries [ DONE ]
Preparing Neutron L3 entries [ DONE ]
Preparing Neutron L2 Agent entries [ DONE ]
Preparing Neutron DHCP Agent entries [ DONE ]
Preparing Neutron Metering Agent entries [ DONE ]
Checking if NetworkManager is enabled and running [ DONE ]
Preparing OpenStack Client entries [ DONE ]
Preparing Horizon entries [ DONE ]
Preparing Swift builder entries [ DONE ]
Preparing Swift proxy entries [ DONE ]
Preparing Swift storage entries [ DONE ]
Preparing Gnocchi entries [ DONE ]
Preparing Redis entries [ DONE ]
Preparing Ceilometer entries [ DONE ]
Preparing Aodh entries [ DONE ]
Preparing Puppet manifests [ DONE ]
Copying Puppet modules and manifests [ DONE ]
Applying 192.168.1.106_controller.pp
192.168.1.106_controller.pp: [ DONE ]
Applying 192.168.1.106_network.pp
192.168.1.106_network.pp: [ DONE ]
Applying 192.168.1.106_compute.pp
192.168.1.106_compute.pp: [ DONE ]
Applying Puppet manifests [ DONE ]
Finalizing [ DONE ]
**** Installation completed successfully ******
Additional information:
* A new answerfile was created in: /root/packstack-answers-20200216-203504.txt
* Time synchronization installation was skipped. Please note that unsynchronized time on server instances might be problem for some OpenStack components.
* File /root/keystonerc_admin has been created on OpenStack client host 192.168.1.106. To use the command line tools you need to source the file.
* To access the OpenStack Dashboard browse to http://192.168.1.106/dashboard .
Please, find your login credentials stored in the keystonerc_admin in your home directory.
* The installation log file is available at: /var/tmp/packstack/20200216-203503-JQ6TO1/openstack-setup.log
* The generated manifests are available at: /var/tmp/packstack/20200216-203503-JQ6TO1/manifests
安裝完成
裝完以後,在~
目錄下有幾個文件,此時由兩個用戶,一個是admin,另一個是demo。密碼分別在keystone_admin和keystoneec_demo
裏面,如admin裏面是這樣,似乎就是環境變量。
unset OS_SERVICE_TOKEN
export OS_USERNAME=admin
export OS_PASSWORD='19b0a14315174976'
export OS_REGION_NAME=RegionOne
export OS_AUTH_URL=http://192.168.1.106:5000/v3
export PS1='[\u@\h \W(keystone_admin)]\$ '
export OS_PROJECT_NAME=admin
export OS_USER_DOMAIN_NAME=Default
export OS_PROJECT_DOMAIN_NAME=Default
export OS_IDENTITY_API_VERSION=3
執行source keystonerc_admin
導入admin的環境變量,執行openstack user list
可以測試一下能不能用,可以顯示用戶說明正常了。
然後再測試一下登錄dashboard,登錄192.168.1.106/dashboard
輸入用戶名密碼登錄
admin
19b0a14315174976
修改一下語言和TimeZone。