ocata版本的kolla单节点部署

centos初始化

1, 关闭selinux

编辑/etc/selinux/config

SELINUX=disabled

重启机器,查看seliunux状态

sestatus

2, 关闭防火墙

systemctl status firewalld
systemctl stop firewalld
systemctl disable firewalld
systemctl status firewalld
firewall-cmd --state

3, Epel源

安装源

yum install epel-release

查看repo情况

yum repolist      

4. Hostname

cat /etc/hostname
kolla
cat   /etc/hosts
10.0.1.11   kolla   kolla
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

5. 时间同步

yum install ntp
systemctl enable ntpd.service
systemctl start ntpd.service
手工同步时间
ntpdate 0.centos.pool.ntp.org

6. 网络初始化

kolla的安装,要求目标机器是两块网卡,所以我虚拟机也是分配两块网卡,

enp0s8,vhost-only模式,设置的IP是:192.168.27.10,日后Horizon访问就是通过这个IP地址
enp0s9,NAT模式,ip其实是dhcp分配,这个其实是让neutron的br-ex 绑定使用,虚拟机是通过这块网卡访问外网。

基础包的安装

yum install python-devel libffi-devel gcc openssl-devel git python-pip

安装Docker

目前最新版本的Docker是1.13.1,Kolla目前支持的Docker是1.12.x,所以我们要指定Docker的版本来安装,并且一定要采用Docker官方的源,不能使用红帽的源,红帽的源的Docker是有bug。
设置repo

    tee /etc/yum.repos.d/docker.repo << 'EOF'
    [dockerrepo]
    name=Docker Repository
    baseurl=https://yum.dockerproject.org/repo/main/centos/$releasever/
    enabled=1
    gpgcheck=1
    gpgkey=https://yum.dockerproject.org/gpg
    EOF

安装Docker 1.12.5

yum install docker-engine-1.12.5 docker-engine-selinux-1.12.5

设置docker

mkdir /etc/systemd/system/docker.service.d
tee /etc/systemd/system/docker.service.d/kolla.conf << 'EOF'
[Service]
MountFlags=shared
EOF

重启相关服务

systemctl daemon-reload
systemctl enable docker
systemctl restart docker

访问私有的Docker仓库
编辑 /usr/lib/systemd/system/docker.service

#ExecStart=/usr/bin/dockerd
ExecStart=/usr/bin/dockerd --insecure-registry 192.168.27.10:4000

重启服务

systemctl daemon-reload
systemctl restart docker

Ansible

Kolla项目的Mitaka版本要求ansible版本低于2.0,Newton版本以后的就只支持2.x以上的版本。

yum install ansible

Registry 服务器

默认docker的registry是使用5000端口,对于OpenStack来说,有端口冲突,所以改成4000

docker run -d -v /opt/registry:/var/lib/registry -p 4000:5000 \
--restart=always --name registry registry:2

下载kolla官方提供的镜像到镜像目录
这是kolla官方提供的镜像给CI使用,只保留最新版本和最新的stable版本。大家可以下载Ocata版本

wget http://tarballs.openstack.org/kolla/images/centos-source-registry-ocata.tar.gz
tar zxvf centos-source-registry-ocata.tar.gz -C /opt/registry/

kolla-ansible

下载kolla-ansible的代码

cd /home
git clone http://git.trystack.cn/openstack/kolla-ansible -b stable/ocata

安装kolla-ansible

cd kolla-ansible
pip install .

复制相关文件

cp -r etc/kolla /etc/kolla/
cp ansible/inventory/* /home/

如果是在虚拟机里装kolla,希望可以启动再启动虚拟机,那么你需要把virt_type=qemu,默认是kvm

mkdir -p /etc/kolla/config/nova
cat << EOF > /etc/kolla/config/nova/nova-compute.conf
[libvirt]
virt_type=qemu
cpu_mode = none
EOF

生成密码文件

kolla-genpwd

编辑 /etc/kolla/passwords.yml

keystone_admin_password:admin

这是登录Dashboard,admin使用的密码,你可以根据自己需要进行修改。

编辑 /etc/kolla/globals.yml 文件

kolla_internal_vip_address: "10.0.1.253"
kolla_install_type: "source"
openstack_release: "auto"
docker_registry: "10.0.1.11:4000"
docker_namespace: "lokolla"
network_interface: "enp0s8"
neutron_external_interface: "enp0s9"

其中openstack_release这个参数是根据docker镜像的release版本来的,这个参数可以不配置,会自动选择

编辑all-in-one的host文件
选择要安装的必要服务,这里服务很多,选择必要就行了,参考模板

检查剧本

kolla-ansible prechecks -i /home/all-in-one 

安装OpenStack

kolla-ansible deploy -i /home/all-in-one 

验证部署

kolla-ansible post-deploy  -i /home/all-in-one 

安装OpenStack client端

pip install python-openstackclient

编辑 /usr/share/kolla-ansible/init-runonce
网络需要根据实际情况修改

EXT_NET_CIDR='10.0.4.0/24'
EXT_NET_RANGE='start=10.0.4.30,end=10.0.4.40'
EXT_NET_GATEWAY='10.0.4.1'

这里解析一下,10.0.4.0的网络,就是我上面enp0s9接的网络,这个网络是通过路由器访问互联网。这个地方需要好好理解。配置好这个,装完虚拟机就可以直接ping通。

运行

source /etc/kolla/admin-openrc.sh
cd /usr/share/kolla-ansible
./init-runonce

openstack server create \
--image cirros \
--flavor m1.tiny \
--key-name mykey \
--nic net-id=2ba93782-71e2-44d6-ad64-796c5853dcce \
demo1

这个时候,你可以登录Dashboard(vip的地址),给虚拟机分配一个floating ip,如果顺利,你应该就可以直接ping 通 floating ip的地址。

查看日志目录

/var/lib/docker/volumes/kolla_logs/_data/

虚拟机的xml

/run/libvirt/qemu/instance-00000001.xml
/run/libvirt/qemu/instance-00000001.pid
/var/lib/docker/volumes/nova_libvirt_qemu/_data/instance-00000001.xml

container_config_directory: "/var/lib/kolla/config_files"

备注:
多节点部署的时候,非kolla-ansible节点需要手动安装docker-py的包 命令: pip install docker-py
参考:http://www.chenshake.com/kolla-installation/

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,362评论 5 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,330评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,247评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,560评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,580评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,569评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,929评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,587评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,840评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,596评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,678评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,366评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,945评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,929评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,165评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,271评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,403评论 2 342

推荐阅读更多精彩内容