openstack私有云运维笔记(代码片段)

键客李大白 键客李大白     2022-12-02     256

关键词:

Openstack简介

  • 官方文档(中文):https://docs.openstack.org/zh_CN/

什么是Openstack

​ Openstack是由NASA(美国国家航空航天局)和Rackspace合作研发的IaaS解决方案,是以Apache许可证为授权的开源云计算管理平台。

组件

1)Horizon组件

​ Horizon为Openstack服务的Web控制面板,它可以管理实例、镜像、创建密钥对,对实例添加卷、操作Swift容器等。基于python的Django web框架进行开发。

  • 特点:

实例管理:创建/停止实例、查看终端日志、VNC连接、添加卷等;

访问与安全管理:创建安全群组、管理密钥对、设置浮动IP等;

镜像管理:编辑、删除镜像;

管理用户、配额及项目用途;

2)Keystone组件

认证组件,为其它服务提供认证和授权的集中身份管理服务和集中的目录管理服务。支持多种身份认证模式(如密码认证、令牌认证、AWS登录),也为用户和其它服务提供了SSO认证服务。

3)Nova组件

计算组件,在节点上用于管理虚拟机的服务。Nova是一个分布式的服务,能够与keystone交互实现认证,与Glance交互实现镜像管理。

​ Nova被设计成在标准硬件上能够进行水平扩展。启动实例时,如果有则需要下载镜像。

4)Glance组件

镜像管理组件,扮演虚拟机镜像注册的角色,允许用户为直接存储拷贝服务器镜像,这些镜像可以用于新建虚拟机的模板。

5)Swift组件

对象存储组件,对于大部分用户来说,swift组件不是必须的。只有存储数量达到一定级别且是非结构化

的数据才有这样的需求。

6)Neutron组件

网络管理组件,从软件定义网络服务,用于创建网络、子网、路由器、管理浮动IP地址等。可以实现虚拟交换机、虚拟路由器,可用于在项目中创建VPN。

7)Cinder组件

存储卷管理组件,为虚拟机管理存储卷的服务,为允许在Nova中的实例提供永久的块存储,可以通过快照进行数据备份,经常应用在实例存储环境中(如数据库文件等)。

架构图

版本

  • [ ] Mitaka
  • [ ] Liberty
版本 最初发布时间 支持
Yoga 2022 年 3 月 30 日

二、部署Openstack集群

2.1 环境

1)主机清单

IP地址 主机名 角色 备注
192.168.2.120 openstack-console 管理节点
192.168.2.121 openstack-work01 计算节点

2)硬件环境要求

  • CPU需要支持虚拟化指令集。
$ grep -E  "vmx|svm"  /proc/cpuinfo
  • 64位操作系统
$ getconf LONG_BIT     #查看操作系统位数
64

3)网络拓扑

管理节点:openstack

计算节点:node1 node2

2.2 主机初始化

1)时间同步

所以节点主机时间必须一致

$ yum install  -y chrony
$ vim  /etc/chrony.conf
server ntp.aliyun.com iburst
bindacqaddress 0.0.0.0
allow 0/0
local stratum 10
$ systemctl enable  --now chronyd
$ chronyc sources  -v  #检测时间同步

2)禁用防火墙

​ Openstack会自动管理防火墙。

$ sed -i s/SELINUX=enforcing/SELINUX=disabled/g  /etc/selinux/config
$ yum -y remove firewalld-*

3)禁用NetworkManager

Openstack会自动管理网络,卸载NetworkManager服务,并启用network服务。

$ systemctl disable --now NetworkManager
$ yum remove -y NetworkManager
$ systemctl enable  --now network

4)配置/etc/hosts

格式:IP地址 主机名

$ cat <<EOF >> /etc/hosts
192.168.2.120 openstack-console
192.168.2.121 openstack-work01
192.168.2.122 openstack-work02
EOF

5)配置/etc/resolv.conf

openstack所有节点必须有一个可用的DNS

$ cat /etc/resolv.conf
nameserver 8.8.8.8

search开头的行必须删除。

2.3 安装libvirtd虚拟机平台

在node1、node2节点安装

$ yum install -y qemu-kvm  libvirt-daemon libvirt-daemon-driver-qemu  libvirt-client python-setuptools
$ systemctl enable --now libvirtd      #启动libvirtd服务
$ systemctl status libvirtd

2.4 安装Packstack

Packstack是Openstack的安装工具。在openstack节点安装,

$ wget http://mirrors.163.com/.help/CentOS7-Base-163.repo  -O  /etc/yum.repos.d/CentOS7-Base-163.repo
$ yum clean all && yum makecache
$ yum install -y centos-release-openstack-stein 
$ yum install -y openstack-packstack  python-setuptools

生成并修改应答文件

Openstack采用应答文件安装,生成应答文件:

