第一章 openstack平台搭建及创建云主机

一、部署packstack

cirros镜像 链接:https://pan.baidu.com/s/1xuKWmFepACVE93ThxRdwIA 提取码:jwbd

简介

对于openstack初学者而言,传统部署openstack流程是在过于繁琐,需要多台虚拟机,packstack完美解决这个问题,可以减少了许多繁琐且容易出错的部署流程,packstack可以选择单节点或双节点部署,本次完美使用单节点部署allinone。

性能搭配

推荐处理器内核至少3个(i5-8300H四核八线程),尽量按你最大的核心分配,否则正式安装会很慢!!!内存推荐6G(4G应该也没问题)。

准备工作
1.关闭防火墙、SElinux、NetManager
 
2.时间同步
 
3.更换repo源
关闭防火墙
systemctl disable firewalld  &&\             //关闭防火墙开机自启
systemctl stop firewalld  &&\                //关闭防火墙
systemctl disable NetworkManager &&\         //关闭网络管理器开机自启
systemctl stop NetworkManager &&\            //关闭网络管理器
systemctl enable network &&\                 //网络开机自启
systemctl start network                      //开启网络
关闭SElinux
vi /etc/selinux/config 
 
修改SELINUX=disabled 
 
setenforce 0
同步时间ntpdate
yum install ntpdate -y                  //安装 ntpdate
 
ntpdate ntp1.aliyun.com                 //同步阿里云时间
 
systemctl enable ntpdate                //开机自启
  
date                                    //当前时间输出
安装
更换阿里云的repo源
//备份yum源文件
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
//下载阿里云的yum源文件保存为Base 
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo 
 //建立缓存
yum makecache
安装openstack-queens

本质只是下载了Q版的repo源,在/etc/yum.repos.d/可以查看到repo源。

yum install -y centos-release-openstack-queens   //安装openstack-queens
 
yum update -y                                    //更新centos所有软件内核
正式安装
yum install -y openstack-packstack                //安装openstack-packstack
正式部署
packstack --allinone                              //部署

报错遇见包就手动下载一下,遇见什么写入不了什么的就把内存硬盘加一加

在这里插入图片描述

这样计算配置完成了

那么登录云平台使用地址为http:// $ip/dashboard

账号密码在这里哦

在这里插入图片描述在这里插入图片描述

二、创建云主机

(补充)

上一节我们配置完了openstack云平台,这里需要补充一下

在这里插入图片描述

工具创建的网桥是临时的所以我们需要给其一个配置文件

TYPE=Ethernet
BOOTPROTO=static
NAME=br-ex
DEVICE=br-ex
ONBOOT=yes
IPADDR=172.24.4.1
PREFIX=24
创建网络

在这里插入图片描述在这里插入图片描述

创建好了

创建路由

在这里插入图片描述

添加接口

在这里插入图片描述

在这里插入图片描述在这里插入图片描述

创建虚拟机

创建虚拟机报错。。。。。。。。。。。。。。真的很无语(作者的吐槽。。。:愿天堂没有error)

还是要面对,检查错误信息,说是卷构建失败,很好那就有目标了
在这里插入图片描述
在这里插入图片描述

既然是创建卷失败我们就查看一下卷的日志信息

/var/log/cinder/volume.log

我要继续吐槽了,packstack部署给的cirros镜像说不是qcow2格式,仔细看一眼

在这里插入图片描述

好好好,哥们逗我玩呢,273字节,这就上传了个壳啊。。。

我们这边自己传一个cirros镜像进去

在这里插入图片描述

shell界面上传一下

openstack image create --disk-format qcow2 --container-format bare --file cirros-0.3.4-x86_64-disk.img cirros1

在这里插入图片描述

web界面继续创建虚拟机,选择刚上传的镜像

在这里插入图片描述在这里插入图片描述
在这里插入图片描述

那么创建成功,目前本人遇到的错误解决了,但是实际上还有很多可能会报错的原因,就不一一列出。

打开控制台也就是vnc,呵呵正当我以为万事大吉今天就这么结束了的时候,暴击了

就这么暴击了
在这里插入图片描述

好吧其实我解决了之后才写了这篇文档,实际上这里大家八成会报错,无法打开vnc(1006) 虽然这里要写文档但我也绝对不会犯病去吧报错改回去再看一遍的

放个报错在那,鬼看得懂啊

ok,大概流程就是检查错误,这里是vnc报错,去看日志吧,学习要养成看日志的习惯

tail -f /var/log/nova/nova-novncproxy.log 

在这里插入图片描述

我检查了无数遍终于看到角落里的 no address found 就是找不到地址

我纳闷了,看看nova的配置文件

vim /etc/nova/nova.conf

  server_proxyclient_address=controller

好吧看明白了,controller在这放得好好的,你说找不到ip 那就是没有映射咯

[root@controller ~(keystone_admin)]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.10.14 controller

最后一行添加进去 记住别照抄,写自己的ip哈

这样子就全都解决了。。。。。。。。。。。。。。。。。。。(再次吐槽,说起来简单我快抽死了才解决)

测试连通性
ping baidu.com
ping $WINDOWS_IP   //本机windows 的ip 通过ipconfig 查看

6 localhost6.localdomain6
192.168.10.14 controller


最后一行添加进去 记住别照抄,写自己的ip哈

这样子就全都解决了。。。。。。。。。。。。。。。。。。。(再次吐槽,说起来简单我快抽死了才解决)

##### 测试连通性

```shell
ping baidu.com
ping $WINDOWS_IP   //本机windows 的ip 通过ipconfig 查看
  • 29
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
以下是使用Ansible调用OpenStack API创建云主机的步骤: 1. 安装openstacksdk:在控制节点上安装openstacksdk,使用以下命令即可: ``` pip install openstacksdk ``` 2. 在Ansible主机上创建一个yml文件,包含以下任务: ``` - name: Create a new instance hosts: localhost gather_facts: no vars: auth: auth_url: "http://keystone.example.com:5000/v3" username: "admin" password: "password" project_name: "admin" project_domain_name: "default" user_domain_name: "default" server: name: "test-instance" image_name: "ubuntu-16.04" flavor_name: "m1.small" network_name: "private" key_name: "my-keypair" security_group: "default" tasks: - name: Authenticate to OpenStack os_auth: cloud: "{{ auth }}" cache_path: "/tmp/.openstack.cache" register: auth_result - name: Create a new instance os_server: state: present cloud: "{{ auth }}" name: "{{ server.name }}" image_name: "{{ server.image_name }}" flavor_name: "{{ server.flavor_name }}" network_name: "{{ server.network_name }}" key_name: "{{ server.key_name }}" security_groups: "{{ server.security_group }}" register: instance_result - name: Print instance details debug: var: instance_result ``` 在此文件中,我们首先定义了OpenStack的认证信息,包括认证URL、用户名、密码、项目名称和域名等信息。接着,我们定义了要创建云主机的名称、镜像、规格、网络、密钥和安全组等信息。最后,我们使用os_server模块创建云主机,并注册输出结果。 3. 运行Ansible任务:运行以下命令来运行Ansible任务: ``` ansible-playbook create_instance.yml ``` 这将调用OpenStack API来创建一个新的云主机创建完成后,你可以在OpenStack控制台中查看新创建云主机

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值