管理機構資源

身為 Google Distributed Cloud (GDC) 氣隙式環境的基礎架構營運人員 (IO),您需要驗證系統健康狀態、設定使用者和網路,以及管理基礎硬體系統 (例如運算、儲存空間和網路) 的生命週期。

事前準備

如要完成這份文件,您必須存取下列資源:

  • gdcloud CLI 或 kubectl CLI

  • Linux 環境

如要取得管理機構所需的權限,請要求安全管理員授予您機構管理員 (organization-admin) 角色。

存取及監控伺服器

存取 GDC 伺服器並監控其狀態,確保伺服器安全無虞、維持最新狀態且運作正常。

如要進一步瞭解如何監控機構的伺服器,請參閱「查詢及查看指標」頁面。

管理伺服器的生命週期

伺服器生命週期管理包括下列功能:

  • 重新啟動或重新開機。
  • 正在重新製作映像檔。
  • 主機板管理控制器 (BMC) 和複雜可程式化邏輯裝置 (CPLD) 韌體更新。
  • 作業系統或軟體更新。
  • 作業系統設定,例如安全性設定。

系統會在維護期間定期執行基本作業系統安全性修補程式、伺服器主機軟體套件升級,以及伺服器韌體升級。

維護時段包括下列動作:

  • 為伺服器作業系統安裝緊急安全性更新。
  • 在一或多部伺服器上,升級主機軟體套件。
  • 升級一或多部伺服器的韌體。

新增及管理工作負載伺服器

如要新增其他工作負載伺服器或管理現有工作負載伺服器,請更新儲存在 iac 存放區中的 OrganizationZonalConfig 自訂資源:

  1. 產生可用伺服器和伺服器類型清單:

    kubectl get servers -n gpc-system -o \
        jsonpath='{range .items[?(@.status.bareMetalHostStatus.provisionState=="available")]}{.metadata.name}{"\t"}{.spec.serverHardware.machineClassName}{"\t"}{.status.bareMetalHostStatus.provisionState}{"\n"}{end}'
    

    輸出看起來類似以下內容:

    ag-aa-bm04   o1-standard1-64-gdc-metal   available
    ag-ab-bm07   o1-standard1-64-gdc-metal   available
    ag-ab-bm11   o1-highmem1-96-gdc-metal    available
    ag-ab-bm12   o1-highmem1-96-gdc-metal    available
    ag-ab-bm13   o1-highmem1-96-gdc-metal    available
    ag-ab-bm14   o1-highgpu1-48-gdc-metal    available
    ag-ab-bm15   o1-highgpu1-48-gdc-metal    available
    ag-ab-bm16   o1-highgpu1-48-gdc-metal    available
    

    請注意可用的伺服器,並確保修改機構的工作負載伺服器時,只分配可用的伺服器。

  2. 在存放區中開啟自訂資源 YAML 檔案:OrganizationZonalConfigiac

    vim IAC_REPO_PATH/iac/infrastructure/global/orgs/root/ORG_NAME-ZONE.yaml
    

    更改下列內容:

    • IAC_REPO_PATH:存放區的資料夾路徑。iac
    • ORG_NAME:機構名稱。
    • ZONE:宇宙中的區域名稱。區域名稱的格式如下:{generalRegion}-{regionQualifier}{regionCounter}-{zoneLetter}。例如,us-central1-b。如要瞭解區域屬性值,請參閱客戶填寫問卷調查中的區域部分
  3. 更新 YAML 檔案的 workloadServers 區段。新增工作負載伺服器,或管理各類型現有伺服器的數量:

    ...
    workloadServers:
      o1-highmem1-40-gdc-metal: 1
      o1-standard1-64-gdc-metal: 2
      o1-highmem1-96-gdc-metal: 3
      o1-highmem1-104-gdc-metal: 4
      o1-highmem1-448-gdc-metal: 5
      o1-highgpu1-48-gdc-metal: 6
    ...
    
  4. 儲存並關閉互動式編輯器。

  5. 將變更暫存並提交至機構組織區域設定 YAML 檔案:

    git add IAC_REPO_PATH/iac/infrastructure/global/orgs/root/ORG_NAME-ZONE
    git commit
    
  6. 將更新推送至 GitLab:

    git -c http.sslVerify=false push
    
  7. 等待程式碼審查和合併。

  8. 針對 Distributed Cloud 部署作業中所有 Distributed Cloud 區域的所有 GitLab 存放區,重複執行這些步驟,並使用相同內容和目錄結構。

    在 Distributed Cloud 部署作業中,每個區域都包含個別的已中斷連線 GitLab 執行個體。在 GitLab 中建立、更新或刪除每個全域資源時,您必須將完全相同的內容提交至每個區域的 GitLab 存放區。全域根協調器 Pod 會在主要 Distributed Cloud 區域中執行,該區域是在全域 API 的 zoneselectionresult 自訂資源 primary 欄位中定義。調解器會將主要區域的 GitLab 資料同步至全域 API。

  9. 確認您分配的工作負載伺服器是否可供使用:

    kubectl --kubeconfig /root/release/root-admin/root-admin-kubeconfig get servers -n gpc-system -o \
        jsonpath='{range .items[?(@.spec.nodePoolClaimRef.namespace=="org-1")]}{.metadata.name}{"\t"}{.status.provisionReady}{"\n"}{end}'
    

    如果工作負載伺服器設為 true,則表示可用。輸出內容會類似如下:

    zi-aa-bm04      true
    zi-aa-bm05      true
    zi-aa-bm06      true
    

增加儲存空間容量

每個機構在區域可用的儲存空間量,定義於 OrganizationZonalConfig 資源的 capacities 欄位。

如要提高這些儲存空間類別的配額,請更新各區域的 OrganizationZonalConfig 資源。

  1. 在存放區中開啟自訂資源 YAML 檔案:OrganizationZonalConfigiac

    vim IAC_REPO_PATH/iac/infrastructure/global/orgs/root/ORG_NAME-ZONE.yaml
    

    更改下列內容:

    • IAC_REPO_PATH:存放區的資料夾路徑。iac
    • ORG_NAME:機構名稱。
    • ZONE:宇宙中的區域名稱,例如 us-central1-b。如要進一步瞭解區域屬性值,請參閱客戶問卷調查的「區域」部分。
  2. 使用儲存空間類型的新配額值,更新 YAML 檔案的 capacities 區段。例如:

    # Several lines of code are omitted here.
    spec:
      capacities:
        storage:
          file-standard: FILE_QUOTA
          block-standard: BLOCK_QUOTA
          object-standard: OBJECT_QUOTA
    

    更改下列內容:

    • FILE_QUOTA:區域中檔案儲存空間的新配額值,例如 10Ti
    • BLOCK_QUOTA:可用區塊儲存空間的新配額值,例如 10Ti
    • OBJECT_QUOTA:區域中物件儲存空間的新配額值,例如 10Ti

    如要進一步瞭解如何在 OrganizationZonalConfig 資源中定義儲存空間容量,請參閱TypedResourceCapacities參考文件。

  3. 儲存並關閉互動式編輯器。

  4. 將變更暫存並提交至機構組織區域設定 YAML 檔案:

    git add IAC_REPO_PATH/iac/infrastructure/global/orgs/root/ORG_NAME-ZONE
    git commit
    
  5. 將更新推送至 GitLab:

    git -c http.sslVerify=false push
    
  6. 等待程式碼審查和合併。

  7. 針對 GDC 部署中的所有 GDC 區域,使用相同內容和目錄結構,重複上述步驟。