$ packstack --gen-answer-file=amswer.ini   #生成应答文件
$ ls 
amswer.ini
$ vim amswer.ini   #修改应答文件
CONFIG_SWIFT_INSTALL=n   #42,存储对象组件
CONFIG_CEILOMETER_INSTALL=n   #45,计费模块
CONFIG_AODH_INSTALL=n     #49,计费模块
CONFIG_GNOCCHI_INSTALL=n   #53,计费模块
CONFIG_NTP_SERVERS=192.168.1.254   #75,时间服务器
CONFIG_COMPUTE_HOSTS=192.168.1.11  #98,管理节点IP
CONFIG_NETWORK_HOSTS=192.168.1.10,192.168.1.11  #102,计算节点IP
CONFIG_KEYSTONE_ADMIN_PW=a               #333,管理员密码
CONFIG_NEUTRON_ML2_TYPE_DRIVERS=flat,vxlan    #840,支持协议
CONFIG_NEUTRON_OVS_BRIDGE_MAPPINGS=physnet1:br-ex  #910,网桥设备
CONFIG_NEUTRON_OVS_BRIDGE_IFACES=br-ex:eth0  #921,出口网卡
CONFIG_PROVISION_DEMO=n  #1179,演示模块

安装Openstack

​ 使用packstack安装openstack

$ packstack --answer-file=answer.ini
16.	Welcome to the Packstack setup utility
17.	The installation log file is available at: /var/tmp/packstack/20190423-170603-b43g_i/openstack-setup.log
18.	Installing:
19.	Clean Up                                             [ DONE ]
20.	Discovering ip protocol version                      [ DONE ]
21.	root@192.168.1.11s password: 
22.	root@192.168.1.10s password: 
23.	Setting up ssh keys
24.	 **** Installation completed successfully ******        //出现这个为成功

登录horizon

​ 默认的配置文件中有一个BUG,无法显示登录页面。

1)修改Horizon配置

$ vim  /etc/httpd/conf.d/15-horizon_vhost.conf
WSGIProcessGroup apache
WSGIApplicationGroup %GLOBAL    # 添加这一行
WSGIScriptAlias /dashboard  "/usr/share/openstack-dashboard/openstack_dashboard/wsgi/django.wsgi"

2)重载http服务

$ apachectl  graceful   #重新载入配置文件

三、Openstack配置

3.1 命令行登录管理

命令行登录需要认证文件(keystonerc_admin)

$ cat keystonerc_admin  #keystonerc_admin生成的文件,里面有用户名和密码
unset OS_SERVICE_TOKEN
export OS_USERNAME=admin  //用户名
export OS_PASSWORD=a  //密码
export OS_AUTH_URL=http://192.168.1.10:5000/v2.0
export PS1=[\\u@\\h \\W(keystone_admin)]\\$ 

export OS_TENANT_NAME=admin
export OS_REGION_NAME=RegionOne

$ sorces  /root/keystonerc_admin

四、Operstack管理

4.1 命令行管理项目(Project)

创建项目

$ openstack project create [项目名称]

查看项目

$ openstack project list

删除项目

$ openstack project delete [项目名称]

4.2 命令行管理用户(User)

创建用户并指定密码

$ openstack user create --password [密码]  [用户名]

列出已有用户

$ openstack user list

删除用户

$ openstack user delete [用户名]

修改用户密码

$ openstack user set --password [新密码] [用户名]

企业运维之openstack的私有网络以及图形化配置(代码片段)

企业运维之openstack的私有网络以及图形化1.私有网络2.图形化配置虚拟机3.封装镜像4.上传镜像5.块存储6.kolla-ansible在上一篇的基础上,来继续完善openstack的相关配置。先将控制节点启动,然后在启动计算节点。调用管理员... 查看详情

私有云运维技术栈

AnsibleApacheAB测试工具BeatsConsul DNSDockerELK GitGlusterFSJenkins2.0 kubernetesLinux MysqlnginxPrometheus技术栈Rancher SpringTraefik高可用工具LVSetcd本文出自“运维自动化”博客,请务必保留此出处http://shower. 查看详情

如何优雅部署openstack私有云ii--异常处理记录(代码片段)

来了,老弟,紧接着上一篇 树哥带你继续玩转openstack涤生树哥,公众号:涤生大数据如何优雅部署OpenStack私有云I--Kolla       涤生大数据在职运维群,各大厂在职大数据运维小伙伴,也期待各位在职的... 查看详情

如何优雅部署openstack私有云ii--异常处理记录(代码片段)

来了,老弟,紧接着上一篇 树哥带你继续玩转openstack涤生树哥,公众号:涤生大数据如何优雅部署OpenStack私有云I--Kolla       涤生大数据在职运维群,各大厂在职大数据运维小伙伴,也期待各位在职的... 查看详情

企业运维实战--最全docker学习笔记1.docker简介安装部署镜像构建dockerfile详解镜像构建镜像优化本地私有仓库搭建(代码片段)

