Helm チャートを使用した ロギング・エージェント バージョンのアップグレード
Helm チャートを使用することで、 ロギング・エージェント バージョンをアップグレードできる。
以下の手順を実行して、クラスタに配置されているエージェントのバージョンをアップグレードします:
以前のバージョンの ロギング・エージェント をインストールしており、クラスタ内で config マップを直接変更してエージェントの設定を更新した場合は、 helm upgrade コマンドを実行する前に、クラスタから config マップのコピーを作成してください。 ロギング・エージェント が更新されると、コンフィグマップに加えられた変更はすべて上書きされる。
開始前に
-
Kubernetesクラスタにアクセスし、ネームスペースの作成とエージェントのデプロイを行う権限があることを確認してください。
-
ロギングエージェントの現在の設定マップのコピーを取る。 実行:
kubectl get cm logs-agent -n ibm-observe -o yaml > logging-agent-backup-cm.yaml -
以下の CLI をインストールします。
-
IBM CloudにログインするためのCLIです。IBM Cloudにログインし、APIキーの作成などIBM Cloudサービスを管理するためのCLI。
-
kubectlコマンドを使用して Kubernetes クラスタを管理するための Kubernetes CLI。 詳細はこちら。 -
コマンドラインからOpenShiftクラスタを管理するOpenshift CLI。 詳細はこちらをご覧ください。
-
-
ロギング・エージェント について読む。
-
利用可能なエージェントのバージョンを確認する。 詳細については、利用可能なエージェントのバージョンを確認する を参照してください。 Helmチャートのバージョンはエージェントのバージョンと一致することに注意してください - 例えば、エージェントのバージョン1.3.0を使用している場合、そのバージョンに付随するバージョン1.3.00のHelmチャートがあります。
ステップ 1. ロギング・エージェントの Helmチャート値ファイルを更新する
以下のステップを完了し、展開する予定のエージェントバージョンでHelmチャートを変更します:
-
エージェントの配置に使用した
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 名前のKubernetesシークレットに'IAM_API_KEY キー名で存在する必要がある。 シークレットは、helmのインストール時に'--set secret.iamAPIKey=<your iamAPIKey> オプションを含めることで、'Helmチャートを使用して作成することができます。
シークレットを手動で作成した場合、または'iamMode=TrustedProfile 使用している場合は、このオプションを含めないでください。
以下のステップを実行します。
-
クラスターにログインします。 詳細については 、「クラスタへのアクセス」 を参照してください。
-
エージェントを更新する。
以前のバージョンの ロギング・エージェント をインストールしており、クラスタ内で config マップを直接変更してエージェントの設定を更新した場合は、
helm upgradeコマンドを実行する前に、クラスタから config マップのコピーを作成してください。 ロギング・エージェント が更新されると、コンフィグマップに加えられた変更はすべて上書きされる。iamMode=TrustedProfile場合、完全なコマンドは次のようになる:helm upgrade <install-name> oci://icr.io/ibm-observe/logs-agent-helm --version <chart-version> --values <PATH>/logs-values.yaml -n ibm-observeiamMode=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-agenthelm list -n ibm-observe<chart-version>はヘルムチャートのバージョン。 Helmチャートのバージョンはエージェントのイメージバージョンと一致している必要があります。 詳しくは Helmのチャートバージョン をご覧ください。<PATH>は 'logs-values.yamlファイルがあるディレクトリパスである。<APIKey-value>は ServiceID に関連付けられたIAM APIキーです。
例えば、'
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を実行します。 -
エージェントポッドを再起動します。
Kubernetesクラスタの場合は、実行する:
kubectl -n ibm-observe rollout restart ds/logs-agentOpenShiftクラスタの場合は、実行する:
oc -n ibm-observe rollout restart ds/logs-agent -
すべてのポッドが再起動し、
runningステータスで、エラーを報告していないことを確認します。Kubernetesクラスタの場合は、実行する:
kubectl get pods -n ibm-observeOpenShiftクラスタの場合は、実行する:
oc get pods -n ibm-observe
ステップ 3。 ログが目的の宛先に配信されていることを確認する
以下のステップを実行します。
-
エージェントが正しく設定されている場合、デフォルトのダッシュボードビューでログを見ることができます。 ロギング・エージェントは、クラスタ名を含むkubernetesオブジェクトでログレコードをタグ付けします。
kubernetes.cluster_name:<CLUSTER_NAME>IBM Cloud Logsインスタンスでクエリ'
kubernetes.cluster_name:<YOUR_CLUSTER_NAME>を実行すると、クラスタで生成されたログを検索できます。