OpenStack all-in-one環境搭建


Kolla簡介

       Kolla項目起源於TripleO項目,聚焦於使用Docker容器部署OpenStack服務。該項目由Cisco於2014年9月提出,是OpenStack 社區Big Tent開發模式下的孵化項目。Kolla項目是一個支持Openstack服務以容器的方式部署,借助ansible部署工具可以簡單的擴展到多個節點。同時,又借助於使用 heat 來編排 Kolla 集群。

       安裝kolla,必須自己build鏡像,由於網絡的原因,經常會導致在build 鏡像的時候失敗。因此可以直接采用kolla官方提供的鏡像文件,這樣就不需要自己build鏡像的環節,也就是搭建本地的docker registry。本次部署,我是直接采用公司的鏡像倉庫。

一、安裝基礎包

yum update

yum install epel-release                                       #啟用EPEL的repo

yum install python-devel libffi-devel gcc openssl-devel git python-pip  #安裝所需的依賴包

pip install --upgrade pip                                      #這里踩過坑,先升級一下

二、安裝docker

    1. 設置repo,配置docker

目前最新版本的Docker是1.13.1,Kolla目前支持的Docker是1.12.x,所以我們要指定Docker的版本來安裝,並且一定要采用Docker官方的源。為yum添加一個repo文件,在centos7下面可以直接運行下面的代碼。這個repo的目的就是為了讓我們的yum可以根據repo文件里提供的連接去檢索docker最新的安裝包。

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

  2. 安裝Docker

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

  3. 設置docker

mkdir /etc/systemd/system/docker.service.d

tee /etc/systemd/system/docker.service.d/kolla.conf << 'EOF'

[Service]

MountFlags=shared

EOF

  4. 重啟docker服務

systemctl daemon-reload

systemctl enable docker

systemctl restart docker

  5. 設置docker采用私有倉庫

vim /usr/lib/systemd/system/docker.service

#ExecStart=/usr/bin/dockerd

ExecStart=/usr/bin/dockerd --insecure-registry XXXXXXX:XXXX             #鏡像倉庫地址:端口號

  6. 重啟docker服務

systemctl daemon-reload

systemctl restart docker

三、安裝Ansible

yum install ansible

四、kolla-ansible

  1. 下載kolla-ansible

cd /home

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

   2. 安裝kolla-ansible

cd kolla-ansible

pip install .

   3. 復制相關文件

cp -r etc/kolla /etc/kolla/

cp ansible/inventory/* /home/

  4. 如果在虛擬機里裝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

  5. 生成密碼文件,這是登錄Dashboard,admin使用的密碼,可以根據自己需要進行修改

kolla-genpwd

vim /etc/kolla/passwords.yml

  6. 編輯文件

vim /etc/kolla/globals.yml 

kolla_install_type: "source"

openstack_release: "4.0.3"                

docker_registry: "XXXXXX"                #鏡像倉庫地址+端口號

docker_namespace: "lokolla"

  7. 安裝OpenStack

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

五、驗證部署

  1. 完成部署

kolla-ansible post-deploy

  2. 安裝OpenStack client

pip install python-openstackclient

  3. 編輯文件/usr/share/kolla-ansible/init-runonce,網絡需要根據實際情況修改,10.0.2.0的網絡是通過路由器訪問互聯網,配置好這個,裝完虛擬機就可以直接ping通。

vim /usr/share/kolla-ansible/init-runonce

EXT_NET_CIDR='10.0.2.0/24'

EXT_NET_RANGE='start=10.0.2.150,end=10.0.2.199'

EXT_NET_GATEWAY='10.0.2.1'

  4. 使用 init-runonce腳本創建基礎環境

source /etc/kolla/admin-openrc.sh

cd /usr/share/kolla-ansible

./init-runonce

  5. 根據最后的命令提示,可直接創建虛擬機

openstack server create \

--image cirros \

--flavor m1.tiny \

--key-name mykey \

--nic net-id=2ba93782-71e2-44d6-ad64-796c5853dcce \

demo1

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM