在上篇文章介绍了 Kolla 跟 Kolla-Ansible 部署 OpenStack 的方法。在设定的部分全部都是在 globals.yml
中设定,其他则交由 Kolla-Ansible 中的 template 处理。不过这样的方式不免在部署中显得稍失弹性,无法根据特殊环境做客制化,於是就诞生出了 config override 的方式来进行 custom config 的设定。本篇文章将会介绍如何使用 config override 来更改 Kolla-Ansible 部署 OpenStack 的设定档。
同样在 globals.yml
中我们可以找到一行设定 config overrides 档案的资料夹。预设值是 /etc/kolla/config
,可以更改为自己想要的资料夹。
# Location of configuration overrides
#node_custom_config: "/etc/kolla/config"
Kolla-Ansible 会在寻找在 /etc/kolla/config/<< 服务名称 >>/<< 设定档 >>
的档案。设定档 override 基本上可以 override 整个 OpenStack project (e.g. Nova)、OpenStack service (e.g. nova-api)、或是在特定 host 上的 service (e.g. nova-api on controller02),在使用上非常有弹性。
另外如果要对所有 service 的设定做 override,Kolla-Ansible 会寻找 /etc/kolla/config/global.conf
这个档案。
如果想要在 OpenStack 上的 Virtual Machine 启用巢状虚拟化,我们需要将 libvirt 参数中 cpu_mode 设定为 host-passthrou
此时就会需要新建 /etc/kolla/config/nova/nova-compute.conf
後写入以下两行:
[libvirt]
cpu_mode=host-passthrough
若想要在 compute01 这个主机上更改 CPU 跟 RAM 的 allocation ratio,就会建立 /etc/kolla/config/nova/compute01/nova-compute.conf
并写入:
[DEFAULT]
cpu_allocation_ratio = 16.0
ram_allocation_ratio = 2.0
最後如果想要更改所有 service 的 database pool size connection,就会新建一个 /etc/kolla/config/global.conf
档案并写入
[database]
max_pool_size = 100
policy.json 的设定方式相对一般 service 的设定档稍微不一样,需要将完整的 policy 档案都放在那个 project 的资料夹下。Kolla-Ansible 会使用那个档案 overrite 原本预设的 policy.json 档案。
例如若想要 override Neutron 的 policy.json,部署者需要从 Neutron 原始码中将完整的 policy.json 拿下来,修改後并放到 /etc/kolla/config/neutron/policy.json
下。
Kolla-Ansible 在已经部署完成的 OpenStack cluster 要更改设定也非常容易,只需要下:
kolla-ansible reconfigure
就会将更改的设定档部署至环境并且重新启动相对应的 container。
透过 config override 的方式,operator 可以很容易的针对各个 service 甚至 host 上的特定 service 做设定档的调整。这让使用 Kolla-Ansible 部署 OpenStack 更有弹性,能够针对各个部署的需求进行客制化的部署。
Kolla-Ansible Advanced Configuration
Some Deeper Basics 图像的概念 我们在前面有说到,canvas本身是透过物件模型来...
以下笔记摘录自『 The Go Workshop 』。 宣告变数需满足四个条件: 宣告变数的叙述 变...
最近写一个ASP.NET WebForm的网页,允许使用者在TextBox输入各种文字,也包括Htm...
基本上 在学习时看的文章, 都会在这边放了个安装检测.net framework的方法 https:...
在架设 Hexo 之前,有些前置作业要先进行。其中由於 Hexo 是使用 Node.js 撰写,并且...