目标
完成了《Ubuntu16手动安装OpenStack——创建实例》,验证了之前的安装没有大的问题。
本文,我们来研究一下horizon的安装配置,主要参考Horizon: Install and configure for Ubuntu 和 OpenStack Queens : Configure Horizon。
说明
由于电脑配置有限,已经没有多余的资源分配给虚拟机,所以接下来的安装配置转移到实体上。实体机系统为ubuntu-16.04.4-server-amd64,配置为32核64GB内存8TB存储。有四张网卡分别为eno1、eno2、eno3和eno4,其中eno1的IP为172.16.0.105,eno2的ip为172.16.101.105,eno3配置为neutron使用的网卡。
172.16.0.105需要通过跳板机访问,172.16.101.105可以本地直连。
实体机同样安装好了keystone、glance、nova和neutron服务,也测试创建了实例。除了配置更高,其他等同于之前的控制节点。
horizon简介
horizon(dashboard)一般安装在控制器节点上,所需的唯一核心服务是身份认证服务。我们可以将horizon与其他服务结合使用,例如镜像服务,计算和网络。也可以在具有独立服务(如对象存储)的环境中使用horizon。
queens版本的horizon需要以下依赖:
(1)Python 2.7
(2)Django 1.11。Django 1.8到1.10也受支持,不过他们的支持将在Rocky版本中被删除。
(3)可访问的keystone端点。
(4)所有其他服务都是可选的。如果配置了服务的keystone端点,则horizon会检测它并自动启用其支持。queens发布时,Horizon支持以下服务:
- cinder: Block Storage
- glance: Image Management
- neutron: Networking
- nova: Compute
- swift: Object Storage
- Horizon also supports many other OpenStack services via plugins.
安装配置
1、安装horizonapt-get -y install openstack-dashboard
2、编辑horizon配置文件vi /etc/openstack-dashboard/local_settings.py
如下修改:
1 |
|
3、重启apache2和memcachedsystemctl restart apache2 memcached
简单使用
1、测试访问
访问地址:http://172.16.101.105/horizon/auth/login/
2、Domain输入default,用户名输入admin,密码输入openstack。登录horizon。
3、查看项目和用户。点击左侧导航栏身份认证,项目或者用户。
4、查看cirros0实例。身份认证,项目,siat,查看使用量。
5、退出登录
简单使用2
1、测试访问
访问地址:http://172.16.101.105/horizon/auth/login/
2、Domain输入default,用户名输入voidking,密码输入openstack。登录horizon。
3、同样可以看到cirros0实例,并且进行管理。
访问实例
参考OpenStack添加镜像,添加ubuntu16的官方镜像,创建实例,分配的IP为10.0.0.208。
1、在控制节点通过密钥访问ssh ubuntu@10.0.0.208 -i id_rsa
2、在本地通过网页访问
点击实例名称,控制台,即可拿到vnc地址,比如 http://controller:6080/vnc_auto.html?token=a92733f2-e6c5-45e8-8521-5ace9b747957&title=k8s01
把controller替换为172.16.101.105,得到 http://172.16.101.105:6080/vnc_auto.html?token=a92733f2-e6c5-45e8-8521-5ace9b747957&title=k8s01
访问该地址,即可看到网页控制台。
3、在本地通过密钥访问
(1)在控制节点新建portmap.sh脚本,内容为:
1 |
|
(2)执行脚本chmod a+x portmap.sh
sudo ./portmap.sh
(3)新建xshell连接
名称填入10.0.0.208,主机填入172.16.101.105,端口号填入20822。
用户身份验证,方法选择Public Key,浏览,导入实例对应的id_rsa私钥。
(4)配置完成,连接即可。
实例访问外网
在实例中ping百度,是不通的,下面我们进行配置,使实例能够访问外网。参考Linux配置SNAT上网。
控制节点
在控制节点切换到root进行操作。
1、接收数据包iptables -P INPUT ACCEPT
2、开启路由功能echo 1 > /proc/sys/net/ipv4/ip_forward
3、伪装数据包iptables -t nat -A POSTROUTING -j MASQUERADE
实例
1、在实例中测试访问ping 120.77.36.182
,是可以ping通的。ping www.baidu.com
,ping不通。
2、在实例中配置resolv.confsudo vim /etc/resolv.conf
,添加nameserver的配置
1 | nameserver 180.76.76.76 |
sudo vim /etc/resolvconf/resolv.conf.d/base
,添加:
1 | nameserver 180.76.76.76 |
注意:执行sudo的时候,反应非常慢,请耐心等待,大概半分钟才能打开文件。要解决这个问题,需要修改hosts文件,加入主机名的解析:
1 | 127.0.0.1 k8s01 |
3、测试ping www.baidu.com