Skip to main content
此產品有較新版本可以使用。
本繁體中文版使用機器翻譯,譯文僅供參考,若與英文版本牴觸,應以英文版本為準。

設定Astra控制中心

貢獻者

安裝Astra Control Center、登入UI並變更密碼之後、您將需要設定授權、新增叢集、管理儲存設備及新增儲存區。

新增Astra Control Center授權

您可以使用Astra Control UI或新增授權 "API" 以獲得完整的Astra控制中心功能。若無授權、您使用Astra Control Center的使用僅限於管理使用者及新增叢集。

Astra Control Center授權會使用Kubernetes CPU單元來測量CPU資源、並計算指派給所有受管理Kubernetes叢集之工作節點的CPU資源。授權是根據vCPU使用率而定。如需如何計算授權的詳細資訊、請參閱 "授權"

註 如果您的安裝量成長到超過授權的CPU單元數量、Astra Control Center會防止您管理新的應用程式。超過容量時會顯示警示。
註 若要更新現有的評估或完整授權、請參閱 "更新現有授權"
您需要的產品
  • 存取新安裝的Astra Control Center執行個體。

  • 系統管理員角色權限。

  • "NetApp授權檔案" (lf)。

步驟
  1. 登入Astra Control Center UI。

  2. 選擇*帳戶*>*授權*。

  3. 選擇*新增授權*。

  4. 瀏覽至您下載的授權檔案(NLF)。

  5. 選擇*新增授權*。

帳戶>*授權*」頁面會顯示授權資訊、到期日、授權序號、帳戶ID及使用的CPU單位。

註 如果您擁有評估授權、但並未將資料傳送AutoSupport 至效益分析系統、請務必儲存您的帳戶ID、以免發生Astra Control Center故障時發生資料遺失。

使用Astra Control為環境做好叢集管理準備

在新增叢集之前、您應確保符合下列先決條件。您也應該執行資格檢查、以確保叢集已準備好新增至Astra Control Center、並建立叢集管理的角色。

您需要的產品
  • 確保叢集中的工作節點已設定適當的儲存驅動程式、以便Pod與後端儲存設備互動。

  • 您的環境符合 "營運環境需求" 適用於Astra Trident與Astra Control Center。

  • 這是Astra Trident的版本 "由Astra Control Center支援" 已安裝:

    註 您可以 "部署Astra Trident" 使用Trident運算子(手動或使用Helm圖表)或 tridentctl。在安裝或升級Astra Trident之前、請先檢閱 "支援的前端、後端及主機組態"
    • 已設定Trident儲存後端:至少必須有一個Astra Trident儲存後端 "已設定" 在叢集上。

    • 已設定Trident儲存類別:至少必須有一個Astra Trident儲存類別 "已設定" 在叢集上。如果已設定預設儲存類別、請確定它是唯一具有預設註釋的儲存類別。

    • 已安裝並設定的Astra Trident Volume Snapshot控制器與Volume Snapshot類別:Volume Snapshot控制器必須是 "已安裝" 以便在Astra Control中建立快照。至少有一個Astra Trident VolumeSnapshotClass 過去了 "設定" 由系統管理員執行。

  • *可存取的Kubeconfig *:您可以存取 "叢集管理圖" 這只包含一個內容元素。

  • 《支援》認證:您需要使用支援版的支援版支援系統上設定的支援認證和超級使用者與使用者ID、才能使用Astra Control Center來備份及還原應用程式ONTAP ONTAP ONTAP 。

    在flexf2命令列中執行下列命令ONTAP :

    export-policy rule modify -vserver <storage virtual machine name> -policyname <policy name> -ruleindex 1 -superuser sys
    export-policy rule modify -vserver <storage virtual machine name> -policyname <policy name> -ruleindex 1 -anon 65534
  • *僅限Rancher *:在Rancher環境中管理應用程式叢集時、請在Rancher提供的Kusbeconfig檔案中修改應用程式叢集的預設內容、以使用控制面內容而非Rancher API伺服器內容。如此可減少Rancher API伺服器的負載、並改善效能。

