上一主题: 如何检索有关 BFC 的信息下一主题: 高级维护指南


如何使用 BFC API 配置网络

作为主干管理员,需要使用 BFC API 配置网络。 例如,可以选择将 API 与命令行结合使用,或选择针对命令序列执行脚本。 配置网络后,可以通过 BFC UI 和其他 BFC API 方法查看和处理网络。 需要设置和配置网络配置,然后才能创建 CA AppLogic® 网格,并且需要主干和外部网络。

下图显示了如何使用 BFC API 配置网络:

显示如何使用 BFC API 配置网络。

  1. 获取网络列表
  2. 设置主干网
  3. 设置外部网络
  4. 选择以下选项之一:
  5. 设置电源网
先决条件:网络注意事项

您的网络配置可以设置以下内容:

获取网络列表

BFC API 版本 1.1 允许您在 BFC 中查看网络相关信息。 在此示例中,您的系统并不包含任何网络,但是您希望通过 BFC API 确认此信息。

完成以下步骤:

  1. 要登录到 BFC API 版本 1.1,请执行以下命令:
    export BFC_Host=<BFC 控制节点的 IP 地址>
    curl -k -v https://${BFC_Host}:8443/BFC/1.1/login -X POST -d "{\"username\":\"core/admin\",\"password\":\"changeme\"}" -H "Content-Type:application/json"
    
  2. 保存以下会话:
    export Session="Session_ID_Returned_from_Login"
    
  3. 要检索 BFC 服务器上所有网络的列表,请执行以下命令:
    curl -k -v https://${BFC_Host}:8443/BFC/networks -H "Content-Type:application/json" -H "Authorization:${Session}"
    

    API 显示 HTML 返回代码 200,并指明您的 BFC 不包含任何网络。

设置主干网

主干网承担 BFC 操作的所有流量。 CA AppLogic® 仅将此内部网络用于网格上服务器之间的通信。

完成以下步骤:

  1. 要设置主干网,请执行以下命令:
    curl -k -v https://${BFC_Host}:8443/BFC/networks -H "Content-Type:application/json" -H "Authorization:$Session" -d "{\"network\":{\"base_address\":\"127.0.x.x\",\"cidr\":\"24\",\"usages\":[\"bbc/applogic_backbone_network\"],\"gateway_addresses\":[\"127.0.x.x\"],\"address_space\":{\"ip_space\":{\"address_pools\":[{\"ip_pool\":{\"type\":\"hardware\",\"ranges\":[{\"ip_range\":{\"start_address\":\"127.0.x.x\",\"end_address\":\"127.0.x.x\"}}]}}]}}}}"
    
  2. 要检索有关主干网的详细信息,请执行以下命令:
    curl -k https://${BFC_Host}:8443/BFC/networks/127.0.x.x -H "Content-Type:application/json" -H "Authorization:${Session}" | python -mjson.tool
    

    将显示以下输出:

    {"network": {
            "address_space": {
                "ip_space": {
                    "address_pools": [
                        {"ip_pool": {
                                "available_ranges": [
                                    {"ip_range": {
                                            "end_address": "127.0.x.x",
                                            "size": 10,
                                            "start_address": "127.0.x.x"}}],
                                "num_addresses": 11,
                                "num_available": 10,
                                "num_used": 1,
                                "ranges": [
                                    {"ip_range": {
                                            "end_address": "127.0.x.x",
                                            "size": 11,
                                            "start_address": "127.0.x.x"}}],
                                "type": "hardware",
                                "used_ranges": [
                                    {"ip_range": {
                                            "end_address": "127.0.x.x",
                                            "size": 1,
                                            "start_address": "127.0.x.x"}}]}},
                        {"ip_pool": {
                                "available_ranges": [],
                                "num_addresses": 4,
                                "num_available": 0,
                                "num_used": 4,
                                "ranges": [
                                    {"ip_range": {
                                            "end_address": "127.0.x.x",
                                            "size": 4,
                                            "start_address": "127.0.x.x"}}],
                                "type": "application",
                                "used_ranges": [
                                    {"ip_range": {
                                            "end_address": "127.0.x.x",
                                            "size": 4,
                                            "start_address": "127.0.x.x"}}]}}],
                    "available_ranges": [[
                            {"ip_range": {
                                    "end_address": "127.0.x.x",
                                    "size": 137,
                                    "start_address": "127.0.x.x"}},
                            {"ip_range": {
                                    "end_address": "127.0.x.x",
                                    "size": 101,
                                    "start_address": "127.0.x.x"}}],238]}},
            "base_address": "127.0.x.x",
            "cidr": 24,
            "comp_id":1450,
            "gateway_addresses": [
                "127.0.x.x"],
            "ip_version": "ipv4",
            "usages": [
                "bbc/applogic_backbone_network"],
            "vlan_address_spaces": []}}
    
  3. 要在 BFC UI 中验证主干网,请完成以下步骤:
    1. 单击配置清单中的“主干网”。
    2. 从列表中选择网络,查看其开始地址、结束地址和大小。
