使用 Helm 图表升级 日志记录代理 版本

您可以使用 Helm 图表升级 日志记录代理 版本。

完成以下步骤,升级群集中部署的代理版本:

如果您安装了 日志记录代理 以前的版本,并通过直接在群集中修改配置映射更新了代理配置,请在运行 helm upgrade 命令前从群集中复制一份配置映射。 更新 日志记录代理 时,对配置地图所做的任何更改都将被覆盖。

准备工作

  • 确保您有访问Kubernetes集群的权限,并有创建命名空间和部署代理的权限。

  • 复制日志代理的当前配置映射。 运行: kubectl get cm logs-agent -n ibm-observe -o yaml > logging-agent-backup-cm.yaml

  • 安装以下 CLI:

    • IBM CloudCLICLI 登录IBM Cloud并管理IBM Cloud服务,如创建 API 密钥。

    • Kubernetes CLI,使用 kubectl 命令管理 Kubernetes 群集。 了解更多信息

    • Openshift CLI 可通过命令行管理OpenShift群集。 了解更多信息

  • 阅读关于 日志记录代理 的信息。

  • 检查可用的代理版本。 有关详细信息,请参阅 检查可用的代理版本。 请注意,Helm图表的版本将与代理的版本相匹配--例如,如果您使用的是1.3.0版本的代理,则该版本的Helm图表将与1.3.0版本相匹配。

步骤 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安装程序时加入 "--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图表版本应与代理映像版本一致。 更多信息,请参阅 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实例的网络用户界面。

  2. 正确配置代理后,您可以通过默认仪表板视图查看日志。 日志记录代理会使用包含群集名称的 kubernetes 对象标记日志记录。

    kubernetes.cluster_name:<CLUSTER_NAME>
    

    您可以在IBM Cloud Logs实例中运行查询 "kubernetes.cluster_name:<YOUR_CLUSTER_NAME>,搜索群集生成的日志。