執行資格檢查

執行下列資格檢查、確保您的叢集已準備好新增至Astra控制中心。

步驟
  1. 檢查Trident版本。

    kubectl get tridentversions -n trident

    如果存在Trident、您會看到類似下列的輸出:

    NAME      VERSION
    trident   22.10.0

    如果Trident不存在、您會看到類似下列的輸出:

    error: the server doesn't have a resource type "tridentversions"
    註 如果未安裝Trident或安裝的版本不是最新版本、您必須先安裝最新版本的Trident、才能繼續進行。請參閱 "Trident文件" 以取得相關指示。
  2. 確保Pod正在執行:

    kubectl get pods -n trident
  3. 判斷儲存類別是否使用支援的Trident驅動程式。置備程式名稱應為 csi.trident.netapp.io。請參閱下列範例:

    kubectl get sc

    回應範例:

    NAME                  PROVISIONER            RECLAIMPOLICY  VOLUMEBINDINGMODE  ALLOWVOLUMEEXPANSION  AGE
    ontap-gold (default)  csi.trident.netapp.io  Delete         Immediate          true                  5d23h

建立有限的叢集角色KECBEConfig

您可以選擇性地為Astra Control Center建立有限的系統管理員角色。這不是Astra Control Center設定所需的程序。此程序有助於建立獨立的Kbeconfig、以限制Astra Control在其管理的叢集上的權限。

您需要的產品

在完成程序步驟之前、請確定您要管理的叢集具備下列項目:

  • 已安裝KECV1.23或更新版本

  • 利用Astra Control Center來存取您要新增及管理的叢集

    註 在此程序中、您不需要透過KECBECVL存取執行Astra Control Center的叢集。
  • 使用叢集管理權限來管理作用中內容的叢集的作用中KECBEConfig