设置外部网络

创建虚拟机时,外部网络提供可用于网格的地址。 此网络允许服务器与 CA AppLogic® 网格之外的其他主机进行通信。

完成以下步骤:

  1. 要设置外部网络,请执行以下命令:
    curl -k -v https://${BFC_Host}:8443/BFC/networks -H "Content-Type:application/json" -H "Authorization:$Session" -d "{\"network\":{\"base_address\":\"127.50.x.x\",\"cidr\":\"24\",\"usages\":[\"bbc/applogic_external_network\"],\"gateway_addresses\":[\"127.50.x.x\"],\"address_space\":{\"ip_space\":{\"address_pools\":[{\"ip_pool\":{\"type\":\"hardware\",\"ranges\":[{\"ip_range\":{\"start_address\":\"127.50.x.x\",\"end_address\":\"127.50.x.x\"}}]}}]}},\"vlan_address_spaces\":[{\"vlan_ip_space\":{\"vlan\":\"150\"}}]}}"
    
  2. 要检索有关外部网络的详细信息,请执行以下命令:
    curl -k https://${BFC_Host}:8443/BFC/networks/127.50.x.x -H "Content-Type:application/json" -H "Authorization:${Session}" | python -mjson.tool
    

    在此示例中,您在未关联任何池、范围或 IP 地址的情况下创建了 VLAN 地址空间。

    将显示以下输出:

    {"network": {
    
            "address_space": {
                "ip_space": {
                    "address_pools": [
                        {"ip_pool": {
                                "available_ranges": [
                                    {"ip_range": {
                                            "end_address": "127.50.x.x",
                                            "size": 10,
                                            "start_address": "127.50.x.x"}}],
                                "num_addresses": 11,
                                "num_available": 10,
                                "num_used": 1,
                                "ranges": [
                                    {"ip_range": {
                                            "end_address": "127.50.x.x",
                                            "size": 11,
                                            "start_address": "127.50.x.x"}}],
                                "type": "hardware",
                                "used_ranges": [
                                    {"ip_range": {
                                            "end_address": "127.50.x.x",
                                            "size": 1,
                                            "start_address": "127.50.x.x"}}]}},
                        {"ip_pool": {
                                "available_ranges": [],
                                "num_addresses": 4,
                                "num_available": 0,
                                "num_used": 4,
                                "ranges": [
                                    {"ip_range": {
                                            "end_address": "127.50.x.x",
                                            "size": 4,
                                            "start_address": "127.50.x.x"}}],
                                "type": "application",
                                "used_ranges": [
                                    {"ip_range": {
                                            "end_address": "127.50.x.x",
                                            "size": 4,
                                            "start_address": "127.50.x.x"}}]}}],
                    "available_ranges": [[
                            {"ip_range": {
                                    "end_address": "127.50.x.x",
                                    "size": 137,
                                    "start_address": "127.50.x.x"}},
                            {"ip_range": {
                                    "end_address": "127.50.x.x",
                                    "size": 101,
                                    "start_address": "127.50.x.x"}}],238]}},
            "base_address": "127.50.x.x",
            "cidr": 24,
            "comp_id":1450,
            "gateway_addresses": [
                "127.50.x.x"],
            "ip_version": "ipv4",
            "usages": [
                "bbc/applogic_external_network"],
            "vlan_address_spaces": []}}
    
  3. 要将地址池添加到外部网络 VLAN 空间,请执行以下命令:
    curl -k -v https://${BFC_Host}:8443/BFC/networks/127.50.x.x/vlan_address_spaces/150/address_pools -X POST -H "Content-Type:application/json" -H "Authorization:$Session" -d "{\"ip_pool\":{\"type\":\"application\",\"ranges\":[{\"ip_range\":{\"start_address\":\"127.50.x.x\",\"end_address\":\"127.50.x.x\"}}]}}"
    
  4. 要检索有关外部网络的详细信息,请执行以下命令:
    curl -k https://${BFC_Host}:8443/BFC/networks/127.50.x.x -H "Content-Type:application/json" -H "Authorization:${Session}" | python -mjson.tool
    
  5. 要在 BFC UI 中验证主干网,请完成以下步骤:
    1. 单击配置清单中的“外部网络”。
    2. 从列表中选择网络,查看其开始地址、结束地址、大小和范围。
设置电源网

通过电源网设置,BFC 可以智能地控制网格节点上的电源管理操作。 这些操作包括重新加电和关闭电源。

注意:如果节点已启用 IPMI,则需要在电源网中指定这些节点的电源 IP。

