安装epel-release ;安装python-pip,升级到最新

yum install epel-release

yum install python-pip

pip install -U pip

安装依赖包

yum install python-devel libffi-devel gcc openssl-devel libselinux-python

安装ansible

yum install ansible

安装docker

curl -sSL https://get.docker.io | bash

配置docker服务,这里的配置,根据官网的提示是为了防止kolla-ansible部署neutron-dhcp-agent 容器时候抛出 APIError/HTTPError

# Create the drop-in unit directory for docker.service

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

# Create the drop-in unit file

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

[Service]

MountFlags=shared

EOF

重启dockers服务

systemctl daemon-reload

systemctl restart docker

安装docker python

pip install -U docker

安装 升级python jinja版本

pip install -U Jinja2

安装ntp

yum install ntp

systemctl enable ntpd.service

systemctl start ntpd.service

关闭libvirtd服务

系统可能默认开启了libvirtd服务,需要关闭

systemctl stop libvirtd.service

systemctl disable libvirtd.service

安装kolla-ansible

运行这个命令会安装最新稳定版本的kolla-ansible

pip install kolla-ansible

复制globals.yml 和 passwords.yml 到 /etc

cp -r /usr/share/kolla-ansible/etc_examples/kolla /etc/kolla/

复制inventory 文件 (all-in-one 和 multinode) 到 当前目录

cp /usr/share/kolla-ansible/ansible/inventory/* .

配置docker本地镜像仓库

默认Docker的Registry是使用5000端口,对于OpenStack来说,有端口冲突,所以需要改成4000。Pull并启动registry镜像。

docker run -d -v /opt/registry:/var/lib/registry -p 4000:5000 \

--restart=always --name registry registry:2.3

说明:

Docker容器启动的时候,如果要挂载宿主机的一个目录,可以用-v参数指定;这里表示将宿主机的

/opt/registry目录挂在到容器的/var/lib/registry目录

-p 4000:5000表示将宿主机的4000映射到容器的5000端口

--name registry是给这个容器起名为registry

registry:2.3表示docker拉取的镜像是版本为2.3的registry

将之前下载的kolla镜像解压到/opt/registry目录中

tar zxf centos-binary-registry-ocata.tar.gz -C /opt/registry/

查看镜像仓库是否正常,如果返回一个json数据表示正常工作,这里的ip替换为docker仓库所在的主机IP

curl http://xxx.xxx.xxx.xxx:4000/v2/\_catalog

有时候会在准备运行kolla-ansible deploy -i出现这种报错

Error:server gave HTTP response to HTTPS client

需要配置,这里的ip就是registry所在的主机ip

tee /etc/docker/daemon.json <<-'EOF'

{ "insecure-registries":["xxx.xxx.xxx.xxx:4000"]}

EOF

重启Docker服务

systemctl daemon-reload

systemctl restart docker

results matching ""

    No results matching ""