ログ転送のための Fluent Bit のインストール

このトピックでは、Tanzu Kubernetes Grid のスタンドアローン管理またはワークロード クラスタに Fluent Bit を展開する方法について説明します。

Fluent Bit は軽量なログ プロセッサおよびフォワーダです。このリリースの Tanzu Kubernetes Grid で提供される Fluent Bit 実装では、vSphere 8、Amazon Web Services (AWS)、および Azure で実行されているクラスタからログを収集できます。その後、Elastic SearchKafkaSplunk、HTTP エンドポイントなどのログ ストレージ プロバイダに転送できます。

ログの収集元となる任意のスタンドアローン管理クラスタまたはワークロード クラスタに Fluent Bit を展開できます。最初に、使用するエンドポイントに応じて、ログの収集元となるクラスタで出力プラグインを構成します。次に、Fluent Bit をクラスタに展開します。

前提条件

Fluent Bit 展開用のクラスタの準備

ログの収集元となる各クラスタに Fluent Bit を展開する必要があります。

クラスタを準備するには、次の手順を実行します。

  1. Fluent Bit を展開するクラスタの管理者認証情報を取得します。例:

    tanzu cluster kubeconfig get my-cluster --admin
    
  2. kubectl のコンテキストをクラスタに設定します。例:

    kubectl config use-context my-cluster-admin@my-cluster
    

クラスタへの Fluent Bit の展開

次の手順に従って、クラスタに Fluent Bit を展開します。

  1. クラスタに、tanzu-standard リポジトリなどの、Fluent Bit パッケージがインストールされたパッケージ リポジトリがない場合は次の方法でインストールします。

    tanzu package repository add PACKAGE-REPO-NAME --url PACKAGE-REPO-ENDPOINT --namespace tkg-system
    

    ここで、

    • PACKAGE-REPO-NAME はパッケージ リポジトリの名前です。tanzu-standard や、ADDITIONAL_IMAGE_REGISTRY 変数で構成されたプライベート イメージ レジストリの名前が入ります。
    • PACKAGE-REPO-ENDPOINT はパッケージ リポジトリの URL です。

      • このリリースでは、tanzu-standard の URL は projects.registry.vmware.com/tkg/packages/standard/repo:v2023.10.16 です。Tanzu CLI からこの値を取得するには、「パッケージ リポジトリの一覧表示」を参照してください。また、Tanzu Mission Control では [クラスタ (Cluster)] ペインの [アドオン (Addons)] > [リポジトリ (Repositories)] リストを参照してください。
  2. まだクラスタに cert-manager をインストールしていない場合は、インストールします。手順については、「証明書管理用の cert-manager のインストール」を参照してください。

  3. Fluent Bit パッケージがクラスタで使用可能であることを確認します。

    tanzu package available list -A
    
  4. 使用可能なパッケージのバージョンを取得します。

    tanzu package available list fluent-bit.tanzu.vmware.com -A
    
  5. Fluent Bit パッケージの構成ファイルを準備します。

    1. パッケージのデフォルト構成を取得します。

      tanzu package available get fluent-bit.tanzu.vmware.com/PACKAGE-VERSION --default-values-file-output FILE-PATH
      

      ここで、PACKAGE-VERSION はインストールする Fluent Bit パッケージのバージョンで、FILE-PATHfluent-bit-data-values.yaml などの構成ファイルを保存する場所です。

    2. 構成するログ管理バックエンドに基づいて、fluent-bit-data-values.yaml ファイルの fluent_bit.config.outputs キーに 1 つ以上の [Output] 構成を追加します。

    3. 確認し、必要に応じて他の構成パラメータを変更します。fluent-bit-data-values.yaml で設定できる構成パラメータの完全なリストへのリンクについては、以下の「Fluent Bit パッケージ構成パラメータ」を参照してください。

  6. fluent-bit-data-values.yaml ファイルを準備したら、ファイル内のすべてのコメントを削除します。

    yq -i eval '... comments=""' fluent-bit-data-values.yaml
    
  7. tanzu package install を実行して、パッケージを展開します。

    tanzu package install fluent-bit \
    --package fluent-bit.tanzu.vmware.com \
    --version AVAILABLE-PACKAGE-VERSION \
    --values-file fluent-bit-data-values.yaml \
    --namespace TARGET-NAMESPACE
    

    ここで、

    • TARGET-NAMESPACE は、Fluent Bit パッケージをインストールする名前空間です。たとえば、my-packages 名前空間などです。

      • --namespace フラグが指定されていない場合、Tanzu CLI は default 名前空間を使用します。Fluent Bit ポッドおよび Fluent Bit コンポーネントに関連付けられているその他のリソースは、fluent-bit-data-values.yaml で指定した名前空間に作成されます。Fluent Bit パッケージをこの名前空間にインストールしないでください。
      • 指定された名前空間は、たとえば kubectl create namespace my-packages を実行することによってすでに存在している必要があります。
    • AVAILABLE-PACKAGE-VERSION は、上記の tanzu package available を実行して取得したバージョンです。

    例:

    tanzu package install fluent-bit --package fluent-bit.tanzu.vmware.com --namespace my-packages --version 2.1.2+vmware.1-tkg.1
    

