多可用区服务配置
介绍在多个可用区(zone)下部署物理机管理服务(baremetal-agent), VMware管理服务(esxi-agent)以及宿主机管 理服务(host)。
该方式只适用于使用 ocboot 部署的环境。
平台有可用区(zone)的概念,可以理解为对应实际环境中的机房,刚部署完服务后会有一个默认的可用区 zone0 。
云平台的物理机管理服务(baremetal-agent), VMware管理服务(esxi-agent)以及虚拟机管理服务(host)是可用区级别的服务,如果实际环境中的服务器,物理机或者管理的 VMware 集群位于不同的机房,需要创建多个可用区,然后在不同的可用区部署这些服务。
接下来的文档介绍如何在多个可用区部署这些服务。
创建可用区
可用区的添加使用 onecloud-operator 这个服务来控制,直接修改 onecloud namespace 里面的 default onecloudcluster
资源就行,比如下面的命令添加 my-zone-1
这个可用区:
# 修改 default onecloudcluster 的 spec.customZones
# 添加需要增加的可用区
$ kubectl edit onecloudcluster -n onecloud default
...
customZones:
- my-zone-1
...
修改完后保存退出,然后使用 climc zone-list
看下是否有新建的可用区:
$ climc zone-list
+--------------------------------------+-----------+--------+----------------+
| ID | Name | Status | Cloudregion_ID |
+--------------------------------------+-----------+--------+----------------+
| d64ccd80-7643-454d-8d40-7f5a0d57107f | my-zone-1 | enable | default |
| 04f414a7-ce55-470a-8d64-c6e4e64ccdfc | zone0 | enable | default |
+--------------------------------------+-----------+--------+----------------+
物理机管理服务(baremetal-agent) 和VMware管理服务(esxi-agent)
发现已经有新建的可用区 my-zone-1 了,operator 服务也会自动创建对应可用区的物理机管理服务(baremetal-agent) 和VMware管理服务(esxi-agent) ,查看对应的 deployment,命令如下:
$ kubectl get deployments. -n onecloud | grep my-zone-1
default-baremetal-agent-my-zone-1 0/0 0 0 3m37s
default-esxi-agent-my-zone-1 1/1 1 1 3m42s
其中物理机服务(baremetal-agent)需要选择一个 k8s node 手动开启。
启用 baremetal-agent
# $listen_interface 指的是 baremetal-agent 监听的网卡名称
$ ocadm baremetal enable --node $node_name --listen-interface $listen_interface
# 观察 baremetal agent pod 状态查看是否启动成功
$ watch "kubectl get pods -n onecloud | grep baremetal"
default-baremetal-agent-7c84996c9b-hhllw 1/1 Running 0 3m10s
# 启动成功确认 baremetal-agent 注册到控制节点
$ climc agent-list
+--------------------------------------+--------------------------+----------------+-----------------------------+---------+------------+------------------------------------------+--------------------------------------+
| ID | Name | Access_ip | Manager_URI | Status | agent_type | version | zone_id |
+--------------------------------------+--------------------------+----------------+-----------------------------+---------+------------+------------------------------------------+--------------------------------------+
| f3c2c671-c41d-4f30-8d04-e022b49bb9b5 | baremetal-10.168.222.150 | 10.168.222.150 | https://10.168.222.150:8879 | enabled | baremetal | remotes/origin/master(5e415506120011509) | 6230b485-2e54-480e-8284-33360b8202a8 |
+--------------------------------------+--------------------------+----------------+-----------------------------+---------+------------+------------------------------------------+--------------------------------------+
宿主机服务
宿主机服务(host)管理一台宿主机上的虚拟机,默认情况下的宿主机属于可用区zone0,如果有其它机房的宿主机,需要新建可用区,然后创建一个属于这个可用区的二层网络(wire),再基于这个二层网络(wire)创建包含注册宿主机IP的子网(network),最后把宿主机添加进来就可以了。