步驟
  1. 建立服務帳戶:

    1. 建立名為的服務帳戶檔案 astracontrol-service-account.yaml

      視需要調整名稱和命名空間。如果在此處進行變更、您應該在下列步驟中套用相同的變更。

    astracontrol-service-account.yaml

    +

    apiVersion: v1
    kind: ServiceAccount
    metadata:
      name: astracontrol-service-account
      namespace: default
    1. 套用服務帳戶:

      kubectl apply -f astracontrol-service-account.yaml
  2. 建立具有由Astra Control管理叢集所需最低權限的有限叢集角色:

    1. 建立 ClusterRole 檔案已呼叫 astra-admin-account.yaml

      視需要調整名稱和命名空間。如果在此處進行變更、您應該在下列步驟中套用相同的變更。

    astra-admin-account.yaml

    +

    apiVersion: rbac.authorization.k8s.io/v1
    kind: ClusterRole
    metadata:
      name: astra-admin-account
    rules:
    
    # Get, List, Create, and Update all resources
    # Necessary to backup and restore all resources in an app
    - apiGroups:
      - '*'
      resources:
      - '*'
      verbs:
      - get
      - list
      - create
      - patch
    
    # Delete Resources
    # Necessary for in-place restore and AppMirror failover
    - apiGroups:
      - ""
      - apps
      - autoscaling
      - batch
      - crd.projectcalico.org
      - extensions
      - networking.k8s.io
      - policy
      - rbac.authorization.k8s.io
      - snapshot.storage.k8s.io
      - trident.netapp.io
      resources:
      - configmaps
      - cronjobs
      - daemonsets
      - deployments
      - horizontalpodautoscalers
      - ingresses
      - jobs
      - namespaces
      - networkpolicies
      - persistentvolumeclaims
      - poddisruptionbudgets
      - pods
      - podtemplates
      - podsecuritypolicies
      - replicasets
      - replicationcontrollers
      - replicationcontrollers/scale
      - rolebindings
      - roles
      - secrets
      - serviceaccounts
      - services
      - statefulsets
      - tridentmirrorrelationships
      - tridentsnapshotinfos
      - volumesnapshots
      - volumesnapshotcontents
      verbs:
      - delete
    
    # Watch resources
    # Necessary to monitor progress
    - apiGroups:
      - ""
      resources:
      - pods
      - replicationcontrollers
      - replicationcontrollers/scale
      verbs:
      - watch
    
    # Update resources
    - apiGroups:
      - ""
      - build.openshift.io
      - image.openshift.io
      resources:
      - builds/details
      - replicationcontrollers
      - replicationcontrollers/scale
      - imagestreams/layers
      - imagestreamtags
      - imagetags
      verbs:
      - update
    
    # Use PodSecurityPolicies
    - apiGroups:
      - extensions
      - policy
      resources:
      - podsecuritypolicies
      verbs:
      - use
    1. 套用叢集角色:

      kubectl apply -f astra-admin-account.yaml
  3. 建立叢集角色與服務帳戶的叢集角色繫結:

    1. 建立 ClusterRoleBinding 檔案已呼叫 astracontrol-clusterrolebinding.yaml

      視需要在建立服務帳戶時調整任何已修改的名稱和命名空間。

    astracontrol-clusterrolebinding.yaml

    +

    apiVersion: rbac.authorization.k8s.io/v1
    kind: ClusterRoleBinding
    metadata:
      name: astracontrol-admin
    roleRef:
      apiGroup: rbac.authorization.k8s.io
      kind: ClusterRole
      name: astra-admin-account
    subjects:
    - kind: ServiceAccount
      name: astracontrol-service-account
      namespace: default
    1. 套用叢集角色繫結:

      kubectl apply -f astracontrol-clusterrolebinding.yaml
  4. 列出取代的服務帳戶機密 <context> 正確的安裝環境:

    kubectl get serviceaccount astracontrol-service-account --context <context> --namespace default -o json

    輸出的結尾應類似於下列內容:

    "secrets": [
    { "name": "astracontrol-service-account-dockercfg-vhz87"},
    { "name": "astracontrol-service-account-token-r59kr"}
    ]

    中每個元素的索引 secrets 陣列開頭為0。在上述範例中、索引為 astracontrol-service-account-dockercfg-vhz87 將為0、索引則為 astracontrol-service-account-token-r59kr 應該是1。在輸出中、記下含有「權杖」一詞的服務帳戶名稱索引。

  5. 產生以下的Kbeconfig:

    1. 建立 create-kubeconfig.sh 檔案:更換 TOKEN_INDEX 在下列指令碼開頭、使用正確的值。

      create-kubeconfig.sh
      # Update these to match your environment.
      # Replace TOKEN_INDEX with the correct value
      # from the output in the previous step. If you
      # didn't change anything else above, don't change
      # anything else here.
      
      SERVICE_ACCOUNT_NAME=astracontrol-service-account
      NAMESPACE=default
      NEW_CONTEXT=astracontrol
      KUBECONFIG_FILE='kubeconfig-sa'
      
      CONTEXT=$(kubectl config current-context)
      
      SECRET_NAME=$(kubectl get serviceaccount ${SERVICE_ACCOUNT_NAME} \
        --context ${CONTEXT} \
        --namespace ${NAMESPACE} \
        -o jsonpath='{.secrets[TOKEN_INDEX].name}')
      TOKEN_DATA=$(kubectl get secret ${SECRET_NAME} \
        --context ${CONTEXT} \
        --namespace ${NAMESPACE} \
        -o jsonpath='{.data.token}')
      
      TOKEN=$(echo ${TOKEN_DATA} | base64 -d)
      
      # Create dedicated kubeconfig
      # Create a full copy
      kubectl config view --raw > ${KUBECONFIG_FILE}.full.tmp
      
      # Switch working context to correct context
      kubectl --kubeconfig ${KUBECONFIG_FILE}.full.tmp config use-context ${CONTEXT}
      
      # Minify
      kubectl --kubeconfig ${KUBECONFIG_FILE}.full.tmp \
        config view --flatten --minify > ${KUBECONFIG_FILE}.tmp
      
      # Rename context
      kubectl config --kubeconfig ${KUBECONFIG_FILE}.tmp \
        rename-context ${CONTEXT} ${NEW_CONTEXT}
      
      # Create token user
      kubectl config --kubeconfig ${KUBECONFIG_FILE}.tmp \
        set-credentials ${CONTEXT}-${NAMESPACE}-token-user \
        --token ${TOKEN}
      
      # Set context to use token user
      kubectl config --kubeconfig ${KUBECONFIG_FILE}.tmp \
        set-context ${NEW_CONTEXT} --user ${CONTEXT}-${NAMESPACE}-token-user
      
      # Set context to correct namespace
      kubectl config --kubeconfig ${KUBECONFIG_FILE}.tmp \
        set-context ${NEW_CONTEXT} --namespace ${NAMESPACE}
      
      # Flatten/minify kubeconfig
      kubectl config --kubeconfig ${KUBECONFIG_FILE}.tmp \
        view --flatten --minify > ${KUBECONFIG_FILE}
      
      # Remove tmp
      rm ${KUBECONFIG_FILE}.full.tmp
      rm ${KUBECONFIG_FILE}.tmp
    2. 請輸入命令以將其套用至Kubernetes叢集。

      source create-kubeconfig.sh
  6. (選用)將Kbeconfig重新命名為有意義的叢集名稱。

    mv kubeconfig-sa YOUR_CLUSTER_NAME_kubeconfig