...、镜像构建、Dockerfile详解、镜像构建、镜像优化、本地私有仓库搭建前言--Docker简介一、Docker安装部署二、镜像的构建三、Dockerfile详解四、镜像构建--nginx五、镜像优化六、本地私有仓库搭建笔记补充--docker常用命令补充前言–Do... 查看详情

openstack私有网络的部署(代码片段)

OpenStack私有网络OpenStack网络服务简介部署环境私有网络部署控制端部署计算节点部署图形化部署创建私有网络创建路由通过路由将私网和公网连接起来创建私网的云主机让外部网络可以访问内部网络OpenStack网络服务简介OpenStackNet... 查看详情

2022年河南省高等职业教育技能大赛云计算赛项竞赛赛卷(样卷)

...配置服务器。根据提供安装脚本框架,补充脚本完成OpenStack平台的安装搭建及运维任务,表2提供了在安装过程中需要使用相关服务参数。任务2私有云服务运维(10分)在搭建好的OpenStack平台上,对OpenStack平台及各组件进... 查看详情

openstack运维-部署dashboard组件[t版](代码片段)

OpenStack运维-部署Dashboard组件一、安装dashboard和apache二、修改dashboard配置文件三、开始验证一、安装dashboard和apacheyum-yinstallopenstack-dashboardhttpd二、修改dashboard配置文件cd/etc/openstack-dashboard/#修改的内容如下:#修改local_setting 查看详情

openstack运维-部署glance组件[t版](代码片段)

OpenStack运维-部署Glance组件一、创建数据库实例和数据库用户二、创建用户修改配置文件三、创建镜像服务API四、安装OpenStack-glance五、修改glance配置文件六、初始化glance数据库①开启服务②查看端口③赋予glance服务的读写权限七... 查看详情

云运维必备知识-云运维定义以及工作内容讲解

...现了企业上云。因此运维人员也从传统的IT运维转变成了云运维。那具体什么是云运维呢?云运维工作内容包含哪些?从事云计算运维可以考取哪些证书?云运维必备工具是什么?云运维是什么意思?云运维是... 查看详情

基于openstack构建私有云实践(代码片段)

...90作者:朱培ID:sdksdk0本文主要分享的是云计算、openstack的使用、私有云平台建设、云服务器云硬盘的构建和使用。从基本概念入手到私有云建设,信息 查看详情

openstack运维-部署cinder组件[t版](代码片段)

一、创建数据库实例和角色mysql-uroot-pCREATEDATABASEcinder;GRANTALLPRIVILEGESONcinder.*TO'cinder'@'localhost'IDENTIFIEDBY'CINDER_DBPASS';GRANTALLPRIVILEGESONcinder.*TO'cinder'&# 查看详情

openstack运维-部署placement组件[t版](代码片段)

OpenStack运维-部署Placement组件一、创建数据库实例和数据库用户二、创建Placement服务用户和API的endpoint①创建placement用户②让placement用户对service项目拥有admin权限③创建一个placement服务,服务类型为placement④注册API端口到placeme... 查看详情

openstack运维-部署neutron组件[t版](代码片段)

OpenStack运维-部署Neutron组件一、Neutron概述二、创建数据库neutron,并进行授权三、计算节点C1/C2四、CT验证服务组件一、Neutron概述Neutron是OpenStack项目中负责提供网络服务的组件,它基于软件定义网络的思想,实现了网... 查看详情

openstack运维-部署keystone组件[t版](代码片段)

OpenStack运维-Keystone组件一、创建数据库实例与用户二、安装配置Keystone&Apache[mod_wsgi]①安装服务及传参②初始化认证服务数据库及fernet密钥库③配置bootstrap身份认证服务④配置ApacheHTTP服务器⑤创建配置文件⑥配置管理员账户的... 查看详情

openstack搭建企业私有云三:计算服务(持续更新...)(代码片段)

计算服务概览使用OpenStack计算服务来托管和管理云计算系统。OpenStack计算服务是基础设施即服务(Iaas)系统的主要部分,模块主要由python实现。OpenStack计算组件请求OpenStackIdentity服务进行认证;请求OpenStackImage服务提供磁盘镜像... 查看详情

openstack运维-环境部署|报错排查[t版](代码片段)

OpenStack运维-环境部署一、环境配置二、基础配置1.配置国内YUM源2.修改主机名及关闭防火墙3.安装相关环境依赖包4.调优NAT网卡及配置DNS和映射5.配置免交护6.配置时间同步所有节点安装控制节点ct计算节点c1/2三、系统环境配置1.安... 查看详情

openstack搭建企业私有云五:dashboard(持续更新...)(代码片段)

...一个web接口,使得云平台管理员以及用户可以管理不同的Openstack资源以及服务。这个部署示例使用的是ApacheWeb服务器。controller节点安装Horizon服务#yuminstallopenstack-dashboard-y#vim/etc/openstack-dashboard/local_settings//188O 查看详情