用kolla在docker容器里安装openstack

用kolla在容器里安装openstack

github地址:https://github.com/greatbsky/kolla-for-openstack-in-docker

OpenStack是一个开源的云计算管理平台项目,由几个主要的组件组合起来完成具体工作。OpenStack支持几乎所有类型的云环境,项目目标是提供实施简单、可大规模扩展、丰富、标准统一的云计算管理平台。OpenStack通过各种互补的服务提供了基础设施即服务(IaaS)的解决方案,每个服务提供API以进行集成。
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。

什么是kolla? Kolla可以把目前OpenStack项目用到的所有组件都容器化。

前段时间,为了便于服务器的管理、隔离、安全等,我在生产环境下为公司搭建了个私有云。运行一切正常

这个公开的文档是我部署测试环境下的,不是正式环境的,因文档是后来整理的,难免有些错误出入,比如id 或输出等的不匹配.

 

所用物理节点:

192.168.1.61    oscontroller
192.168.1.91    osnova1
192.168.1.92    osnova2

首先在所有物理节点配置初始环境

1.1 配置host names

vi /etc/hostname

vi /etc/hosts
# controller
192.168.1.61       oscontroller
# compute
192.168.1.91       osnova1
192.168.1.92       osnova2

1.2 验证所有节点是否相互连接.
ping oscontroller

ping osnova1
ping osnova2

1.3 更新系统安装你常用的软件

yum update

yum install yum-plugin-priorities -y

yum install epel-release -y

yum install wget -y

1.4 验证你的节点是否支持VT

[root@oscontroller ~]# egrep -c '(vmx|svm)' /proc/cpuinfo
2
[root@osnova1 ~]# egrep -c '(vmx|svm)' /proc/cpuinfo
4
[root@osnova2 ~]# egrep -c '(vmx|svm)' /proc/cpuinfo
4

1.5 配置节点之间免登录.

[root@oscontroller ~]# ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
[root@osnova1 ~]# ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
[root@osnova2 ~]# ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
[root@oscontroller .ssh]# scp root@osnova1:~/.ssh/id_rsa.pub id_rsa.nova1.pub
[root@oscontroller .ssh]# scp root@osnova2:~/.ssh/id_rsa.pub id_rsa.nova2.pub
[root@oscontroller .ssh]# cat id_rsa.pub >> ~/.ssh/authorized_keys
[root@oscontroller .ssh]# cat id_rsa.nova1.pub >> ~/.ssh/authorized_keys
[root@oscontroller .ssh]# cat id_rsa.nova2.pub >> ~/.ssh/authorized_keys
[root@oscontroller .ssh]# less authorized_keys
[root@oscontroller .ssh]# less authorized_keys

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCvsqNEBby5QOlDwpTlL1CAtqnzgQJ96U1JlEXfJ11I4JUk617WriDfNtDsPewzBhf1NfyaXoHqN5Bl9S8Ap2Gov4LCuUsa35qTE9uGJSAfnuJc3zTp2ciX0SZwanoCORzzY4hPB38V1Tg6JFsvVFzJanWk6Lb2zPm5F6RmikY3O4PTvBJFsL1rTzpr9UH37qDEZJ97jonCHeFSmvVk0Y+uvgniU4ttVupJS6Yfr2ITWHmt0/WOTl9d7AW+hufkrMuPUUXLx3cT+wAMIGQ7+/aVWxonL7TFtFXFND/4BLyx1M3luQho8mHBENDt94bUQQZGVIrj1Bb1FfobKkb6eGWb root@oscontroller
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCUrNutfi4uhcThQL2pPbXmfZ2wSMv5W8tV5yzpeYLaCpSU9d+rCpcgBXPQA2v+on1JAFxFCC+J8A63OWiIoBtwn9FLzI4Takfr+HmOSetVJMshxolYZ+/S6Qjs+hxBLRL9Qwpwtu6c19qGhz14W8gaNeHEDFoD705kk/5PhdOsxYpL+v/GXIvUBlR4zF9OJGrxNJIA48bqHOGBqBtcZbM4Vbre3Q52aVFxI34Rs1N344YgSJSg4wnzlOIvW+Vq1CClwRT9QRms2wAPcrRb4pva7c30+6wCGncPM64rt4gw0vDc1cxR8Jp6Gs/KYWU5roqXdcl72lEgLdE8aM9qQLoZ root@osnova1
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDeT8fy3K8XVc51JRvM/cF9DaQHL/e30JMebPBjUCf+/YdMDXkbIwVLGurMhDf8RVA7F5F0VxAe10kYeTv1BugkP34VVSDb80yHAyT8R/TOfi8z2WTREtT2eeuUVfuJI3dPmT+r+/7JowLyznJm2awRm9G2IOtUHZBn46/fTksdEtd7RLaWR7upkR37mwNJ8Qc7f3s9bYdNyn/LC9RKdNQWCbLZdnVbRRx5ixzt7snCClfE4djlO7cdPzsR+fggk9SIz9MJT12ePSgaqRBaTZgMuo+0NhB41NBK6Dx1IqdmxBhQlHufGG8sXhPDg3yyUONC4zK+GSjaLet1dCd4SAa1 root@osnova2