接下來呢?

現在您已確認已符合先決條件、您已經準備好了 新增叢集

新增叢集

若要開始管理應用程式、請新增Kubernetes叢集、並將其當作運算資源來管理。您必須為Astra Control Center新增叢集、才能探索Kubernetes應用程式。

提示 我們建議Astra Control Center先管理部署於上的叢集、再將其他叢集新增至Astra Control Center進行管理。需要管理初始叢集、才能傳送Kubmetrics資料和叢集相關資料、以供進行度量和疑難排解。
您需要的產品
  • 新增叢集之前、請先檢閱並執行必要的 必要工作

步驟
  1. 從儀表板或叢集功能表瀏覽:

    • 從「資源摘要」的*「儀表板」中、從「叢集」窗格中選取「新增*」。

    • 在左側導覽區域中、選取*叢集*、然後從「叢集」頁面選取*新增叢集*。

  2. 在打開的* Add Cluster-*(添加叢集)窗口中、上傳 kubeconfig.yaml 檔案或貼上的內容 kubeconfig.yaml 檔案:

    註 kubeconfig.yaml 檔案應*僅包含一個叢集*的叢集認證資料。
    重要 如果您自行建立 kubeconfig 檔案中、您應該只定義*一個*內容元素。請參閱 "Kubernetes文件" 以取得有關建立的資訊 kubeconfig 檔案:如果您使用為有限的叢集角色建立了Kbeconfig 上述程序請務必在本步驟中上傳或貼上該KECBEConnfig。
  3. 提供認證名稱。根據預設、認證名稱會自動填入為叢集名稱。

  4. 選擇*下一步*。

  5. 選取要用於此Kubernetes叢集的預設儲存類別、然後選取* Next*。

    註 您應該選擇以ONTAP 不受資料儲存設備支援的Trident儲存類別。
  6. 檢閱資訊、如果一切看起來都很好、請選取*新增*。

結果

叢集進入*探索*狀態、然後變更為*健全*。您現在正使用Astra Control Center來管理叢集。

重要 在Astra Control Center中新增要管理的叢集之後、可能需要幾分鐘的時間來部署監控操作員。在此之前、通知圖示會變成紅色、並記錄*監控代理程式狀態檢查失敗*事件。您可以忽略這一點、因為當Astra Control Center取得正確狀態時、問題就能解決。如果幾分鐘內仍無法解決問題、請前往叢集並執行 oc get pods -n netapp-monitoring 做為起點。您需要查看監控操作員記錄、以偵錯問題。

新增儲存後端

