zoukankan      html  css  js  c++  java
  • 【葵花宝典】kolla部署OpenStack-AllinOne

    1.关闭防火墙以及内核安全机制

    systemctl stop firewalld
    systemctl disable firewalld ##永久性关闭
    setenforce 0
    sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux ##永久性关闭
    

    2.安装拓展源关闭NetworkManager

    yum -y install epel-release
    systemctl disable NetworkManager
    systemctl stop NetworkManager
    

    3.修改主机名并定时同步时间

    hostnamectl set-hostname cloud.itdogs.org
    vim /etc/hosts
    192.168.11.11  cloud.itdogs.org
    
    yum -y install ntpdate
    ntpdate ntp.aliyun.com
    ##创建计划性任务表,每两分钟更新一次时钟
    [root@control ~]# crontab -e
    */2 * * * * /usr/sbin/ntpdate ntp.aliyun.com >> /var/log/ntpdate.log
    

    4.安装基础包及docker服务

    安装基础包
    yum install python-devel libffi-devel gcc openssl-devel git python-pip -y
    mkdir ~/.pip
    vim ~/.pip/pip.conf
    [global]
    index-url = https://mirrors.aliyun.com/pypi/simple
    
    安装docker并设置镜像加速
    yum -y  remove docker  docker-common docker-selinux docker-engine //卸载旧版本
    yum -y install yum-utils
    yum-config-manager  --add-repo  http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo //阿里云yum源
    yum list docker-ce --showduplicates | sort -r  //找到yum源里相应的包
    yum install -y docker-ce
    systemctl start docker
    systemctl enable docker
    vi /etc/docker/daemon.json
    {
      "registry-mirrors": [
        "https://dockerhub.azk8s.cn",
        "https://reg-mirror.qiniu.com",
        "https://registry.docker-cn.com"
      ]
     }
    
    sudo systemctl restart docker
    

    5.安装kolla-ansible

    yum install ansible -y
    pip install kolla-ansible #安装kolla-ansible,如果报错,pip install kolla-ansible --ignore-installed PyYAML
    cp -r /usr/share/kolla-ansible/etc_examples/kolla /etc/
    ls /etc/kolla/
    cp /usr/share/kolla-ansible/ansible/inventory/* /etc/kolla/
    ls /etc/kolla/
    
    修改虚拟机类型为qemu注:如果是在虚拟机里装 kolla,希望可以启动再启动虚拟机,那么你需要把virt type=qemu,默认是kvm。如果vmware 开了“虚拟化Intel VT"功能,就不用写这个了。
    mkdir -p /etc/kolla/config/nova
    cat <<EOF>/etc/kolla/config/nova/nova-compute.conf
    [libvirt]
    virt type=qemu cpu_mode=none 
    EOF
    

    6.自定义kolla-ansible安装脚本

    自动生成openstack 各服务的密码文件
    kolla-genpwd
    编辑vi /etc/kolla/globals.yml 自定义openstack中部署事项
    cat >> /etc/kolla/globals.yml <<EOF 
    #version
    kolla_base_distro:"centos"
    kolla_install_type:"binary"
    openstack_release:"train"
    #vip
    kolla_internal_vip_address:"192.168.11.11"
    #docker registry
    docker_registry:"registry.cn-shenzhen.aliyuncs.com"
    docker_namespace:"kollaimage" 
    #network
    network_interface:"ens33"
    neutron_external_interface:"ens37"
    neutron_plugin_agent:"openvswitch"
    enable_neutron_provider_networks:"yes"
    #storage
    enable_cinder:"yes"
    enable_cinder_backend_lvm:"yes"
    #virt_type
    nova_compute_virt_type:"qemu"
    EOF
    
    改:15#kolla_base_distro:"centos"#选择下载的镜像为基于 centos版本的镜像为:kolla base distro:"centos"
    改:18#kolla install type:"binary"#去了前面的#号,使用yum 安装二进制包安装源码安装,指的是使用 git clone 源码安装
    为:18 kolla install type:"binary"
    改:21#openstack release:""为openstack release:"rocky"#指定安装rocky 版本的openstack,后期下载的openstack相关的docker 镜像的tag 标记也都为rocky
       23#Location of configuration overrides  
       24#node_custom_config:"/etc/kolla/config"#配置文件的位置   
    改:31#kolla internal vip address:"10.10.10.254"为:31kolla internal_vip address:"192.168.1.63"
    #我们没有启用高可用,所以这里的IP可以和ens33一样,也可以独立写一个和ens33同网段的IP。这一项的作用是:指定openstack 内部管理地址,以后就通过这个IP地址访问 openstack web界面,管理私云。
    注:如果配置了高可用,这里要使用一个没被占用的IP。这个IP是搭建HA高可用的浮动IP。此IP将由keepalived 管理以提供高可用性,应设置为和network interface ens33同一个网段的地址。
    改:85#network interface:"etho"为:network interface:"ens33"#Kolla-Ansible 需要设置一些网络选项。我们需要设置OpenStack 使用的网络接口。设置的第一个接口是“network_interface"。这是openstack内部多个管理类型网络的默认接口。
    改:100#neutron external interface:"eth1"
    为:100 neutron_external_interface:"ens38"#所需的第二个接口专用于Neutron外部(或公共)网络,可以是vlan或flat,取决于网络的创建方式。此接口应在没有IP地址的情况下处于活动如果不是,openstack 云平台中的云主机实例将无法访问外部网络。只要网卡启动着,就可以了,不要给IP,有IP时br-ex桥接就不成功了。
       177#enable_cinder:"no"#先不开启cinder
    改:195#enable haproxy:"yes"为:195 enable_haproxy:"no”#去了前面的#号,改yes为no。关闭高可用
    

    7.开始安装

    生成SSHKey,并授信本节点:
    ssh-keygen
    ssh-copy-id -i ~/.ssh/id_rsa.pub root@cloud.itdogs.org
    [root@cloud kolla]#vim /etc/kolla/all-in-one#把 localhost 替换成cloud.itdogs.org
    :1, $s/localhost/cloud.itdogs.org/
    :1, $s/ansible_connection=local//
    注:将以下组件,都安装到cloud.itdogs.org这台机器上:改第1行到19行中。
    [control]
    cloud.itdogs.org
    [network]
    cloud.itdogs.org
    [compute]
    cloud.itdogs.org
    ...
    [deployment]
    cloud.itdogs.org
    
    开始部署OpenStack
    通过安装 bootstrap-servers 把部署openstack 所需要的依赖包都安装好Kolla-Ansible 提供了一个将以正确版本安装所有必需服务的剧本 bootstrap-servers。所以我们先安装bootstrap-servers 把安装 openstack 所依赖的软件包都先提前安装好。包括docker 服务。
    kolla-ansible -i /etc/kolla/all-in-one bootstrap-servers
    kolla-ansible -i /etc/kolla/all-in-one prechecks
    设置docker volume卷挂载方式
    tee /etc/systemd/system/docker.service.d/kolla.conf <<'EOF'
    [Service]
    MountFlags=shared
    EOF
    注:加上MountFlags=shared后,当 docker 宿主机新增分区时,docker 服务不用重启。添加这个参考后,后期在openstack 中使用cinder 存储服务时,新加磁盘比较方便。
    
    重启相关服务
    systemctl daemon-reload #只有修改了服务的启动脚本,才需要执行daemon-reload。只修改服务的配置文件,是不需要daemon-reload
    systemctl enable docker && systemctl restart docker && systemctl status docker
    
    拉取镜像
    kolla-ansible -i /etc/kolla/all-in-one pull
    查看网络链接 
    netstat -antup|grep 443
    查看下载的镜像
    docker images
    docker images |wc -l
    
    进入OpenStack实际安装部署阶段
    kolla-ansible -i /etc/kolla/all-in-one deploy
    #因为咱们前面已经下载的镜像,所以这时启动 docker实例会快一些。如果前面没有下载镜像,那么这时,还会边下载各种openstack 相关的镜像边部署 docker实例。
    
    验证部署
    kolla-ansible -i /etc/kolla/all-in-one post-deploy
    这样就创建/etc/kolla/admin-openrc.sh 文件
    cat /etc/kolla/admin-openrc.sh
    查看密码登录即可
    
  • 相关阅读:
    php.ini 干了些啥?
    为什么你的 phpinfo() 无法显示
    转:反向代理服务器的工作原理
    nginx fastcgi php-fpm的关系梳理
    DOM中offsetLeft与style.left的区别
    移动端与PC端的触屏事件
    移动端适配属性
    移动设备横竖屏监听事件
    关于滚动条滚动不流畅问题
    Oracal
  • 原文地址:https://www.cnblogs.com/liuqingliang/p/14301352.html
Copyright © 2011-2022 走看看