OpenStack踩坑之路(4)

简介: OpenStack踩坑之路(4)

使用OpenStack启动一个实例


1.创建虚拟网络


在启动实例之前,您必须创建必要的虚拟网络基础结构。对于提供商网络,实例使用通过第2层(桥接/交换)连接到物理网络基础设施的提供商(外部)网络。该网络包括一个为实例提供IP地址的DHCP服务器。


该admin或其他特权用户必须创建此网络,因为它直接连接到物理网络基础结构。


加载环境变量


[root@controller ~]# . admin-openrc


创建网络


[root@controller ~]# openstack network create  --share --external--provider-physical-network provider --provider-network-type flat provider  //--share选项允许所有项目使用虚拟网络,--external选项将虚拟网络定义为外部。如果你想创建一个内部网络,你可以使用--internal。默认值是internal。


图片


在网络上创建一个子网


[root@controller ~]# openstack subnet create --networkprovider \
> --allocation-pool start=173.168.16.20,end=173.168.16.252 \
> --dns-nameserver 114.114.114.114 --gateway173.168.16.254 \
> --subnet-range 173.168.16.0/24 provider  //创建了一个地址池为173.168.16.20-173.168.16.252,DNS地址为114.114.114.114,网关为173.168.16.254的子网


640.jpg


查看网络列表


[root@controller ~]# openstack network list


640.png


2.创建m1.nano规格的主机


最小的默认规格消耗每个实例512 MB的内存。对于计算节点内存小于4 GB的环境,我们建议创建m1.nano每个实例仅需要64 MB 的风格。为了测试目的,请仅将CirrOS图像用于此规格。


[root@controller ~]# openstack flavor create --id 0--vcpus 1 --ram 64 --disk 1 m1.nano  //创建了主机id为0,CPU数量为1,内存64M(默认单位是M),磁盘容量为1G的主机


640.png


查看创建的主机


[root@controller ~]# openstack network list


640.png


3.创建密钥对


大多数云图像支持公钥认证,而不是传统的密码认证。在启动实例之前,您必须将公钥添加到Compute服务。


加载demo环境变量


[root@controller ~]# . demo-openrc


生成密钥对并添加公钥


[root@controller ~]# ssh-keygen -q -N ""  //创建密钥对
[root@controller ~]# openstack keypair create--public-key ~/.ssh/id_rsa.pub mykey   //添加公钥,或者不用执行上一条命令,直接使用现有的公钥


640.png


验证密钥对添加


[root@controller ~]# openstack keypair list


640.png


4.添加安全组规则


默认情况下,default安全组适用于所有实例,并包含拒绝远程访问实例的防火墙规则。对于像CirrOS这样的Linux映像,我们建议至少允许ICMP(ping)和安全shell(SSH)。

向default安全组添加规则,允许icmp(ping):



[root@controller ~]# openstack security group rulecreate --proto icmp default

允许安全shell(SSH)访问:


[root@controller ~]# openstack security group rule create --proto tcp --dst-port 22 default


640.jpg


640.jpg


5.启动一个实例


加载demo环境变量


[root@controller ~]# . demo-openrc


列出创建的实例


[root@controller ~]# openstack flavor list


640.png


列出可用的镜像


[root@controller ~]# openstack image list


640.png


列出可用网络


[root@controller ~]# openstack network list


640.png


列出可用的安全组


[root@controller ~]# openstack security group list


640.png


启动实例


[root@controller ~]# openstack server create --flavorm1.nano --image cirros \
> --nic net-id=38d21b44-63ca-4514-bde6-7e3f7b7fabfd--security-group default \
> --key-name mykey provider-instance  //net-id为创建的网络id


640.png


查看实例的状态


[root@controller ~]# openstack server list


图片6.使用虚拟控制台访问实例


[root@controller ~]# openstack console url showprovider-instance  //可以在web浏

览器上输入下面的URL进行vnc连接


640.png


验证对提供商物理网络网关的访问权限


640.jpg


验证对外网的访问


$ ping openstack.org


640.png


远程连接虚拟机(账号cirros,密码‘cubswin;)’)


[root@controller ~]# ssh cirros@173.168.16.28


640.jpg


至此,实例创建完成


OpenStack dashboard服务搭建


本节介绍如何在控制器节点上安装和配置仪表板。


仪表板所需的唯一核心服务是身份服务。您可以将仪表板与其他服务结合使用,例如图像服务,计算和网络。您还可以在具有独立服务(如对象存储)的环境中使用仪表板。


本节假定使用Apache HTTP服务器和Memcached服务正确安装,配置和操作Identity Service。


1.安装软件包


[root@controller ~]# yum install openstack-dashboard


2.编辑配置文件修改配置


编辑 /etc/openstack-dashboard/local_settings 文件并完成以下操作:


配置仪表板以在controller节点上使用OpenStack服务:


OPENSTACK_HOST = "controller"


允许所有主机访问仪表板:


ALLOWED_HOSTS = ['*', 'localhost']


配置memcached会话存储服务:(这里注释掉其他的会话存储配置)


SESSION_ENGINE ='django.contrib.sessions.backends.cache'
CACHES = {
    'default': {
        'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
        'LOCATION': 'controller:11211',
    }
}