您可以將現有ONTAP 的不支援儲存後端新增至Astra Control Center、以管理其資源。

將Astra Control中的儲存叢集管理為儲存後端、可讓您在持續磁碟區(PV)與儲存後端之間建立連結、以及取得額外的儲存指標。

步驟
  1. 從左側導覽區域的儀表板中、選取*後端*。

  2. 執行下列其中一項:

    • 新後端:選擇*「Add*」(新增*)以管理現有後端、選擇* ONTAP 「Send*」、然後選擇*「Next*」(下一步*)。

    • 探索到的後端:從「動作」功能表中、從受管理的叢集選取探索到的後端上的*管理*。

  3. 輸入ONTAP 「叢集管理IP位址」和「管理認證」。認證資料必須是整個叢集的認證資料。

    註 您在此處輸入認證的使用者必須擁有 ontapi 使用者登入存取方法已在ONTAP 支援的叢集上的「支援系統管理程式」中啟用ONTAP 。如果您打算使用SnapMirror複寫、請套用具有「admin」角色的使用者認證、該角色具有存取方法 ontapihttp、在來源ONTAP 和目的地等叢集上。請參閱 "管理ONTAP 使用者帳戶、請參閱本文檔" 以取得更多資訊。
  4. 選擇*下一步*。

  5. 確認後端詳細資料、然後選取*管理*。

結果

後端隨即出現在中 Healthy 列出摘要資訊。

註 您可能需要重新整理頁面、以便顯示後端。

新增儲存庫

您可以使用Astra Control UI或來新增儲存區 "API"。如果您想要備份應用程式和持續儲存設備、或是想要跨叢集複製應用程式、則必須新增物件存放區資源庫供應商。Astra Control會將這些備份或複製儲存在您定義的物件存放區中。

如果您要將應用程式組態和持續儲存設備複製到同一個叢集、則無需使用Astra Control中的儲存庫。應用程式快照功能不需要儲存庫。

您需要的產品
  • 可從由Astra Control Center管理的叢集存取的儲存庫。

  • 庫位認證資料。

  • 下列類型的儲存桶:

    • NetApp ONTAP 產品S3

    • NetApp StorageGRID 產品S3

    • Microsoft Azure

    • 一般S3

註 Amazon Web Services(AWS)和Google Cloud Platform(GCP)使用通用S3儲存區類型。
註 雖然Astra Control Center支援Amazon S3做為通用S3儲存區供應商、但Astra Control Center可能不支援所有聲稱Amazon S3支援的物件儲存區廠商。
步驟
  1. 在左側導覽區域中、選取*鏟斗*。

  2. 選取*「Add*」。

  3. 選取貯體類型。

    註 新增儲存庫時、請選擇正確的儲存庫供應商、並提供該供應商的適當認證資料。例如、UI接受NetApp ONTAP S3作為類型並接受StorageGRID 驗證、但這將導致所有未來使用此儲存庫的應用程式備份與還原失敗。
  4. 輸入現有的庫位名稱和選用說明。

    提示 庫位名稱和說明會顯示為備份位置、您可以在建立備份時稍後選擇。此名稱也會在保護原則組態期間顯示。
  5. 輸入S3端點的名稱或IP位址。

  6. 在「選取認證」下、選擇「新增」或「使用現有」索引標籤。

    • 如果您選擇*新增*:

      1. 在Astra Control中輸入認證與其他認證不同的名稱。

      2. 從剪貼簿貼上內容、輸入存取ID和秘密金鑰。

    • 如果您選擇*使用現有*:

      1. 選取您要搭配儲存區使用的現有認證資料。

  7. 選取 Add

    註 當您新增貯體時、Astra Control會使用預設的貯體指標來標記一個貯體。您建立的第一個儲存區會成為預設儲存區。當您新增儲存庫時、可以稍後決定 "設定另一個預設儲存區"

接下來呢?

現在您已經登入Astra Control Center並新增叢集、就能開始使用Astra Control Center的應用程式資料管理功能。

如需詳細資訊、請參閱