zoukankan      html  css  js  c++  java
  • OpenStack

    使用kolla-ansible部署OpenStack。

    由于环境有限就使用VMware虚拟机进行操作,部署一个单实例的。

    关于OpenStack的概念,历史再次就不在赘述了,直接开搞吧。

    Linux系统初始配置。

    1、关闭selinux和防火墙。

    [root@CFCA ~]# systemctl stop firewalld.service   关闭防火墙
    [root@CFCA ~]# systemctl disable firewalld         开机关闭
    2、安装epel源

    [root@CFCA ~]# yum install epel-release -y
    3、配置hosts

    [root@CFCA ~]# cat /etc/hostname
    CFCA
    [root@CFCA ~]# cat /etc/hosts
    127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
    ::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
    192.168.209.6 CFCA
    4、同步时间

    [root@CFCA ~]# yum install ntp -y
    [root@CFCA ~]# systemctl start ntp
    [root@CFCA ~]# systemctl enable ntpd.service
    5、配置pip镜像源,方便下载Python库
    [root@CFCA ~]# mkdir ~/.pip/
    [root@CFCA ~]# vim ~/.pip/pip.conf
    [global]
    index-url = http://mirrors.aliyun.com/pypi/simple/
    [install]
    trusted-host=mirrors.aliyun.com
    6、配置网卡信息
    添加网卡。

    ens32: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
            inet 192.168.209.6  netmask 255.255.255.0  broadcast 192.168.209.255
            inet6 fe80::97dd:b327:4a4e:afdb  prefixlen 64  scopeid 0x20<link>
            ether 00:0c:29:7d:60:e3  txqueuelen 1000  (Ethernet)
            RX packets 952964  bytes 1426235645 (1.3 GiB)
            RX errors 0  dropped 0  overruns 0  frame 0
            TX packets 598664  bytes 45943842 (43.8 MiB)
            TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

    ens35: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
            ether 00:0c:29:7d:60:ed  txqueuelen 1000  (Ethernet)
            RX packets 5310  bytes 1766547 (1.6 MiB)
            RX errors 0  dropped 0  overruns 0  frame 0
            TX packets 0  bytes 0 (0.0 B)
            TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

    [root@CFCA network-scripts]# cp ifcfg-ens32 ifcfg-35
    [root@CFCA network-scripts]# vim ifcfg-ens35
    TYPE=Ethernet
    BOOTPROTO=none
    NAME=ens35
    DEVICE=ens35
    ONBOOT=yes

    安装基础包和docker服务

    1、安装基础包

    [root@CFCA ~]# yum install python-devel libffi-devel gcc openssl-devel git python-pip -y
    [root@CFCA ~]# pip install -U pip    #升级一下pip
    [root@CFCA ~]# yum install -y yum-utils device-mapper-persistent-data lvm2    #安装一下必要的系统工具
    2、添加docker yum源并安装docker

    [root@CFCA ~]#  systemctl stop libvirtd.service && systemctl disable libvirtd.service && systemctl status libvirtd.service

    [root@CFCA ~]# yum remove  docker docker-io docker-selinux python-docker-py    如果已经安装了docker的话先卸载了,以免不兼容

    添加docker-ce yum源并安装docker-ce

    [root@CFCA ~]# yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
    [root@CFCA ~]# yun install docker-ce   安装docker-ce社区版本
    [root@CFCA ~]# systemctl start  docker  &&  systemctl enable docker && systemctl status docker   启动docker
    3、设置docker volume卷挂载方式

    [root@CFCA ~]# mkdir /etc/systemd/system/docker.service.d

    [root@CFCA ~]tee /etc/systemd/system/docker.service.d/kolla.conf << 'EOF'

    [Service]

    MountFlags=shared

    EOF

     [root@CFCA ~]# cat /etc/systemd/system/docker.service.d/kolla.conf
    [Service]
    MountFlags=shared

    注:加上MountFlags=shared后,当docker宿主机新增分区时,docker服务不用重启。如果不加docker服务服务重启,docker中的实例才可以使用新加的磁盘或分区。 添加这个参考后,后期在openstack中使用cinder存储服务时,新加磁盘比较方便。

    4,指定docker镜像加速器

     [root@CFCA ~]#vim /etc/docker/daemon.json

    {

      "registry-mirrors": ["https://e9yneuy4.mirror.aliyuncs.com"]  

    }

    注:如果需要使用自己的本地私有仓库,写成如下:

    {

      "registry-mirrors": ["https://e9yneuy4.mirror.aliyuncs.com"]  

      "insecure-registries": ["192.168.1.63:4000"]

    }

    [root@CFCA ~]#systemctl daemon-reload #修改了启动脚本,需要执行

    [root@CFCA ~]#  systemctl enable docker && systemctl restart docker && systemctl status docker

    安装kolla-ansible

    1、安装ansible

    [root@CFCA ~]# yum install ansible -y
    2、安装kolla-ansible

    下载kolla-ansible的代码

    [root@CFCA ~]#git clone http://git.trystack.cn/openstack/kolla-ansible -b stable/pike         #下载pike版本的openstack

    [root@CFCA ~]# ll -d kolla-ansible
    drwxr-xr-x. 13 root root 4096 10月 30 19:58 kolla-ansible

    3、安装kolla-ansible需要的依赖包
    [root@CFCA ~]# cd kolla-ansible/
    [root@CFCA kolla-ansible]# pip install .   
    4、复制kolla-ansible相关的配置文件

    [root@CFCA kolla-ansible]# cp -r etc/kolla/* /etc/kolla/
    [root@CFCA kolla-ansible]# cp ansible/inventory/* /etc/kolla/
    [root@CFCA kolla-ansible]# cd /etc/kolla/
    [root@CFCA kolla]# ll
    总用量 36
    -rw-r--r--. 1 root root  6995 10月 30 20:08 all-in-one   安装单节点OpenStack的ansible自动安装配置文件
    -rw-r--r--. 1 root root 12799 10月 30 20:05 globals.yml  OpenStack部署的自定义配置文件
    -rw-r--r--. 1 root root  7426 10月 30 20:08 multinode    安装多节点OpenStack的ansible自动安装配置文件
    -rw-r--r--. 1 root root  4034 10月 30 20:05 passwords.yml  OpenStack中各个服务的密码
    5、修改虚拟机类型为qemu

    如果是在虚拟机里装kolla,希望可以启动再启动虚拟机,那么你需要把virt_type=qemu,默认是kvm。如果vmware开了“虚拟化Intel VT”功能,就不用写这个了。

    [root@CFCA kolla-ansible]# mkdir /etc/kolla/config/nova
    [root@CFCA ~]# cd /etc/kolla/config/nova/
    [root@CFCA nova]# vim nova-compute.conf
    [libvirt]
    virt_type=qemu
    cpu_mode = none

    自定义kolla-ansible安装OpenStack的相关配置文件

    1、自动生成OpenStack各服务的密码文件
    [root@CFCA kolla]# which kolla-genpwd
    /usr/bin/kolla-genpwd
    [root@CFCA kolla]# rpm -qf /usr/bin/kolla-genpwd
    文件 /usr/bin/kolla-genpwd 不属于任何软件包
    [root@CFCA kolla]# kolla-genpwd   产生随机密码
    [root@CFCA kolla]# vim passwords.yml   
    158 keystone_admin_password: 123456   这是登录Dashboard,admin使用的密码

    2、编辑/etc/kolla/globals.yml 自定义OpenStack中部署事项
    15 kolla_base_distro: "centos"
    18 kolla_install_type: "binary"
    21 openstack_release: "pike"
    31 kolla_internal_vip_address: "192.168.199.3"
    73 network_interface: "ens32"
    88 neutron_external_interface: "ens35"
    151 enable_haproxy: "no"

    开始基于kolla-ansible安装OpenStack私有云

    1、生成SSH Key并授信本节点
    [root@CFCA kolla]# ssh-keygen
    [root@CFCA kolla]# ssh-copy-id -i ~/.ssh/id_rsa.pub root@CFCA
    2、配置单节点清单文件
    [root@CFCA kolla]# vim /etc/kolla/all-in-one
    [control]
    CFCA
    [network]
    CFCA
    [compute]
    CFCA
    [storage]
    CFCA
    [monitoring]
    CFCA
    [deployment]
    CFCA

    开始部署OpenStack

    1、对主机进行预部署检查:
    [root@CFCA kolla]# kolla-ansible -i /etc/kolla/all-in-one prechecks

    2、拉取镜像
    [root@CFCA kolla]# kolla-ansible -i /etc/kolla/all-in-one  pull

    查看一下下载的镜像

    [root@CFCA ~]# docker images|grep pike
    kolla/centos-binary-keystone                    pike                bf1af4f8f9c0        2 months ago        796MB
    kolla/centos-binary-nova-compute                pike                b2d936eac2f0        2 months ago        1.35GB
    kolla/centos-binary-nova-placement-api          pike                d6c34e9fc6de        2 months ago        862MB
    kolla/centos-binary-nova-api                    pike                ac0f60011832        2 months ago        862MB
    kolla/centos-binary-nova-ssh                    pike                b525884e7686        2 months ago        830MB
    kolla/centos-binary-nova-consoleauth            pike                9b6d1ae9a337        2 months ago        810MB
    kolla/centos-binary-nova-scheduler              pike                6b16f02d9bd2        2 months ago        810MB
    kolla/centos-binary-nova-novncproxy             pike                1f5f19ef1b38        2 months ago        811MB
    kolla/centos-binary-nova-conductor              pike                82bc6e66c49d        2 months ago        810MB

    3、实际的OpenStack部署:
    [root@CFCA kolla]# kolla-ansible -i /etc/kolla/all-in-one deploy
    #因为前面已经下载的镜像,所以这时,安装会快一些。如果前面没有下载镜像,
    那么这时,还会边下载各种openstack相关的镜像边部署docker实例。
    最后返回如下信息,执行完成,至此安装完成
    PLAY RECAP **************************************************************************************************************************
    CFCA                       : ok=212  changed=135  unreachable=0    failed=0  

    4、验证部署:
    [root@CFCA kolla]# kolla-ansible -i /etc/kolla/all-in-one post-deploy
    PLAY RECAP **************************************************************************************************************************
    localhost                  : ok=2    changed=1    unreachable=0    failed=0
    这样就创建了/etc/kolla/admin-openrc.sh   包含了OpenStack登录的账号。
    [root@CFCA kolla]# ll /etc/kolla/admin-openrc.sh
    -rw-r--r--. 1 root root 324 10月 31 11:03 /etc/kolla/admin-openrc.sh
    [root@CFCA kolla]# more /etc/kolla/admin-openrc.sh
    export OS_PROJECT_DOMAIN_NAME=Default
    export OS_USER_DOMAIN_NAME=Default
    export OS_PROJECT_NAME=admin
    export OS_TENANT_NAME=admin
    export OS_USERNAME=admin
    export OS_PASSWORD=123456    账号和密码
    export OS_AUTH_URL=http://192.168.209.6:35357/v3
    export OS_INTERFACE=internal
    export OS_IDENTITY_API_VERSION=3
    export OS_REGION_NAME=RegionOne

    5、测试,192.168.209.6 访问成功。

  • 相关阅读:
    BZOJ 3529 [Sdoi2014]数表
    bzoj 3195 [Jxoi2012]奇怪的道路
    BZOJ 4720 [Noip2016]换教室
    BZOJ 2160 拉拉队排练
    BZOJ 1031 [JSOI2007]字符加密Cipher 后缀数组教程
    BZOJ 1002 [FJOI2007]轮状病毒
    欧拉定理、拓展欧拉定理及其应用(欧拉降幂法)
    算术基本定理解析及其应用
    The 15th Zhejiang Provincial Collegiate Programming Contest(部分题解)
    网络流解析及其应用
  • 原文地址:https://www.cnblogs.com/winter1519/p/9882101.html
Copyright © 2011-2022 走看看