启用版本为3的认证 API:


OPENSTACK_KEYSTONE_URL = "http://%s:5000/v3" %OPENSTACK_HOST


启用对域的支持:


OPENSTACK_KEYSTONE_MULTIDOMAIN_SUPPORT = True


配置API版本:


OPENSTACK_API_VERSIONS = {
   "identity": 3,
   "image": 2,
   "volume": 2,
}


配置Default为您通过仪表板创建的用户的默认域:


OPENSTACK_KEYSTONE_DEFAULT_DOMAIN = "Default"


配置user为您通过仪表板创建的用户的默认角色:


OPENSTACK_KEYSTONE_DEFAULT_ROLE = "user"


如果您选择了网络选项1,请禁用对三层网络服务的支持:


OPENSTACK_NEUTRON_NETWORK = {
   'enable_router': False,
   'enable_quotas': False,
   'enable_ipv6': False,
    'enable_distributed_router':False,
   'enable_ha_router': False,
    'enable_lb':False,
  'enable_firewall': False,
    'enable_vpn':False,
   'enable_fip_topology_check': False,
 }


配置时区


TIME_ZONE = "Asia/Shanghai"


注意:对配置文件里添加新配置的同时要对以前相同的配置进行注释,否则会造成重启http服务报错


3.完成安装


重新启动Web服务器和会话存储服务


[root@controller ~]# systemctl restart httpd.servicememcached.service


4.验证操作


在浏览器输入173.168.16.224/dashboard访问dashboard

这里我一直访问不了,查看日志看到Script timed out before returning headers: django.wsgi,百度这条关键字,发现需要修改dashboard配置文件,编辑etc/httpd/conf.d/openstack-dashboard.conf,在WSGISocketPrefix run/wsgi下面加一行代码:


WSGIApplicationGroup %{GLOBAL}


保存,重启httpd服务。


后来可以访问了,但是登录老是失败,出现下图的报错,查看日志,发现这么一条信息,"Unable to create a new session key. " “Unable to create anew session key. It is likely that the cache is unavailable.”,百度一下修改/etc/openstack-dashboard/local_settings文件中的SESSION_ENGINE= 'django.contrib.sessions.backends.cache',将cache修改为file,重启httpd服务即可成功访问


640.png


这里访问的默认域为“Default”,用户名与密码为admin,也可以使用demo用户进行登录


640.jpg


至此,OpenStack dashboard服务搭建完成

相关文章
|
消息中间件 机器学习/深度学习 关系型数据库
|
8月前
|
Java Docker 微服务
阿里P8携手腾讯T4谈微服务架构实战:深入浅出Cloud+boot+Docker
微服务”架构在这几年被广泛传播,变得非常火热,以至于关于微服务架构相关的开源框架和工具都变得越来越活跃,比如: Netflix OSS. Dubbo. Apache Thrift等。Spring Cloud也因为Spring社区在企业应用领域的广泛知名度和强大影响力,受到了广大架构师与开发者的高度关注。
|
人工智能 Kubernetes Cloud Native
阿里又一个“逆天”容器框架!这本Kubernetes进阶手册简直太全了
容器技术这样一个新生事物,完全重塑了整个云计算市场的形态。在这个市场里,不仅有 Google、Microsoft 等技术巨擘们厮杀至今,更有无数的国内外创业公司前仆后继。而在国内,甚至连以前对开源基础设施领域涉足不多的 BAT、蚂蚁、滴滴这样的巨头们,也都从 AI、云计算、微服务、基础设施等维度多管齐下,争相把容器和 Kubernetes 项目树立为战略重心之一。
|
存储 中间件 API
OpenStack踩坑之路(2)
OpenStack踩坑之路(2)
OpenStack踩坑之路(2)
|
存储 消息中间件 缓存
OpenStack踩坑之路(1)
OpenStack踩坑之路(1)
OpenStack踩坑之路(1)
|
消息中间件 SQL 移动开发
|
存储 域名解析 Kubernetes
踩坑实录,Kubernetes集群搭建
老早之前就说要在虚拟机上装一波Kubernetes集群,但是呢之前装了一次报错了,后来一直也没有重装,趁着这几天放假休息,又重新装了一波,可算是搞定了,本篇文章就将安装的注意事项,以及安装过程向大家分享一下,让大家避免踩坑。
338 0
|
域名解析 Kubernetes 监控
openshift踩坑日记
openshift 是红帽做的一个 kubernetes 发行版,相当于 rancher 的竞品。红帽公司 kubernetes 的基础上,引入了安全机制,身份验证,网络监控,日志可视化等特性,试图在云原生领域分一杯羹。
1332 0
openshift踩坑日记
|
Docker 容器
阿里云工程师回顾:首本《自己动手写docker》书籍是怎么来的?
盼望着,盼望着,终于到了新书预售的这一天。当看到封面的那一刻,硕大的一个手折鲸鱼跃然于首页,仿佛这一段时间的辛苦片刻烟消云散,只剩下无尽的激动,恨不得把他扣下来好好抱着抚摸一番。 看过无数本书,见过无数次 本书ISBN号为XXX, 2017年第一次印刷,电子工业出版社出版。
10830 0