Fluent Bit パッケージ構成パラメータ

次の表に、Fluent Bit パッケージの構成パラメータとそのデフォルト値を示します。上記の「クラスタへの Fluent Bit の展開」で作成した fluent-bit-data-values.yml ファイルに次の構成値を設定できます。

パラメータ 説明 タイプ デフォルト
namespace Fluent Bit が展開される名前空間。 文字列 tanzu-system-logging
fluent_bit.config.outputs Fluent Bit 出力の構成の詳細については、Fluent Bit のドキュメントを参照してください。 マルチライン YAML Standard output
fluent_bit.config.parsers Fluent Bit パーサの構成の詳細については、Fluent Bit のドキュメントを参照してください。 マルチライン YAML JSON parser
fluent_bit.config.plugins Fluent Bit プラグイン構成のコンテンツ。 文字列 <nil>
fluent_bit.config.service Fluent Bit サービスの構成の詳細については、Fluent Bit のドキュメントを参照してください。 マルチライン YAML デフォルトの Fluent Bit サービス構成。
fluent_bit.config.streams Fluent Bit ストリーム ファイルのコンテンツ。 文字列 <nil>
fluent_bit.config.filters Fluent Bit フィルタの構成の詳細については、Fluent Bit のドキュメントを参照してください。 マルチライン YAML デフォルトの Kubernetes フィルタ。
fluent_bit.config.inputs Fluent Bit 入力の構成の詳細については、Fluent Bit のドキュメントを参照してください。 文字列 tail プラグインを使用して Kubernetes コンテナ ログを取り込み、kubelet から systemd ログを取り込みます。
fluent_bit.daemonset.resources Fluent Bit コンテナのリソース要件の構成の詳細については、Fluent Bit のドキュメントを参照してください。 マルチライン YAML <nil>
fluent_bit.daemonset.podAnnotations Fluent Bit 展開ポッドの注釈。 リスト <nil>
fluent_bit.daemonset.podLabels Fluent Bit 展開ポッドのラベル。 リスト <nil>

Fluent Bit の展開の確認

Fluent Bit を展開したら、展開が成功したことを確認できます。

  1. fluent-bit パッケージがインストールされていることを確認します。例:

    tanzu package installed list -A
    

    fluent-bit パッケージと fluent-bit アプリケーションは、tanzu package install コマンドを実行するときに指定した名前空間にインストールされます。

  2. fluent-bit アプリケーションが AVAILABLE-PACKAGE-NAMESPACE で正常に調整されていることを確認します。

    kubectl get apps -A
    

    ステータスが Reconcile succeeded でない場合は、fluent-bit アプリケーションの完全なステータスの詳細を表示します。完全なステータスを表示すると、問題のトラブルシューティングに役立ちます。

    kubectl get app fluent-bit --namespace AVAILABLE-PACKAGE-NAMESPACE -o yaml
    

    ここで、AVAILABLE-PACKAGE-NAMESPACE は、パッケージをインストールした名前空間です。

  3. クラスタで実行されているすべてのポッドを一覧表示して、新しいサービスが実行されていることを確認します。

    kubectl get pods -A
    

    tanzu-system-logging 名前空間に、ポッドで実行されている fluent-bit サービスが表示されます。

    NAMESPACE               NAME                     READY   STATUS    RESTARTS   AGE
    [...]
    tanzu-system-logging    fluent-bit-zd2tn         1/1     Running   0          6m23s
    [...]
    

    Fluent Bit ポッドおよび Fluent Bit コンポーネントに関連付けられているその他のリソースは、fluent-bit-data-values.yaml ファイルで指定した名前空間に作成されます。デフォルトの名前空間を使用している場合は、tanzu-system-logging 名前空間に作成されます。

実行中の Fluent Bit 展開の更新

展開後に Fluent Bit パッケージの構成を変更するには、展開された Fluent Bit パッケージを更新します。

  1. fluent-bit-data-values.yaml ファイルで Fluent Bit 構成を更新します。

  2. インストール済みパッケージを更新します。

    tanzu package installed update fluent-bit \
    --version 2.1.2+vmware.1-tkg.1 \
    --values-file fluent-bit-data-values.yaml \
    --namespace my-packages
    

    予期される出力:

    | Updating package 'fluent-bit'
    - Getting package install for 'fluent-bit'
    | Updating secret 'fluent-bit-my-packages-values'
    | Updating package install for 'fluent-bit'
    
     Updated package install 'fluent-bit' in namespace 'my-packages'
    

Fluent Bit パッケージは、追加した新しい値を使用して調整されます。kapp-controller が変更を適用するまでに最大 5 分かかることがあります。

更新の詳細については、「パッケージの更新」を参照してください。

Fluent Bit 展開の削除

クラスタで Fluent Bit パッケージを削除するには、次のコマンドを実行します。

tanzu package installed delete fluent-bit --namespace my-packages

削除の詳細については、「パッケージの削除」を参照してください。

check-circle-line exclamation-circle-line close-line
Scroll to top icon