完成以下步骤:

  1. 要设置电源网,请执行以下命令:
    curl -k -v https://${BFC_Host}:8443/BFC/networks -H "Content-Type:application/json" -H "Authorization:$Session" -d "{\"network\":{\"base_address\":\"127.50.x.x\",\"cidr\":\"24\",\"usages\":[\"core/power_network\"],\"gateway_addresses\":[\"127.50.x.x\"],\"address_space\":{\"ip_space\":{\"address_pools\":[{\"ip_pool\":{\"type\":\"power\",\"ranges\":[{\"ip_range\":{\"start_address\":\"127.50.x.x\",\"end_address\":\"127.50.x.x\"}}]}}]}}}}"
    
  2. 要检索有关电源网的详细信息,请执行以下命令:
    curl -k https://${BFC_Host}:8443/BFC/networks/127.50.x.x -H "Content-Type:application/json" -H "Authorization:${Session}" | python -mjson.tool
    

    将显示以下输出:

    {"network": {
    
            "address_space": {
                "ip_space": {
                    "address_pools": [
                        {"ip_pool": {
                                "available_ranges": [
                                    {"ip_range": {
                                            "end_address": "127.50.x.x",
                                            "size": 10,
                                            "start_address": "127.50.x.x"}}],
                                "num_addresses": 11,
                                "num_available": 10,
                                "num_used": 1,
                                "ranges": [
                                    {"ip_range": {
                                            "end_address": "127.50.x.x",
                                            "size": 11,
                                            "start_address": "127.50.x.x"}}],
                                "type": "hardware",
                                "used_ranges": [
                                    {"ip_range": {
                                            "end_address": "127.50.x.x",
                                            "size": 1,
                                            "start_address": "127.50.x.x"}}]}},
                        {"ip_pool": {
                                "available_ranges": [],
                                "num_addresses": 4,
                                "num_available": 0,
                                "num_used": 4,
                                "ranges": [
                                    {"ip_range": {
                                            "end_address": "127.50.x.x",
                                            "size": 4,
                                            "start_address": "127.50.x.x"}}],
                                "type": "application",
                                "used_ranges": [
                                    {"ip_range": {
                                            "end_address": "127.50.x.x",
                                            "size": 4,
                                            "start_address": "127.50.x.x"}}]}}],
                    "available_ranges": [[
                            {"ip_range": {
                                    "end_address": "127.50.x.x",
                                    "size": 137,
                                    "start_address": "127.50.x.x"}},
                            {"ip_range": {
                                    "end_address": "127.50.x.x",
                                    "size": 101,
                                    "start_address": "127.50.x.x"}}],238]}},
            "base_address": "127.50.x.x",
            "cidr": 24,
            "comp_id":1450,
            "gateway_addresses": [
                "127.50.x.x"],
            "ip_version": "ipv4",
            "usages": [
                "bbc/applogic_power_network"],
            "vlan_address_spaces": []}}
    
  3. 要在 BFC UI 中验证主干网,请完成以下步骤:
    1. 单击配置清单中的“电源网”。
    2. 从列表中选择网络,查看其开始地址、结束地址和大小。
修改外部网络上的 VLAN 地址范围

在基于您的 BFC 环境需求的外部网络上,修改 VLAN 地址范围。 例如,如果不需要当前地址空间量,可以减少 VLAN 地址空间。 如果需要更多地址空间以在网格上运行更多应用,则可以增加外部网络上的地址空间。

注意:如果在创建网络之后未配置 VLAN,则可以通过对 VLAN 地址空间执行 POST 或 DELETE 操作来管理 VLAN。

完成以下步骤:

  1. 确定外部网络上的 VLAN 地址范围是否需要修改。

    例如,您计划在网格中使用更多应用。 这些新增的应用需要增加范围。

  2. 要修改范围,请执行以下命令之一:
    增加范围
    curl -k -v https://${BFC_Host}:8443/BFC/networks/127.x.x.0/vlan_address_spaces/150/address_pools/application/ranges -X POST -H "Content-Type:application/json" -H "Authorization:$Session" -d "{\"ip_range\":{\"start_address\":\"127.x.x.51\",\"end_address\":\"127.x.x.150\"}}"
    
    减少范围
    curl -k -v https://${BFC_Host}:8443/BFC/networks/127.x.x.0/vlan_address_spaces/150/address_pools/application/ranges/127.x.x.40-127.x.x.49 -X DELETE -H "Content-Type:application/json" -H "Authorization:$Session"
    
  3. 在 BFC UI 中查看外部网络详细信息或执行以下命令:
    curl -k https://${BFC_Host}:8443/BFC/networks/127.x.x.1 -H "Content-Type:application/json" -H "Authorization:${Session}" | python -mjson.tool
    

    API 显示 HTML 返回代码 200 以及第 2 步中指定的范围。

您已成功通过 BFC API 配置网络,现在即可创建并使用网格。