[root@oscontroller .ssh]# scp authorized_keys root@osnova1:~/.ssh/authorized_keys
[root@oscontroller .ssh]# scp authorized_keys root@osnova2:~/.ssh/authorized_keys


1.6 配置节点网络

[root@oscontroller ~]# cat /etc/sysconfig/network-scripts/ifcfg-em1
TYPE=Ethernet
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
NAME=em1
UUID=74c4c813-646e-4de4-a45d-25770ae70d1e
DEVICE=em1
ONBOOT=yes
IPADDR=192.168.1.61
PREFIX=24
GATEWAY=192.168.1.1
DNS1=8.8.8.8
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_PRIVACY=no

[root@oscontroller ~]# cat /etc/sysconfig/network-scripts/ifcfg-em2                    #这个网卡是不能设置ip的, 否则创建的实例网络不通.
TYPE=Ethernet
BOOTPROTO=none
DEFROUTE=yes
NAME=em2
UUID=85095748-b497-455d-b94f-1ef1156ed9c3
DEVICE=em2
ONBOOT=yes

[root@osnova1 ~]# cat /etc/sysconfig/network-scripts/ifcfg-em1
TYPE=Ethernet
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
NAME=em1
UUID=ed52b5f3-1f6d-4fc6-a488-23ab19ab08e1
DEVICE=em1
ONBOOT=yes
IPADDR=192.168.1.91
PREFIX=24
GATEWAY=192.168.1.1
DNS1=8.8.8.8
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_PRIVACY=no

[root@osnova1 ~]# cat /etc/sysconfig/network-scripts/ifcfg-em2                   #不能设置ip
TYPE=Ethernet
BOOTPROTO=none
DEFROUTE=yes
NAME=em2
UUID=8e3f62a3-b878-4e96-ac80-c1456de7fa49
DEVICE=em2
ONBOOT=yes

[root@osnova2 ~]# cat /etc/sysconfig/network-scripts/ifcfg-em1
TYPE=Ethernet
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
NAME=em1
UUID=ac949101-9e4d-47e8-971f-b0e67b1b4f17
DEVICE=em1
ONBOOT=yes
IPADDR=192.168.1.92
PREFIX=24
GATEWAY=192.168.1.1
DNS1=8.8.8.8
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_PRIVACY=no

[root@osnova2 ~]# cat /etc/sysconfig/network-scripts/ifcfg-em2                   #不能设置ip
TYPE=Ethernet
BOOTPROTO=none
DEFROUTE=yes
NAME=em2
UUID=0920f7c0-a406-4170-9d70-706b65d485d6
DEVICE=em2
ONBOOT=yes

 

1.7 安装kolla的依赖

yum install python-pip -y
pip install -U pip
pip -V
[root@oscontroller ~]# yum install ansible1.9.noarch                    #或 pip install -U ansible==1.9.4 卸载pip uninstall ansbile 或yum remove ansible
[root@oscontroller ~]# ansible --version

ansible 1.9.6
  configured module search path = None

yum install gcc gcc-c++ -y
 

1.8 配置 NTP

yum install ntp -y
systemctl enable ntpd.service
systemctl start ntpd.service
yum install chrony -y
[root@oscontroller ~]# vi /etc/chrony.conf
# Use public servers from the pool.ntp.org project.
# Please consider joining the pool (http://www.pool.ntp.org/join.html).
server 0.centos.pool.ntp.org iburst
server 1.centos.pool.ntp.org iburst
server 2.centos.pool.ntp.org iburst
server 3.centos.pool.ntp.org iburst

# Ignore stratum in source selection.
stratumweight 0

# Record the rate at which the system clock gains/losses time.
driftfile /var/lib/chrony/drift

# Enable kernel RTC synchronization.
rtcsync

# In first three updates step the system clock instead of slew
# if the adjustment is larger than 10 seconds.
makestep 10 3

# Allow NTP client access from local network.
#allow 192.168/16
allow 192.168.1.0/24

[root@osnova1 osnova2 ~]# vi /etc/chrony.conf
# Use public servers from the pool.ntp.org project.
# Please consider joining the pool (http://www.pool.ntp.org/join.html).
server 0.centos.pool.ntp.org iburst
server 1.centos.pool.ntp.org iburst
server 2.centos.pool.ntp.org iburst
server 3.centos.pool.ntp.org iburst
server oscontroller iburst
systemctl enable chronyd.service
systemctl start chronyd.service
chronyc sources

1.9 配置防火墙

@oscontroller
firewall-cmd --permanent --zone=public --add-port=80/tcp
firewall-cmd --permanent --zone=public --add-port=443/tcp
firewall-cmd --permanent --zone=public --add-port=3306/tcp
firewall-cmd --permanent --zone=public --add-port=5672/tcp
firewall-cmd --permanent --zone=public --add-port=5000/tcp
firewall-cmd --permanent --zone=public --add-port&#

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值