zoukankan      html  css  js  c++  java
  • kolla queens on centos7.5 -all in one


    环境准备

    我这里用workstation创建了一个虚拟机,安装centos7.5 mini系统,这台虚拟机上有两张网卡,一张做openstack管理网,一张做为虚拟机的业务网卡。
    我用来测试的VM配置是4C,8G,100G
    如果想运行ubuntu cloud images的话最好是8C,16G,100G的配置,当然~~如果你用cirros的话那就随意咯!
    基本信息如下

    <table><tr><td bgcolor=orange> 背景色是 1 orange</td></tr></table>
    [root@queens ~]# cat /etc/redhat-release
    CentOS Linux release 7.5.1804 (Core)
    [root@queens ~]# uname -r
    3.10.0-862.el7.x86_64
    [root@queens ~]# egrep '(vmx|svm)' /proc/cpuinfo
    flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon nopl xtopology tsc_reliable nonstop_tsc eagerfpu pni pclmulqdq vmx ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch tpr_shadow vnmi ept vpid fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 invpcid rtm rdseed adx smap xsaveopt ibpb ibrs stibp arat spec_ctrl intel_stibp arch_capabilities
    flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon nopl xtopology tsc_reliable nonstop_tsc eagerfpu pni pclmulqdq vmx ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch tpr_shadow vnmi ept vpid fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 invpcid rtm rdseed adx smap xsaveopt ibpb ibrs stibp arat spec_ctrl intel_stibp arch_capabilities
    flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon nopl xtopology tsc_reliable nonstop_tsc eagerfpu pni pclmulqdq vmx ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch tpr_shadow vnmi ept vpid fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 invpcid rtm rdseed adx smap xsaveopt ibpb ibrs stibp arat spec_ctrl intel_stibp arch_capabilities
    flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon nopl xtopology tsc_reliable nonstop_tsc eagerfpu pni pclmulqdq vmx ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch tpr_shadow vnmi ept vpid fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 invpcid rtm rdseed adx smap xsaveopt ibpb ibrs stibp arat spec_ctrl intel_stibp arch_capabilities
    [root@queens ~]# 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: ens192: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
        link/ether 00:50:56:87:a6:a5 brd ff:ff:ff:ff:ff:ff
        inet 192.168.6.50/24 brd 192.168.6.255 scope global ens192
           valid_lft forever preferred_lft forever
        inet6 fe80::250:56ff:fe87:a6a5/64 scope link
           valid_lft forever preferred_lft forever
    3: ens224: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq master ovs-system state UP group default qlen 1000
        link/ether 00:50:56:87:7f:15 brd ff:ff:ff:ff:ff:ff
        inet6 fe80::250:56ff:fe87:7f15/64 scope link
           valid_lft forever preferred_lft forever
    

    ens192网卡配置了IP地址,ens224什么都没有配置

    [root@queens ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens192
    TYPE=Ethernet
    PROXY_METHOD=none
    BROWSER_ONLY=no
    BOOTPROTO=static
    IPADDR=192.168.6.53
    PREFIX=24
    GATEWAY=192.168.6.1
    DNS1=114.114.114.114
    DEFROUTE=yes
    IPV4_FAILURE_FATAL=no
    NAME=ens192
    UUID=8dd201c9-3c8e-4a01-824c-37f84d6814dd
    DEVICE=ens192
    ONBOOT=yes
    [root@queens ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens224
    TYPE=Ethernet
    PROXY_METHOD=none
    BROWSER_ONLY=no
    BOOTPROTO=dhcp
    DEFROUTE=yes
    IPV4_FAILURE_FATAL=no
    NAME=ens224
    DEVICE=ens224
    ONBOOT=yes
    

    开始配置

    echo queens > /etc/hostname
    ipa="$(ip a show ens192 | grep ens192 | grep global | awk '{print $2}' | awk -F/ '{print $1}')"
    echo -e "$ipa	queens" >> /etc/hosts
    systemctl stop NetworkManager
    systemctl disable NetworkManager
    systemctl stop firewalld
    systemctl disable firewalld
    sed -i "s/SELINUX=enforcing/SELINUX=disabled/" /etc/selinux/config
    setenforce 0
    getenforce
    yum install -y epel-release 
    yum install -y ansible axel vim git curl wget lrzsz gcc  python-devel python-pip  docker-ce
    yum install -y iperf sysstat nload net-tools dstat blktrace fio tcpdump ltrace lsof iptraf lshw cpuid numactl mdadm lsscsi sysbench mtr vnstat collectl iftop trafshow nethogs man strace perf iotop atop hping3 systemtap nmon htop bwm-ng glances usbutils pciutils util-linux-ng smartmontools    #这个是一些常用软件,完全不用安装,个人习惯而已
    reboot
    

    重启完成后,继续配置

    wget -O /etc/yum.repos.d/docker-ce.repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
    pip install --upgrade pip
    mkdir /etc/systemd/system/docker.service.d
    tee /etc/systemd/system/docker.service.d/kolla.conf << 'EOF'
    [Service]
    MountFlags=shared
    EOF
    sed -i '13d' /usr/lib/systemd/system/docker.service
    sed -i '12a ExecStart=/usr/bin/dockerd --registry-mirror=https://ebu037tr.mirror.aliyuncs.com --storage-driver=overlay2 ' /usr/lib/systemd/system/docker.service
    systemctl daemon-reload
    systemctl restart docker
    systemctl enable docker
    systemctl status docker
    docker info
    git clone https://github.com/openstack/kolla-ansible -b stable/queens
    cd kolla-ansible/
    cp -r etc/kolla/ /etc/kolla/
    pip install . -i https://pypi.tuna.tsinghua.edu.cn/simple
    kolla-genpwd
    sed -i '/keystone_admin_password:/ckeystone_admin_password: password' /etc/kolla/passwords.yml
    cat /etc/kolla/passwords.yml | grep keystone_admin_password
    cp /etc/kolla/globals.yml /etc/kolla/globals.yml.bak
    ipa="$(ip a show ens192 | grep ens192 | grep global | awk '{print $2}' | awk -F/ '{print $1}')"
    sed -i '/kolla_base_distro:/ckolla_base_distro: "centos"' /etc/kolla/globals.yml
    sed -i '/kolla_install_type:/ckolla_install_type: "source"' /etc/kolla/globals.yml
    sed -i '/openstack_release:/copenstack_release: "queens"' /etc/kolla/globals.yml
    sed -i '/docker_namespace:/cdocker_namespace: "kolla"' /etc/kolla/globals.yml
    sed -i '/network_interface:/c
    etwork_interface: "ens192"' /etc/kolla/globals.yml
    sed -i '/neutron_external_interface:/c
    eutron_external_interface: "ens224"' /etc/kolla/globals.yml
    sed -i '/enable_haproxy:/cenable_haproxy: "no"' /etc/kolla/globals.yml
    sed -i '/nova_compute_virt_type:/c
    ova_compute_virt_type: "qemu"' /etc/kolla/globals.yml
    sed -i "s/(^kolla_internal_vip_address:).*/1 "${ipa}"/" /etc/kolla/globals.yml
    

    配置完之后检查下

    [root@queens ~]# egrep "^[^#]" /etc/kolla/globals.yml
    ---
    kolla_base_distro: "centos"
    kolla_install_type: "source"
    openstack_release: "queens"
    kolla_internal_vip_address: "192.168.6.50"
    docker_namespace: "kolla"
    network_interface: "ens192"
    neutron_external_interface: "ens224"
    enable_haproxy: "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:
    

    快照,快照,快照

    一定记得给虚机做个快照,一定记得给虚机做个快照,一定记得给虚机做个快照。

    pull镜像并部署

    kolla-ansible prechecks
    kolla-ansible pull
    kolla-ansible deploy
    kolla-ansible post-deploy
    pip install --ignore-installed  ipaddress PyYAML
    pip install python-openstackclient
    
    [option]可选执行
    如果安装python-openstackclient出现错误可以临时指定pip源来重新执行python-openstackclient的安装,可以试下下面的命令
    pip install -i https://pypi.mirrors.ustc.edu.cn/simple/ python-openstackclient
    pip install -i https://pypi.tuna.tsinghua.edu.cn/simple python-openstackclient
    
    [option]可选执行
    如果想安装其他的client,请执行以下命令
    pip install python-PROJECTclient
    请把PROJECT换成cinder或者glance等等等等等等
    barbican - Key Manager Service API
    ceilometer - Telemetry API
    cinder - Block Storage API and extensions
    cloudkitty - Rating service API
    designate - DNS service API
    fuel - Deployment service API
    glance - Image service API
    gnocchi - Telemetry API v3
    heat - Orchestration API
    magnum - Container Infrastructure Management service API
    manila - Shared file systems API
    mistral - Workflow service API
    monasca - Monitoring API
    murano - Application catalog API
    neutron - Networking API
    nova - Compute API and extensions
    senlin - Clustering service API
    swift - Object Storage API
    trove - Database service API
    
    sed -i.bak "s@(^EXT_NET_CIDR=).*@1='10.10.20.0/24'@g" /usr/share/kolla-ansible/init-runonce
    sed -i.bak "s@(^EXT_NET_RANGE=).*@1='start=10.10.20.110,end=10.10.20.254'@g" /usr/share/kolla-ansible/init-runonce
    sed -i.bak "s@(^EXT_NET_GATEWAY=).*@1='10.10.20.1'@g" /usr/share/kolla-ansible/init-runonce
    
    [root@queens ~]# cat /usr/share/kolla-ansible/init-runonce | grep ^EXT_NET
    EXT_NET_CIDR='10.10.20.0/24'
    EXT_NET_RANGE='start=10.10.20.110,end=10.10.20.254'
    EXT_NET_GATEWAY='10.10.20.1'
    
    source /etc/kolla/admin-openrc.sh
    cd /usr/share/kolla-ansible/ && ./init-runonce
    

    由于错误的出现,可能需要多次的部署,而有些错误重新部署是不会进行修正的,所以需要将整个环境进行清理:

    tools/cleanup-containers                #可用于从系统中移除部署的容器
    tools/cleanup-host                      #可用于移除由于残余网络变化引发的docker启动的neutron-agents主机
    tools/cleanup-images                    #可用于从本地缓存中移除所有的docker image
    

    登录配置OpenStack

    此时就可以访问自己的IP地址了
    使用浏览器访问Dashboard,我这里地址就是192.168.6.50
    用户名为admin密码为password
    1.登录之后需要自己创建实例类型

    2.自己创建网络子网路由器
    3.导入镜像
    可以参考https://www.cnblogs.com/tcicy/p/10306306.html
    4.创建实例
    目前还有个问题,就是我还不知道怎么给虚拟机分配浮动IP地址,没有浮动IP地址的话就没有办法让外部网络设备直接访问ubuntu cloud images instance 18.04.
    不过经过这个过程,已经搭建完成OpenStack,比起以前的版本来说那可是相当的简单简洁了。
    后面开始你们的表演。
    如果有问题可以直接网站内消息或者tcicy#126.com
    顺便说下Markdown 真香

  • 相关阅读:
    JavaScript npm/nrm 切换安装依赖的镜像源
    Vue Vuex中的严格模式/实例解析/dispatch/commit /state/getters
    Vuex mapGetter的基本使用
    Springboot 整合Mybatis-plus
    SEO基本功:站内优化的一些基本手段
    解决使用logstash中jdbc导入mysql中的数据到elasticsearch中tinyint类型被转成布尔型的问题的方法
    【重大好消息】elasticsearch 7.3版本已经可以免费使用x-pack就可以设置账号和密码了,让你的数据不再裸奔
    elasticsearch7.3版本已经不需要额外安装中文分词插件了
    网络案例分析之999皮炎平出鹤顶红色号的口红
    php框架symfony踩坑苦旅(1)
  • 原文地址:https://www.cnblogs.com/tcicy/p/10307310.html
Copyright © 2011-2022 走看看