open stack
一、环境设计和系统准备
1、虚拟机部署规划
主机 | 主机名 | IP规划 |
---|---|---|
控制节点 | openstack01 | 192.168.10.145 |
实例节点 | openstack02 | 192.168.10.146 |
2、安装centos7,命名openstack01
在此,我使用centos7系统,内存给了4G,磁盘空间给了30G和40G两个磁盘,处理器2个,网络为NAT模式
虚拟机设置:
打开虚拟化引擎,并给两个磁盘,是为了给openstack一个安装空间,不可省略
3、配置yum源(建议配置网络yum源)
- 配置本地yum源:
#创建本地源文件夹
[root@bogon ~]# mkdir -p /media/centos/
#挂载镜像文件至指定的目录。
[root@bogon ~]# mount /dev/cdrom /media/centos
mount: /dev/sr0 is write-protected, mounting read-only
#备份原本地源。
[root@bogon ~]# cp -rf /etc/yum.repos.d /etc/yum.repos.d_$(date '+%Y%m%d_%H%M%S')
#删除默认原本地源
[root@bogon ~]# rm -rf /etc/yum.repos.d/*
#配置本地源,创建Media.repo文件。
[root@bogon ~]# vi /etc/yum.repos.d/Media.repo
#查看内容
[root@bogon ~]# cat /etc/yum.repos.d/Media.repo
[iso]
name=Media
baseurl=file:///media/centos/
gpgcheck=0
enabled=1
#清除缓存
[root@bogon ~]# yum clean all
Loaded plugins: fastestmirror
Cleaning repos: iso
Cleaning up everything
Cleaning up list of fastest mirrors
##缓存yum源
[root@bogon ~]# yum makecache
Loaded plugins: fastestmirror
iso | 3.6 kB 00:00:00
(1/4): iso/group_gz | 155 kB 00:00:00
(2/4): iso/primary_db | 2.8 MB 00:00:00
(3/4): iso/filelists_db | 2.9 MB 00:00:00
(4/4): iso/other_db | 1.2 MB 00:00:00
Determining fastest mirrors
Metadata Cache Created
[root@bogon ~]#
- 配置网络yum源:
#将/etc/yum.repos.d/下面的文件复制备份
[root@bogon yum.repos.d]# ll
total 0
drwxr-xr-x 2 root root 46 Jan 4 16:29 centos
#安装阿里云yum源
[root@bogon yum.repos.d]# curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 2523 100 2523 0 0 5878 0 --:--:-- --:--:-- --:--:-- 5881
#清除缓存
[root@bogon yum.repos.d]# yum clean all
Loaded plugins: fastestmirror
Cleaning repos: base extras updates
Cleaning up everything
Cleaning up list of fastest mirrors
##缓存yum源
[root@bogon yum.repos.d]# yum makecache
Loaded plugins: fastestmirror
base | 3.6 kB 00:00:00
extras | 2.9 kB 00:00:00
updates | 2.9 kB 00:00:00
(1/10): base/7/x86_64/group_gz | 153 kB 00:00:00
(2/10): base/7/x86_64/filelists_db | 7.2 MB 00:00:11
(3/10): extras/7/x86_64/primary_db | 254 kB 00:00:00
(4/10): extras/7/x86_64/other_db | 156 kB 00:00:00
(5/10): extras/7/x86_64/filelists_db | 345 kB 00:00:00
(6/10): base/7/x86_64/primary_db | 6.1 MB 00:00:12
(7/10): base/7/x86_64/other_db | 2.6 MB 00:00:04
(8/10): updates/7/x86_64/filelists_db | 14 MB 00:00:23
(9/10): updates/7/x86_64/other_db | 1.5 MB 00:00:03
(10/10): updates/7/x86_64/primary_db | 26 MB 00:00:46
Determining fastest mirrors
* base: mirrors.aliyun.com
* extras: mirrors.aliyun.com
* updates: mirrors.aliyun.com
Metadata Cache Created
#更新yum
[root@openstack01 yum.repos.d]# yum update
4、配置静态IP
[root@bogon /]# vi /etc/sysconfig/network-scripts/ifcfg-eno16777736
[root@bogon /]# cat /etc/sysconfig/network-scripts/ifcfg-eno16777736
TYPE="Ethernet"
BOOTPROTO="static"//修改static
DEFROUTE="yes"
PEERDNS="yes"
PEERROUTES="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_PEERDNS="yes"
IPV6_PEERROUTES="yes"
IPV6_FAILURE_FATAL="no"
NAME="eno16777736"
UUID="50843a49-f58d-440b-b9eb-deddc665c8ac"
DEVICE="eno16777736"
ONBOOT="yes"
IPADDR=192.168.10.145#添加ip
GATEWAY=192.168.10.2#添加网关
NETMASK=255.255.255.0#添加子网掩码
DNS1=8.8.8.8#添加DNS域名解析
#重启网卡
[root@bogon /]# systemctl restart network
[root@bogon /]# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eno16777736: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:0c:29:59:a2:ea brd ff:ff:ff:ff:ff:ff
inet 192.168.10.145/24 brd 192.168.10.255 scope global eno16777736
valid_lft forever preferred_lft forever
inet6 fe80::20c:29ff:fe59:a2ea/64 scope link
valid_lft forever preferred_lft forever
#pingbaidu
[root@bogon /]# ping www.baidu.com
PING www.a.shifen.com (110.242.68.4) 56(84) bytes of data.
64 bytes from 110.242.68.4: icmp_seq=1 ttl=128 time=56.2 ms
64 bytes from 110.242.68.4: icmp_seq=2 ttl=128 time=59.1 ms
64 bytes from 110.242.68.4: icmp_seq=3 ttl=128 time=56.0 ms
64 bytes from 110.242.68.4: icmp_seq=4 ttl=128 time=56.5 ms
^C
--- www.a.shifen.com ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3006ms
rtt min/avg/max/mdev = 56.036/56.985/59.107/1.236 ms
5、关闭防火墙,并禁用SLINUX
[root@bogon /]# systemctl stop firewalld
[root@bogon /]# systemctl disable firewalld
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
Removed symlink /etc/systemd/system/basic.target.wants/firewalld.service.
[root@bogon /]# vi /etc/selinux/config
[root@bogon /]# cat /etc/se
securetty security/ selinux/ services sestatus.conf
[root@bogon /]# cat /etc/selinux/config
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=disabled #修改为disabled
# SELINUXTYPE= can take one of three two values:
# targeted - Targeted processes are protected,
# minimum - Modification of targeted policy. Only selected processes are protected.
# mls - Multi Level Security protection.
SELINUXTYPE=targeted
#重启
[root@bogon /]# reboot
6、关闭NetworkManager
[root@bogon ~]# systemctl stop NetworkManager
[root@bogon ~]# systemctl enable network
network.service is not a native service, redirecting to /sbin/chkconfig.
Executing /sbin/chkconfig network on
[root@bogon ~]# systemctl start network
7、修改主机映射
配置主机名
[root@bogon ~]# vi /etc/sysconfig/network
[root@bogon ~]# cat /etc/sysconfig/network
# Created by anaconda
NETWORKING=yes
HOSTNAME=openstack01
[root@bogon ~]# hostname
openstack01
配置域名解析
[root@openstack01~]# vi /etc/hosts
[root@openstack01~]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.10.145 openstack01
[root@openstack01~]#
8、安装时间同步软件
[root@openstack01 /]# yum -y install chrony
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
Resolving Dependencies
--> Running transaction check
---> Package chrony.x86_64 0:2.1.1-1.el7.centos will be installed
--> Finished Dependency Resolution
Dependencies Resolved
========================================================================================================================================================
Package Arch Version Repository Size
========================================================================================================================================================
Installing:
chrony x86_64 2.1.1-1.el7.centos iso 280 k
Transaction Summary
========================================================================================================================================================
Install 1 Package
Total download size: 280 k
Installed size: 468 k
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Installing : chrony-2.1.1-1.el7.centos.x86_64 1/1
Verifying : chrony-2.1.1-1.el7.centos.x86_64 1/1
Installed:
chrony.x86_64 0:2.1.1-1.el7.centos
Complete!
9、添加NTP服务地址
[root@openstack01 etc]# vim /etc/chrony.conf
#设置时间,设置阿里云时间源
server ntp1.aliyum.com iburst
10、准备openstack组件
[root@openstack01 /]# yum list | grep openstack*
[root@openstack01 /]# yum -y install centos-release-openstack-train
[root@openstack01 /]# yum -y install python-openstackclient
[root@openstack01 /]# yum install -y openstack-selinux.noarch
[root@openstack01 /]# yum install -y openstack-utils
11、准备packstack安装器
[root@openstack01 /]# yum -y install openstack-packstack
12、一键部署OpenStack
[root@openstack01 /]# packstack --allinone
#此过程大概耗时30分钟
13、安装成功登录
- 查看版本:
[root@openstack01~]# nova-manage --version
20.6.0
- 查看账号密码:
在root用户的目录下会生成该文件,记录有各种组件的认证的环境变量与登录账号和密码
#进入管理员
[root@openstack01~]# source keystonerc_admin
#查看
[root@openstack01~(keystone_admin)]# cat keystonerc_admin
unset OS_SERVICE_TOKEN
export OS_USERNAME=admin
export OS_PASSWORD='0918e014bc6d4ad9'
export OS_REGION_NAME=RegionOne
export OS_AUTH_URL=http://192.168.10.145: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
[root@openstack01~(keystone_admin)]#
#查看非管理员用户
[root@openstack01 ~]# cat keystonerc_demo
unset OS_SERVICE_TOKEN
export OS_USERNAME=demo
export OS_PASSWORD='138e68000e7d4b22'
export PS1='[\u@\h \W(keystone_demo)]\$ '
export OS_AUTH_URL=http://192.168.10.145:5000/v3
export OS_PROJECT_NAME=demo
export OS_USER_DOMAIN_NAME=Default
export OS_PROJECT_DOMAIN_NAME=Default
export OS_IDENTITY_API_VERSION=3
[root@openstack01 ~]#
- 登录
浏览器进入:登录 - OpenStack Dashboard(虚拟机IP)
管理员账号:admin
管理员密码:0918e014bc6d4ad9