銀の光と碧い空

クラウドなインフラとC#なアプリ開発の狭間にいるエンジニアの日々

Radiusを知る(9) PodSpecを適用する

前回の記事で紹介したPodSpecを適用するサンプルプロジェクトを試してみたいと思います。

tech.tanaka733.net

こちらのドキュメントで紹介されているものになります。

docs.radapp.io

まずは、ドキュメント通りシンプルなRadiusアプリケーションを定義し展開します。

いったん終了して、以下をリソース定義に追加します。

    runtimes: {
      kubernetes: {
        pod: {
          containers: [
            {
              name: 'log-collector'
              image: 'ghcr.io/radius-project/fluent-bit:2.1.8'
            }
          ]
          hostNetwork: true
        }
      }
    }

Radiusのcontainerリソースに定義されているruntimes設定を利用しています。runtimesは(おそらくサポートするRuntimeがkubernetesのみなので)現状kubernetesというキーのみを取り、baseとpodという2つの設定でカスタマイズできます。今回はpodを使っており、podの値として設定した内容がPodSpecに反映される仕組みになっています。今回の例では、fluentbitのコンテナーをサイドカーとして追加し、hostNetworkを有効にしています。実際に展開すると、ログの転送が開始されています。

実際に展開されたPodの定義を確認しても適用されていることがわかります。