本文主要介绍基于CentOS的OpenStack环境的部署(OpenStack安装)。这篇文章很详细,对你的学习或者工作有一定的参考价值。有需要的朋友可以参考一下。
效果显示:
准备环境控制器节点:
6GB
4H
60GB/30GB/30GB
计算节点
6GB
4H
60G/60G
管理节点(ceph管理节点)
2GB
4H
60GB/6GB
openstack简介
OpenStack是一个开源的云平台管理项目,可用于搭建公共或私有云平台,提供基础设施和服务(Iaas)的解决方案。OpenStack是云 *** 作系统,可以通过数据中心控制计算、存储、网络等资源池。OpenStack涵盖网络、虚拟化、 *** 作系统、服务器等各个方面。虚拟机资源可以通过OpenStack启动、分配、管理,所有管理都可以通过前端接口完成。
OpenStack核心组件Nova
管理服务,管理虚拟机实例的全生命周期,负责虚拟机的创建、启动、关闭、挂起、暂停、调整、迁移、重启、销毁、资源分配等 *** 作。它通过API对外提供服务,使用KeyStone进行认证,使用Horizon作为其管理接口,使用Glance提供其镜像,使Nova可以管理计算资源、网络和认证。
中子
网络管理服务,为多租户环境中的每个租户提供独立的网络环境。Neutron为整个OpenStack环境提供网络支持。您可以定义网络、子节点、路由器,配置DHCP、DNS、负载平衡、L3服务。网络支持GRE、VLAN等。,并且支持很多流行的网络管理插件,比如OpenvSwitch。
煤渣
块存储服务,支持不同的存储后端,包括ceph、glusterfs等。它是存储虚拟机和虚拟机使用的数据的基础。Cinder提供对块存储设备的访问和管理。对于OpenStack主机,存储以块设备的形式出现,ISCSI、NFS、ceph或其他一些特殊协议作为后端连接;Cinder的界面规定了一系列独立的功能,包括创建卷、删除卷、挂载卷等基本功能,以及扩展卷、快照、从VM镜像克隆等一些高级功能。
迅速发生的
对象存储服务,为OpenStack集群提供跨节点的分布式大规模对象存储服务,通过RESTful接口存储和检索非结构化数据对象。这是一种高度容错和可扩展的存储架构。对象存储是将相应的数据存储为二进制对象而不是文件。一般来说,一条指令就可以存储或检索整个对象。
拱顶石
认证管理服务是OpenStack框架中的一个模块,负责管理认证、服务规则和服务令牌功能。它管理域、项目、用户、组和角色,并使用MySQL作为统一的数据库。用户在访问资源时需要验证用户的身份和权限,在进行服务 *** 作时也需要进行权限检测。所有这些事情都需要通过KeyStone来处理。OpenStack服务通过Keystone注册其端点(服务访问的URL)。服务之间的任何相互调用都需要由Keystone进行身份验证,以在调用之前获取目标的端点。
闪光
镜像管理服务提供对部署虚拟机时可以提供的镜像的管理,包括搜索、注册、检索、导入、格式化和制作相应的模板。它支持多种虚拟机镜像格式,并具有创建、删除和编辑镜像基本信息的功能。Glance提供了RESTfulAPI,可以查询虚拟机的元数据并获取。Glance可以将镜像保存到各种后端存储,比如简单的文件存储或对象。
地平线
用户交互界面是OpenStack中各种服务的Web管理入口,用于简化用户对服务的 *** 作,如启动实例、分配IP地址、配置访问控制等。
安装CentOS
yuminstallvim在cmd窗口中输入以下命令查看网段
ipconfig/all修改网卡信息
vim/etc/sysconfig/network-scripts/ifcfg-ens33 TYPE=Ethernet PROXY_METHOD=none BROWSER_ONLY=no BOOTPROTO=static DEFROUTE=yes IPV4_FAILURE_FATAL=no IPV6INIT=yes IPV6_AUTOCONF=yes IPV6_DEFROUTE=yes IPV6_FAILURE_FATAL=no IPV6_ADDR_GEN_MODE=stable-privacy NAME=ens33 DEVICE=ens33 ONBOOT=yes IPADDR=192.168.12.18 PREFIX=24 GATEWAY=192.168.12.1 DNS1=192.168.111.2重新启动网络服务
servicenetworkrestart控制器
Ens33192.168.12.18(提供浮动IP,传出地址)
Ens34192.168.12.118(内部网之间的通信)
计算
Ens33192.168.12.140(提供浮动IP,传出地址)
Ens34192.168.12.240(内部网之间的通信)
#立即重启 shutdown-rnow初始化每个节点
yum-yinstallwgetnet-toolsnfs-utilslrzszgccgcc-c++makecmakelibxml2-developenssl-develcurlcurl-develunzipsudontplibaio-develvimncurses-develautoconfautomakezlib-develpython-develepel-releaselrzszopenssh-server关闭防火墙、网络管理器、iptables、selinux(每个节点的 *** 作)
systemctlstopfirewalld&&systemctldisablefirewalld&&systemctlstopNetworkManager&&systemctldisableNetworkManager systemctlstopiptables&&systemctldisableiptables修改selinux
vim/etc/sysconfig/selinux SELINUX=disabled修改主机
vim/etc/hosts 192.168.12.118controller 192.168.12.240compute修改主机名
hostnamectlset-hostnamecontroller hostnamectlset-hostnamecompute时间同步
ntpdatecn.pool.ntp.org配置每个节点的无密码登录和 *** 作。
ssh-keygen-trsa #一直回车即可 ssh-copy-id-i.ssh/id_rsa.pubcontroller ssh-copy-id-i.ssh/id_rsa.pubcomputer使用xftp将openstack离线包上传到根目录(在控制器和计算节点中运行)
在root下创建一个目录openstack,然后将包解压到这个目录。
mkdir/root/openstack&&cd/root/openstack&&tarzxvf/root/openstack_N.tar.gz将openstack目录整体移动到/下面(控制器和计算机节点 *** 作)
mvopenstack/重新配置yum源(控制器和计算机节点都运行)
cd/etc/yum.repos.d/ mkdirbak mvCentOS-*bak/ mvepel*bak/ cpbak/CentOS-Base.repo./生成openstack的新yum源。
cat<<EOF>/etc/yum.repos.d/openstack.repo [openstack] enable=1 gpgcheck=0 baseurl=file:///openstack EOF清除缓存
yummakecacheOpenstack应答文件安装(控制器节点 *** 作)
yuminstallcentos-release-openstack-newton-y cd/etc/yum.repos.d mv*.repobak/ cpbak/openstack.repo./ cpbak/CentOS-Base.repo./清除缓存
yummakecache yuminstallopenstack-packstack-y cd/root packstack--gen-answer-file=openstack.txt完成后会生成一个答案文件openstack.txt。
修改openstack.txt文件
修改的内容如下
CONFIG_DEFAULT_PASSWORD=123456 CONFIG_SWIFT_INSTALL=n CONFIG_NAGIOS_INSTALL=n CONFIG_CINDER_VOLUMES_SIZE=10G CONFIG_PROVISION_DEMO=n CONFIG_LBAAS_INSTALL=y CONFIG_NEUTRON_FWAAS=y CONFIG_NEUTRON_VPNAAS=y CONFIG_CONTROLLER_HOST=192.168.12.118 CONFIG_COMPUTE_HOSTS=192.168.12.240 CONFIG_NETWORK_HOSTS=192.168.12.240根据应答文件安装组件
packstack--answer-file=openstack.txt安装过程需要检查控制器和计算机节点中iptables的状态。
systemctlstatusiptables如果发现iptables处于活动状态,需要停止它。
systemctlstopiptables请参阅以下成功安装的说明。
Installationcompletedsuccessfully启动rabbitmq(控制器节点 *** 作)的管理界面
rabbitmq-pluginsenablerabbitmq_management在浏览器中访问
192.168.124.200:15672
账号:客人
密码:来宾
登录openstack的dashboad界面
在浏览器中输入:
192.168.124.200
账号:管理员
密码:
获取密码
cd/root catkeystonerc_adminKeyStone配置优化
在控制器节点上运行
修改keystone.conf
vim/etc/keystone/keystone.conf在默认字段下添加以下一行
memcache_servers=192.168.12.118:11211重新启动服务
systemctlrestarthttpd如果OpenStack可以正常访问,则配置成功。
扫视配置优化
修改glance-api.conf
vim/etc/glance/glance-api.conf在顶部添加
memcache_servers=192.168.12.118:11211修改glance-registry.conf
vim/etc/glance/glance-registry.conf在顶部添加
memcache_servers=192.168.12.118:11211重新启动服务
systemctlrestartopenstack-glance-api systemctlrestartopenstack-glance-registry在控制器节点中修改了Nova配置优化
修改nova.conf
vim/etc/nova/nova.conf在顶部添加内存缓存
memcache_servers=192.168.12.118:11211原来只有地址,没有http协议,需要添加http协议。
api_servers=http://192.168.12.118:9292在第一行的[默认]下添加这一行。
transport_url=rabbit://guest:guest@192.168.12.118把原ip改成这个,打开评论。
my_ip=192.168.12.118以前是0.0.0.0,现在改成这个了。
vncserver_listen=192.168.12.118原来的主机名更改为该主机IP。
vncserver_proxyclient_address=192.168.12.118完成上述更改后,请重新启动该服务。
systemctlrestartopenstack-nova-api.service\ openstack-nova-consoleauth.serviceopenstack-nova-scheduler.service\ openstack-nova-conductor.s:erviceopenstack-nova-novncproxy.service在计算节点中修改
修改配置文件nova.conf
vim/etc/nova/nova.conf将下面一行添加到第一行的[DEFAULT]字段
memcache_servers=192.168.12.118:11211
这条线路打开,成为这个ip地址。
transport_URL=rabbit://guest:guest@192.168.12.118
该线路打开,ip成为主机ip。
api_servers=http://192.168.12.118:9292这条线路打开,成为这个ip地址。
my_ip=192.168.12.240这条线路打开,成为这个ip地址。
vncserver_proxyclient_address=192.168.12.240这条线路打开,成为这个ip地址。
novncproxy_base_url=http://192.168.12.118:6080/vnc_auto.html这条线是开通的。
virt_type=qemu修复上述问题后,重新启动服务。
systemctlenablelibvirtd.serviceopenstack-nova-compute.service systemctlrestartlibvirtd.serviceopenstack-nova-compute.service检查日志,没有报告错误。
cat/var/log/nova/nova-compute.log启动后,查看控制器节点中的日志。
cat/var/log/nova/nova-api.log如果没有错误,可以。
中子配置优化
在控制器节点上运行
修改配置文件neutron.conf
vim/etc/neutron/neutron.conf添加新行。
memcache_servers=192.168.12.118:11211找到transport_url并添加一个新行(消息队列rabbit的地址在控制器节点上)
transport_url=rabbit://guest:guest@192.168.12.118找到lock_path,将其改为绝对路径。
lock_path=/var/lib/neutron/tmp修改ml2_conf.ini
vim/etc/neutron/plugins/ml2/ml2_conf.ini修改虚拟网络接口范围
vni_ranges=10:10000修改上述两个文件后,重新启动服务。
systemctlrestartneutron-server打开一个新的端口来查看日志,您可以这样做而不会报告错误。
tail-f/var/log/neutron/server.log在计算节点 *** 作。
创建一个桥接网卡,桥接到可以访问外部网络的网卡,即ens33。
cd/etc/sysconfig/network-scripts mkdirbak cpifcfg-ens33bak/ vimifcfg-br-ex将内容复制到ifcfg-br-ex
DEVICE=br-ex BOOTPROTO=static ONBOOT=yes TYPE=OVSBridge DEVICETYPE=ovs USERCTL=yes PEERDNS=yes IPV6INIT=no IPADDR=192.168.12.140 NETMASK=255.255.255.0 DNS1=192.168.111.2 GATEWAY=192.168.12.1 vimifcfg-ens33删除原始内容,并替换为以下内容
#设备名 DEVICE=ens33 #是否开启开机自启 ONBOOT=yes TYPE=OVSPort DEVICETYPE=ovs #桥接到哪个网卡上 OVS_BRIDGE=br-ex重启网卡
servicenetworkrestart修改配置文件neutron.conf
vim/etc/neutron/neutron.conf添加新的一行配置文件。
transport_url=rabbit://guest:guest@192.168.12.118添加新行。
memcached_servers=192.168.12.118:11211原来的路径变成了这样。
lock_path=/var/lib/neutron/tmp修改三层浮动ip相关的配置文件
cd/etc/neutron viml3_agent.ini这一行被删除。
ovs_integration_bridge=br-int这条线是开通的。
availability_zone=nova修改配置文件metadata_agent.ini
vimmetadata_agent.ini这条线是开通的。
nova_metadata_port=8775这条线是开通的。
nova_metadata_protocol=http添加新行。
memcached_servers=192.168.12.118:11211修改配置文件dhcp_agent.ini
vimdhcp_agent.ini这条线是开通的。
ovs_integration_bridge=br-int本来是假的,需要是真的。
enable_metadata_network=True添加新行。
dhcp_domain=test.localdomain原评论已打开,更改为外网dns地址。
dnsmasq_dns_servers=192.168.111.2这条线是开通的。
dnsmasq_lease_max=16777216这条线是开通的。
availability_zone=nova完成上述更改后,请重新启动该服务。
systemctlrestartneutron-ovs-cleanup.serviceneutron-openvswitch-agent.serviceneutron-metering-agent.serviceneutron-metadata-agent.serviceneutron-lbaasv2-agent.serviceneutron-l3-agent.serviceneutron-dhcp-agent.service关于基于CentOS的OpenStack环境部署(OpenStack安装)的这篇文章到此为止。有关CentOS的OpenStack环境部署的更多信息,请搜索我们以前的文章或继续浏览下面的相关文章。希望大家以后能多多支持我们!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)