美文网首页
Kolla部署Stein版OpenStaak

Kolla部署Stein版OpenStaak

作者: 我问你瓜保熟吗 | 来源:发表于2019-04-10 11:09 被阅读0次
环境说明

我的机器配置是在VMware15创建的虚拟机,具体配置如下:
Centos7.4
16G内存
200G硬盘
双网卡:一个nat网卡,一个仅主机网卡,用作管理网络,不能配置ip地址

  • 网卡配置
# ens32
TYPE=Ethernet
BOOTPROTO=static
DEVICE=ens32
ONBOOT=yes
IPADDR=172.16.1.8
NETMASK=255.255.255.0
GATEWAY=172.16.1.2
DNS1=172.16.1.2

# ens33
TYPE=Ethernet
BOOTPROTO=static
DEVICE=ens33
ONBOOT=yes
  • 查看网卡信息
[root@localhost ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: ens32: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:0c:29:27:f7:e0 brd ff:ff:ff:ff:ff:ff
    inet 172.16.1.8/24 brd 172.16.1.255 scope global noprefixroute ens32
       valid_lft forever preferred_lft forever
    inet6 fe80::20c:29ff:fe27:f7e0/64 scope link 
       valid_lft forever preferred_lft forever
3: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:0c:29:27:f7:ea brd ff:ff:ff:ff:ff:ff
初始化系统环境

  • 设置主机名
hostnamectl set-hostname openstack
  • 关闭防火墙和selinux
systemctl stop NetworkManager firewalld
systemctl disable NetworkManager firewalld
sed -i "s/SELINUX=enforcing/SELINUX=disabled/" /etc/selinux/config
setenforce 0
  • 查看是否开启了虚拟化
# egrep "vmx|svm" /proc/cpuinfo
安装Docker

  • 安装docker
wget -O /etc/yum.repos.d/docker-ce.repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

# 默认安装最新版
yum install docker-ce  -y  

# 查看可安装的docker 版本
yum list docker-ce.x86_64  --showduplicates | sort -r
  • 配置dockers
# 1、如果不设置此项,kolla-ansible 部署neutron-dhcp-agent 容器的时候会失败,并抛出 APIError/HTTPError
mkdir /etc/systemd/system/docker.service.d
tee /etc/systemd/system/docker.service.d/kolla.conf << 'EOF'
[Service]
MountFlags=shared
EOF

# 2、更改国内源、指定文件系统格式
vim /usr/lib/systemd/system/docker.service
# ExecStart=/usr/bin/dockerd
# 设置国内的daocloud.io镜像源,指定overlay2系统格式,docker默认就是overlay2
ExecStart=/usr/bin/dockerd --registry-mirror=http://f2d6cb40.m.daocloud.io --storage-driver=overlay2
  • 启动docker
systemctl daemon-reload
systemctl restart docker
systemctl enable docker
systemctl status docker
docker info
安装ansible

  • 安装常用软件
yum install gcc openssl-devel git  wget vim -y
  • 安装升级pip
yum install epel-release -y
yum install python-pip -y
pip install -U pip
  • 安装依赖
yum -y install python-devel libffi-devel gcc openssl-devel libselinux-python
  • 安装ansible
yum -y install ansible
pip install -U ansible
  • 编辑ansible配置,添加以下内容 (可选)
    vim /etc/ansible/ansible.cfg
[defaults]
host_key_checking=False
pipelining=True
forks=100
安装kolla-ansible

  • 从GitHub拉取kolla和kolla-ansible
git clone https://github.com/openstack/kolla-ansible -b stable/stein
git clone https://github.com/openstack/kolla-ansible -b stable/stein
  • 安装依赖
pip install -r kolla/requirements.txt
pip install -r kolla-ansible/requirements.txt

# 如果不能使用kolla-ansible命令,执行以下操作
cd kolla-ansible
# 下面的命令会执行setup.py脚本,安装kolla-ansible
pip install . -i https://pypi.tuna.tsinghua.edu.cn/simple
  • 复制配置文件
mkdir -p /etc/kolla
cp -r kolla-ansible/etc/kolla/* /etc/kolla
cp kolla-ansible/ansible/inventory/* .
  • ansible 的 playbook配置文件
    单节点默认使用all-in-one不用做修改,多节点部署需要修改multinode

  • 检查playbook文件配置是否正确

# 单节点
ansible -i all-in-one all -m ping

# 多节点
ansible -i multinode all -m ping
  • 配置密码
    openstack的所有密码均在/etc/kolla/passwords.yml文件里,默认为空
# 自动生成所有需要的密码
cd kolla-ansible/tools
./generate_passwords.py

自定义登录密码
keystone_admin_password: admin

安装kolla

  • 修改Kolla的 Globals.yml配置文件
[root@openstack ~]# grep ^[^#] /etc/kolla/globals.yml 
kolla_base_distro: "centos"
kolla_install_type: "source"
openstack_release: "stein"
kolla_internal_vip_address: "172.16.1.8"
network_interface: "ens32"
neutron_external_interface: "ens33"
enable_haproxy: "no"
glance_enable_rolling_upgrade: "no"
nova_compute_virt_type: "qemu"
ironic_dnsmasq_dhcp_range:
tempest_image_id:
tempest_flavor_ref_id:
tempest_public_network_id:
tempest_floating_network_name:
  • 检查配置文件
kolla-ansible prechecks
  • 从docker hub上pull镜像(所有镜像将近30G,需要的时间很长)
kolla-ansible pull
拉取的OpenStack组件镜像.png
  • 部署kolla
kolla-ansible deploy
  • 生成环境变量文件: /etc/kolla/admin-openrc.sh
 kolla-ansible post-deploy
  • 安装OpenStack Client 端,安装问才能使用openstack命令
pip install python-openstackclient

执行openstack命令报错:Could not find a version that satisfies the requirement python-decorator (from versions: )
yum -y install python-decorator 提示已经安装

以下两种方案二选一
跳过已安装的包: pip install --ignore-installed python-openstackclient
升级已安装的decorator:pip install -U decorator

  • 编辑init-runonce文件,设置public network
vim /usr/share/kolla-ansible/init-runonce

EXT_NET_CIDR='192.168.1.0/24'
EXT_NET_RANGE='start=192.168.1.100,end=192.168.1.254'
EXT_NET_GATEWAY='192.168.1.1'
  • 加载OpenStack CLI所需的环境变量
source /etc/kolla/admin-openrc.sh
  • 初始化部署
cd /usr/share/kolla-ansible/ && ./init-runonce
  • 创建cirros镜像的测试虚拟机
openstack server create \
    --image cirros \
    --flavor m1.tiny \
    --key-name mykey \
    --network demo-net \
    demo1
  • 登陆Dashboard
    用浏览器访问172.16.1.8登陆Dashboard


    登录首页.png
  • 如果部署失败了,则使用以下命令清空所有容器,可以进行重新部署

kolla-ansible destroy --yes-i-really-really-mean-it
kolla-ansible/tools/cleanup-containers
kolla-ansible/tools/cleanup-host

  • tools里面的其它命令
# 可用于从系统中移除部署的容器:
tools/cleanup-containers
# 可用于移除由于网络变化引发的 Docker 启动的neutron-agents 主机:
tools/cleanup-host
# 可用于从本地缓存中移除所有的 Docker image
tools/cleanup-images
故障诊断与排除

  • 查看容器的状态
docker ps

docker ps -a 查看所有安装的容器

  • 查看指定容器(即指定的服务)的输出日志信息
docker logs container_name
  • 查看指定服务的日志

直接 CD 到主机的 /var/lib/docker/volumes/kollalogs/data/ 目录下,查看指定服务的日志信息。

  • 进入容器
docker exec -it -u root container_name bash
新增组件

  • 开启globals.yml里面的配置选项
  • kolla-ansible upgrade
模块介绍

Telemetry包含以下四个组件

Ceilometer (收集数据)
gnocchi (监控数据)
aodh (报警)
panko (event)
gnocchi的数据,还可以通过grafana来做展示

CloudKitty
这是OpenStack的计费模块,可以通过gnocchi来取数据进行计费工作

相关文章

网友评论

      本文标题:Kolla部署Stein版OpenStaak

      本文链接:https://www.haomeiwen.com/subject/bxagiqtx.html