您可以使用命令列介面在執行 OpenStack Neutron 的節點上設定 LBaaS。

先決條件

  • 在您的網路上建立公用子網路和路由器。對於 NSX Data Center for vSphere 部署,路由器類型必須為 exclusive

    備註:

    您可以在承租人子網路上建立負載平衡器,但您必須為其指派浮動 IP 位址。

  • 設定至少一個用戶端和至少兩個伺服器執行個體。

程序

  1. viouser 身分登入 OpenStack 管理伺服器
  2. viouser 身分登入控制器節點。
  3. 針對您的使用者帳戶載入認證檔案。
    source user-credentials.rc
  4. 建立負載平衡器。
    neutron lbaas-loadbalancer-create --name lb-name lb-subnet-id

    只有指定子網路的成員可以新增至 LBaaS 集區。

  5. 建立新負載平衡器的接聽程式。
    neutron lbaas-listener-create --loadbalancer lb-name --protocol {HTTP | TCP} --protocol-port port-num --name listener-name
  6. 建立 LBaaS 集區。
    neutron lbaas-pool-create --lb-algorithm lb-method --listener listener-name --protocol {TCP | HTTP} --name pool-name

    --lb-algorithm 參數接受下列值。

    引數

    說明

    LEAST_CONNECTIONS

    新用戶端要求將傳送至具有最少連線的伺服器。

    ROUND_ROBIN

    根據為其指派的權數,依次使用每個伺服器。

    SOURCE_IP

    由相同的集區成員處理來自相同來源 IP 位址的所有連線。

  7. 至少將兩個伺服器執行個體新增至您建立的 LBaaS 集區。
    neutron lbaas-member-create --subnet lb-subnet-id --address server1-ip --protocol-port 80 pool-name
    neutron lbaas-member-create --subnet lb-subnet-id --address server2-ip --protocol-port 80 pool-name
  8. 設定健全監視器。
    neutron lbaas-healthmonitor-create --delay delay-seconds --type {HTTP | TCP | PING} --max-retries number --timeout timeout-seconds --pool pool-name

    參數

    說明

    --delay

    輸入傳送探查至成員間隔的時間 (以秒為單位)。

    --type

    指定 HTTPTCPPING

    --max-retries

    輸入將成員狀態變更為 INACTIVE 之前允許的連線失敗次數。

    --timeout

    輸入監控器在逾時之前等待建立連線的時間 (以秒為單位)。

    逾時值必須少於延遲值。

    --pool

    指定您已建立的 LBaaS 集區。

  9. 如果您已在承租人子網路上建立負載平衡器,請將浮動 IP 位址與負載平衡器建立關聯。
  10. (選擇性) 傳送測試要求,以驗證 LBaaS 組態。
    1. viouser 身分登入 OpenStack 管理伺服器
    2. 建立測試 index.html 檔案。
    3. 在相同的目錄中,啟動 Web 伺服器。
      sudo python -m SimpleHTTPServer 80
    4. 登入用戶端執行個體。
    5. 執行 wget 命令,並檢視您的要求是否在集區中的伺服器之間正確地進行負載平衡。
      wget -O - http://mgmt-server-ip