openstack单节点和多节点操作克隆方式安装
centos7下
hostnamectl set-hostname master63.cn
centos6下修改主机名
hostname master63.cn
1、关闭Selinux和防火墙
[root@xuegod63 ~]# vi /etc/selinux/config
SELINUX=disabled
[root@xuegod63 ~]# reboot #如果原来的系统开着selinux,那么需要重启,才能关闭selinux
2、关闭Firewalld
[root@xuegod63 ~]# systemctl stop firewalld
[root@xuegod63 ~]# systemctl disable firewalld
[root@xuegod63 ~]# systemctl status firewalld
3.
vi /etc/hosts
4.同步时间
[root@xuegod63 ~]# yum install ntp
[root@xuegod63 ~]# systemctl enable ntpd.service
[root@xuegod63 ~]# systemctl start ntpd.service
5.配置 pip 镜像源,方便快速下载python库(这一步很重要)
[root@xuegod63 ~]# mkdir ~/.pip
[root@xuegod63 ~]# vi ~/.pip/pip.conf #写入下以内容
[global]
index-url = http://mirrors.aliyun.com/pypi/simple/
[install]
trusted-host=mirrors.aliyun.com
6.网卡
[root@xuegod63 ~]#cd /etc/sysconfig/network-scripts/
[root@xuegod63 network-scripts]# cp ifcfg-ens192 ifcfg-ens224
[root@xuegod63 network-scripts]# vi ifcfg-ens224
TYPE="Ethernet"
BOOTPROTO="none"
NAME="ens224"
DEVICE="ens224"
ONBOOT="yes"
service network restart
7.安装基础包和docker服务
[root@xuegod63 ~]# yum install python-devel libffi-devel gcc openssl-devel git python-pip -y
[root@xuegod63 ~]# pip install -U pip #升级一下pip,不然后,后期安装会报警告
[root@xuegod63 ~]# yum install -y yum-utils device-mapper-persistent-data lvm2 #安
服务
[root@xuegod63 ~]# systemctl stop libvirtd.service && systemctl disable libvirtd.service && systemctl status libvirtd.service
[root@xuegod63 ~]# yum remove docker docker-io docker-selinux python-docker-py
[root@xuegod63 ~]# yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
[root@xuegod63 ~]# cat /etc/yum.repos.d/docker-ce.repo #查看新生成的yum源配置文件
[root@xuegod63 ~]# yum -y install docker-ce #咱们在线安装的是docker-ce-18.06.0.ce 版本
[root@xuegod63 ~]# systemctl start docker && systemctl enable docker && systemctl status docker #启动Docker服务
设置docker volume卷挂载方式
[root@xuegod63 ~]# mkdir /etc/systemd/system/docker.service.d
[root@xuegod63 ~]# tee /etc/systemd/system/docker.service.d/kolla.conf << 'EOF'
[Service]
MountFlags=shared
EOF
注:加上MountFlags=shared后,当docker宿主机新增分区时,docker服务不用重启。如果不加docker服务服务重启,docker中的实例才可以使用新加的磁盘或分区。 添加这个参考后,后期在openstack中使用cinder存储服务时,新加磁盘比较方便。
指定docker 镜像加速器 (很重要,不然后期从国外下载docker镜像会直接报错,而且速度慢)
[root@xuegod63 ~]# mkdir /etc/docker/
[root@xuegod63 ~]# vi /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@xuegod63 ~]# systemctl daemon-reload #修改了启动脚本,需要执行
[root@xuegod63 ~]# systemctl enable docker && systemctl restart docker && systemctl status docker
8.
4.6.1 安装 ansible
[root@xuegod63 ~]# yum install ansible -y
4.6.1 安装kolla-ansible
1、下载kolla-ansible的代码
注:kolla-ansible可以实现使用ansible自动安装openstack
[root@xuegod63 ~]# cd /root
[root@xuegod63 ~]# git clone http://git.trystack.cn/openstack/kolla-ansible -b stable/pike #下载pike版本的openstack
2、安装kolla-ansible需要依赖包
[root@xuegod63 ~]# cd /root/kolla-ansible
[root@xuegod63 kolla-ansible]# pip install . #这里.代表当前目录
3、复制kolla-ansible的相关配置文件
[root@xuegod63 kolla-ansible]# cp -r etc/kolla/* /etc/kolla/
[root@xuegod63 kolla-ansible]# cp ansible/inventory/* /etc/kolla/
[root@xuegod63 kolla-ansible]# ls /etc/kolla/
all-in-one globals.yml multinode passwords.yml
注:all-in-one #安装单节点openstack的ansible自动安装配置文件
multinode #安装多节点openstack的ansible自动安装配置文件
globals.yml #openstack 部署的自定义配置文件
passwords.yml #openstack中各个服务的密码
9.修改虚拟机类型为qemu
注:如果是在虚拟机里装kolla,希望可以启动再启动虚拟机,那么你需要把virt_type=qemu,默认是kvm。如果vmware开了“虚拟化Intel VT”功能,就不用写这个了。
[root@xuegod63 kolla-ansible]# mkdir -p /etc/kolla/config/nova
[root@xuegod63 kolla-ansible]# cat << EOF > /etc/kolla/config/nova/nova-compute.conf
[libvirt]
virt_type=qemu
cpu_mode = none
EOF
10配置文件
[root@xuegod63 kolla-ansible]# kolla-genpwd
[root@xuegod63 ~]# vi /etc/kolla/passwords.yml
改:158 keystone_admin_password: HsPbEQHxTqmewKYNoRPpIOyQNdEYpHy36OX67TG3
为:keystone_admin_password: 123456
2、编辑 /etc/kolla/globals.yml 自定义openstack中部署事项
[root@xuegod63 ~]# vi /etc/kolla/globals.yml #配置openstack安装中的参数
改: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: "pike" #指定安装pike版本的openstack,后期下载的openstack相关的docker镜像的tag标记也都为pike
23 # Location of configuration overrides
24 #node_custom_config: "/etc/kolla/config" #配置文件的位置
改:31 kolla_internal_vip_address: "10.10.10.254"
为:31 kolla_internal_vip_address: "192.168.1.63" # 我们没有启用高可用,所以这里的IP可以和ens33一样,也可以独立写一个和ens33同网段的IP。
注:如果配置了高可用,这里要使用一个没被占用的IP。这个IP是搭建HA高可用的浮动IP。 此IP将由keepalived管理以提供高可用性,应设置为和network_interface ens33 同一个网段的地址。
改:73 #network_interface: "eth0"
为: network_interface: "ens33" # Kolla-Ansible需要设置一些网络选项。 我们需要设置OpenStack使用的网络接口。设置的第一个接口是“network_interface”。 这是openstack内部多个管理类型网络的默认接口。
改:88 #neutron_external_interface: "eth1"
为:88 neutron_external_interface: "ens38" #所需的第二个接口专用于Neutron外部(或公共)网络,可以是vlan或flat,取决于网络的创建方式。 此接口应在没有IP地址的情况下处于活动 如果不是,openstack云平台中的云主机实例将无法访问外部网络。 只要网卡启动着,就可以了,不要给IP,有IP时br-ex桥接就不成功了。
135 #enable_cinder: "no" #先不开启cinder
改:151 #enable_haproxy: "yes"
为:151 enable_haproxy: "no" #去了前面的#号,改yes为no。关闭高可用
[root@xuegod63 kolla]# ssh-keygen
[root@xuegod63 kolla]# ssh-copy-id -i ~/.ssh/id_rsa.pub root@xuegod63
[root@xuegod63 kolla]# vi /etc/kolla/all-in-one #把localhost替换成xuegod63
:1,$s/localhost/master63/
:1,$s/ansible_connection=local//
kolla-ansible -i /etc/kolla/all-in-one prechecks
kolla-ansible -i /etc/kolla/all-in-one pull
kolla-ansible -i /etc/kolla/all-in-one deploy
kolla-ansible -i /etc/kolla/all-in-one post-deploy
[root@xuegod63 kolla]# cat admin-openrc.sh #查看openstack登录帐号
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
常见错误
http://www.cnblogs.com/silvermagic/p/7665975.html
批量管理docker
http://blog.51cto.com/13767724/2300065
kolla-ansible -i /etc/kolla/multinode prechecks
kolla-ansible -i /etc/kolla/multinode pull
kolla-ansible -i /etc/kolla/multinode deploy
生成密码
kolla-ansible post-deploy -i /etc/kolla/multinode #切记不然后面没办法加载环境变量
cat /etc/kolla/admin-openrc.sh

浙公网安备 33010602011771号