openstack|kolla-ansible部署openstack+ceph高可用集群queens版本---ansible和kolla-ansible配置

此步骤在monitor主机上配置 一、 ansible的配置 ansible已经在step2已经安装好了,现在只需要配置即可。

# vim /etc/ansible/ansible.cfg [defaults] host_key_checking=False pipelining=True forks=100 timeout=800 deprecation_warnings=False

注: 1)host_key_checking设置为false,在ansible远程主机时就不要主机的key校验; 2)timeout设置800秒,防止后面运行剧本时候会爆超时12秒错误。
二、kolla-ansible 配置 Kolla-ansible已经在step2已经安装好了,现在只需要配置即可。
1、配置Nova(可选) 特别声明,VMware虚拟机上安装需要进行此步骤,直接在物理机服务器上安装,则跳过此步骤。
虚拟机操作,使用qemu,不是kvm,进行如下修改:
# mkdir -pv /etc/kolla/config/nova # vi /etc/kolla/config/nova/nova-compute.conf 添加以下内容: [libvirt] virt_type=qemu cpu_mode = none

2、生成随机密码文件
# kolla-genpwd

修改刚才生成的随机密码,admin的web页面的登陆密码
# vim /etc/kolla/passwords.yml keystone_admin_password: admin

注:以下3-5步骤可省略,这几处为功能性修改,添加租户网络vlan模式和vm密码注入功能
3、修改物理网卡的neutron配置(为vlan模式配置)
# vim /usr/share/kolla-ansible/ansible/roles/neutron/templates/ml2_conf.ini.j2

【openstack|kolla-ansible部署openstack+ceph高可用集群queens版本---ansible和kolla-ansible配置】在大约41行修改成如下:
openstack|kolla-ansible部署openstack+ceph高可用集群queens版本---ansible和kolla-ansible配置
文章图片

4、修改租户网络的neutron配置添加vlan
vi /usr/share/kolla-ansible/ansible/roles/neutron/templates/ml2_conf.ini.j2 [ml2] # Changing type_drivers after bootstrap can lead to database inconsistencies type_drivers = {{ neutron_type_drivers }} #tenant_network_types = {{ neutron_tenant_network_types }} //此行注释掉 tenant_network_types = vxlan,vlan //添加这一行

5、vm注入admin密码配置
1)修改计算节点配置文件
vi /usr/share/kolla-ansible/ansible/roles/nova/templates/nova.conf.j2 [libvirt] //添加如下两行 inject_password = True inject_partition = -1

对应配置文件为计算节点的/etc/kolla/nova-compute/nova.conf(kolla容器部署)和源码安装的/etc/nova/nova.conf文件
2)controller修改horizon配置
vi /usr/share/kolla-ansible/ansible/roles/horizon/templates/local_settings.j2 OPENSTACK_HYPERVISOR_FEATURES = { 'can_set_mount_point': False, 'can_set_password': True,//修改此处False>>True 'requires_keypair': False, 'enable_quotas': True }

注意:新版openstack中dashboard界面已经修改,无法看到上述设置虚拟机密码栏目,需要切换到老版界面,同样编辑上述配置文件,修改如下配置参数:
# Toggle LAUNCH_INSTANCE_LEGACY_ENABLED and LAUNCH_INSTANCE_NG_ENABLED to # determine the experience to enable.Set them both to true to enable # both. LAUNCH_INSTANCE_LEGACY_ENABLED = True LAUNCH_INSTANCE_NG_ENABLED = True//修改此处去注释 False>>True

对应配置文件为控制节点的/etc/kolla/horizon/local_settings(kolla容器部署)和源码安装的/etc/openstack-dashboard/local_settings
完成配置后,在利用dashboard创建虚拟机的时候,输入密码即可
6、修改全局配置
全局配置文件globals.yml包含了如下修改项:
#grep -v "^#" /etc/kolla/globals.yml kolla_base_distro: "centos" kolla_install_type: "source"openstack_release: "queens"kolla_internal_vip_address: "172.16.50.70"docker_registry: "172.16.50.31:4000" docker_namespace: "kolla"network_interface: "enp7s0f1" neutron_external_interface: "enp7s0f0"keepalived_virtual_router_id: "70"enable_ceph: "yes" enable_ceph_rgw: "yes" enable_ceph_nfs: "yes" enable_cinder: "yes" enable_haproxy: "yes" enable_heat: "no" enable_horizon: "yes" enable_neutron_dvr: "yes" enable_neutron_qos: "yes" enable_neutron_agent_ha: "yes"ceph_pool_pg_num: 1024 ceph_pool_pgp_num: 1024glance_backend_file: "no" glance_backend_ceph: "yes" cinder_backend_ceph: "{{ enable_ceph }}"ironic_dnsmasq_dhcp_range: tempest_image_id: tempest_flavor_ref_id: tempest_public_network_id: tempest_floating_network_name:

以上各项解释:
1、docker_registry: "192.168.136.137:4000",此处为配置的source的离线私有docker仓库的IP以及端口号。 2、docker_namespace: "kolla",这个是仓库镜像的统一命名空间即是前缀,我给的镜像的前缀就是“kolla/”开头的。 3、kolla_internal_vip_address: "17.17.62.2" ,这个是openstack的页面登陆地址,走的是“bond0”网卡。 4、network_interface: "bond0",这个是openstack内部的api服务都会绑定到这个网卡接口上,除此之外,vxlan和隧道和存储网络也默认走这个网络接口。 5、neutron_external_interface: "bond1",openstack的外部管理网络的网卡接口。 6、enable_ceph: "yes"和enable_ceph_rgw: "yes",选择为yes,就可默认安装ceph。 7、enable_haproxy: "yes",openstack的外部管理网络地址没有使用过,需要启用高可用proxy,确定可以使用。 8、ceph_pool_pg_num: 128和ceph_pool_pgp_num: 128,参照如下:小于5个OSD时可把pg_num设置为128 OSD数量在5到10个之间的,可以把pg_num设置为512 OSD数量在10到50个时候,可以把pg_num设置为4096 OSD大于50时,理解权衡方法,借助pgcalc工具计算pg_num取值 9、neutron_plugin_agent: "openvswitch"和enable_neutron_dvr: "yes",这个配置可以使创建虚机的时候,直接选择外部网络,而不需要绑定内部地址。enable_neutron_agent_ha启用,会为该虚机外部网络创建俩个dhcp分配IP,符合高可用模式。 特别说明: 此处的docker仓库配置的是自己的source源私有仓库。假如在线使用hub.docker.com的在线仓库,请参照如下配置。 docker_registry: "" docker_namespace: "kolla" openstack_release: "queens"

7、配置主机清单
由于本文是多节点安装,则需要修改multinode文件,即可做到修改剧本执行的主机清单文件。control角色配置三台,即可做到高可用(HA)。
# vim /opt/kolla/multinode [control] controller01 controller02 controller03 [network] controller01 controller02 controller03 [inner-compute] [external-compute] computer01 computer02 [compute:children] inner-compute external-compute [storage] controller01 controller02 controller03 computer01 computer02 computer03 [monitoring] monitor [deployment] monitor

    推荐阅读