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

在大约41行修改成如下:
在这里插入图片描述
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: 1024

glance_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
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值