使用 Helm 圖表升級 記載代理程式 版本

您可以使用 Helm 圖表升級 記載代理程式 版本。

完成下列步驟,以升級部署在群集中的代理版本:

如果您已安裝先前版本的 記載代理程式,並透過直接在群集中修改配置映射更新了代理程式組態,請在執行 helm upgrade 指令之前,先從群集中複製一份配置映射。 更新 記載代理程式 時,對設定映射所做的任何變更都會被覆蓋。

開始之前

  • 確保您有權存取Kubernetes集群,並有權建立命名空間和部署代理程式。

  • 為記錄代理複製目前的設定映射。 執行: kubectl get cm logs-agent -n ibm-observe -o yaml > logging-agent-backup-cm.yaml

  • 安裝下列 CLI:

    • 用於登入IBM Cloud並管理IBM Cloud服務(例如建立 API 金鑰)的IBM Cloud CLI。

    • Kubernetes CLI,使用 kubectl 指令管理 Kubernetes 叢集。 進一步瞭解

    • Openshift CLI 用於從命令列管理OpenShift叢集。 進一步瞭解

  • 了解 記載代理程式

  • 檢查可用的代理版本。 有關詳細信息,請參閱 檢查可用的代理版本。 請注意,Helm圖表的版本將與代理的版本相符 - 例如,如果您使用的是1.3.0版本的代理,則該版本附帶一個版本為1.3.0的Helm圖表。

步驟 1. 更新記載代理程式的Helm圖表值文件

請完成以下步驟,使用您計劃部署的代理程式版本修改Helm圖表:

  1. 使用下列內容更新用於部署代理的名為 logs-values.yaml 的檔案:

    logs-values.yaml 檔案包含特定於您部署的組態。

    如果沒有用於部署代理程式的 logs-values.yaml 檔案,請根據代理程式目前的 configmap 設定建立一個。

    metadata:
      name: "logs-agent"
    image:
      version: "1.6.1"  # Modify the agent version and enter the version that you want to deploy
    
    clusterName: "ENTER_CLUSTER_NAME"     # Enter the name of your cluster. This information is used to improve the metadata and help with your filtering.
    
    additionalMetadata: # add additional metadata, for example:
      region: au-syd
      env: production
      logs-agent-version: 1.6.1     # Enter the agent version that you want to deploy
    
    env:
      # ingestionHost is a required field. For example:
      # ingestionHost: "<logs instance>.ingress.us-east.logs.cloud.ibm.com"
      ingestionHost: "" # required
    
      # If you are using private CSE proxy, then use port number "3443"
      # If you are using private VPE Gateway, then use port number "443"
      # If you are using the public endpoint, then use port number "443"
      ingestionPort: "" # required
    
      iamMode: "TrustedProfile"
      # trustedProfileID - trusted profile id - required for iam trusted profile mode
      trustedProfileID: "" # required if iamMode is set to TrustedProfile
    
    

步驟 2. 更新代理

如果您將 iamMode 用作 IAMAPIKey,則 apikey 需要出現在名為 logs-agent 且金鑰名稱為 IAM_API_KEY 的Kubernetes鑰中。 可以使用Helm圖表建立機密,方法是在執行 helm 安裝時包含 --set secret.iamAPIKey=<your iamAPIKey> 選項。 如果金鑰是手動建立的或您使用的是 iamMode=TrustedProfile,則不要包含此選項。

請完成下列步驟:

  1. 登入群集。 有關更多信息,請參閱 訪問您的集群

  2. 更新代理程式。

    如果您已安裝先前版本的 記載代理程式,並透過直接在群集中修改配置映射更新了代理程式組態,請在執行 helm upgrade 指令之前,先從群集中複製一份配置映射。 更新 記載代理程式 時,對設定映射所做的任何變更都會被覆蓋。

    如果您使用 iamMode = TrustedProfile 那麼完整的命令是:

    helm upgrade <install-name> oci://icr.io/ibm-observe/logs-agent-helm --version <chart-version> --values <PATH>/logs-values.yaml -n ibm-observe
    

    如果您使用 iamMode = IAMAPIKey 那麼完整的命令是:

    helm upgrade <install-name> oci://icr.io/ibm-observe/logs-agent-helm --version <chart-version> --values <PATH>/logs-values.yaml -n ibm-observe --set secret.iamAPIKey=<APIKey-value>
    

    其中:

    • <install-name> 是 安裝的名稱 ( )。您可以執行以下指令來取得安裝名稱:Helmlogs-agent helm list -n ibm-observe
    • <chart-version> 是 Helm Chart 的版本。 Helm圖表版本應與代理映像版本相符。 有關更多信息,請參閱 Helm圖表版本
    • <PATH>logs-values.yaml 檔案所在的目錄路徑。
    • <APIKey-value> 是與 ServiceID 相關聯的 IAM apikey。

    例如,您可以從 logs-values.yaml 檔案所在的目錄執行以下命令:

    helm upgrade logs-agent oci://icr.io/ibm-observe/logs-agent-helm --version 1.5.0 --values ./logs-values.yaml -n ibm-observe --set secret.iamAPIKey=<secret>
    

    要查看已安裝的代理名稱和圖表版本,您可以執行 helm list -n NAMESPACE

  3. 重新啟動代理程式 Pod。

    對於Kubernetes集群,運行:

    kubectl -n ibm-observe rollout restart ds/logs-agent
    

    對於OpenShift集群,運行:

    oc -n ibm-observe rollout restart ds/logs-agent
    
  4. 檢查所有 Pod 是否都已重新啟動、處於 running 狀態,並且沒有回報錯誤。

    對於Kubernetes集群,運行:

    kubectl get pods -n ibm-observe
    

    對於OpenShift集群,運行:

    oc get pods -n ibm-observe
    

步驟 3. 驗證日誌是否已傳送到您的目標目的地

請完成下列步驟:

  1. 前往您的IBM Cloud Logs實例的 Web UI。

  2. 正確配置代理程式後,您可以透過預設儀表板視圖查看日誌。 記載代理程式使用包含叢集名稱的 kubernetes 物件來標記日誌記錄。

    kubernetes.cluster_name:<CLUSTER_NAME>
    

    您可以在IBM Cloud Logs實例中執行查詢 kubernetes.cluster_name:<YOUR_CLUSTER_NAME> 來搜尋叢集產生的日誌。