Scalar Manager のカスタム値ファイルを構成する
このページは英語版のページが機械翻訳されたものです。英語版との間に矛盾または不一致がある場合は、英語版を正としてください。
このドキュメントでは、Scalar Manager チャートのカスタム値ファイルを作成する方法について説明します。パラメータの詳細を知りたい場合は、Scalar Manager チャートの README を参照してください。
必要な構成
サービス構成
Kubernetes のサービスリソースタイプを指定するには、service.type
を設定する必要があります。プロバイダーが提供するロードバランサーを使用する場合は、service.type
を LoadBalancer
に設定する必要があります。
service:
type: LoadBalancer
Scalar Manager の公開に関するセキュリティ上の懸念
service.type
を LoadBalancer
に設定すると、Scalar Manager がクラスター外に公開されるため、セキュリティ上の懸念が生じる可能性があります。
現在、Scalar Manager には認証やアクセス制御のメカニズムがありません。 このため、適切なセキュリティ対策なしに Scalar Manager を直接パブリックネットワークに公開すると、不正なアクションにつながる可能性があります。 これは、Scalar Manager が Scalar 製品の一時停止ジョブのスケジューリングなどの機能を提供しているためです。
外部アクセスが必要な場合は、プライベートネットワークを使用するか、Kubernetes クラスターへのネットワークアクセスを適切に設定することをお勧めします。
画像構成
Scalar Manager のイメージをプルできるように、api.image.repository
と web.image.repository
を設定する必要があります。
api:
image:
repository: <SCALAR_MANAGER_API_IMAGE>
web:
image:
repository: <SCALAR_MANAGER_WEB_IMAGE>
オプション設定
このセクションでは、Scalar Manager用のカスタム値ファイルを設定する際のオプション設定について説明します。
Scalar Manager 設定 (環境に応じてオプション)
api.applicationProperties
カスタム値を上書きして、Scalar Managerのデフォルト設定を変更できます。
api:
applicationProperties: |
grafana.kubernetesServiceLabelName="app.kubernetes.io/name"
grafana.kubernetesServiceLabelValue="grafana"
grafana.kubernetesServicePortName="http-web"
Scalar Managerには、例えばScalar製品のデプロイメントやクラスター内のPrometheusおよびLokiサービスを検出するためのデフォルト設定があります。 ほとんどのユースケースでは、特にkube-prometheus-stackのデプロイガ イドやloki-stackのデプロイガイドに従っている場合、デフォルト設定を変更する必要はありません。
api.applicationProperties で設定できるプロパティ
Scalar Manager の設定は、Java アプリケーションプロパティの形式で、key=valueのペアです。 これらのアプリケーションプロパティは、Scalar Manager Helm Chart の api.applicationProperties カスタム値を使用して設定できます。
名前 | 説明 | デフォルト値 |
---|---|---|
grafana.kubernetesServiceLabelName | Kubernetes で Grafana サービスを検出するために使用されるラベル名 | app.kubernetes.io/name |
grafana.kubernetesServiceLabelValue | grafana.kubernetesServiceLabelName に対応するラベル値 | grafana |
grafana.kubernetesServicePortName | Kubernetes で Grafana サービスポートを検出するために使用されるポート名 | http-web |
prometheus.kubernetesServiceLabelName | Kubernetes で Prometheus サービスを検出するために使用されるラベル名 | app |
prometheus.kubernetesServiceLabelValue | prometheus.kubernetesServiceLabelName に対応するラベル値 | kube-prometheus-stack-prometheus |
prometheus.kubernetesServicePortName | Kubernetes で Prometheus サービスポートを検出するために使用されるポート名 | http-web |
loki.kubernetesServiceLabelName | Kubernetes で Prometheus サービスを検出するために使用されるラベル名 | app |
loki.kubernetesServiceLabelValue | loki.kubernetesServiceLabelName に対応するラベル値 | loki |
loki.kubernetesServicePortName | Kubernetes で Loki サービスポートを検出するために使用されるポート名 | http-metrics |
helm.scalarRepositoryName | Scalar Helm リポジトリを表すために使用される名前 | scalar-labs |
helm.scalarRepositoryUrl | Scalar Helm リポジトリの URL | https://scalar-labs.github.io/helm-charts |
helm.scalarAdminForKubernetesChartName | Scalar Helm リポジトリにおける Kubernetes 用 Scalar Admin の Helm Chart 名 | scalar-admin-for-kubernetes |
helm.scalarAdminForKubernetesChartVersion | Kubernetes 用 Scalar Admin Helm Chart のバージョン | 1.0.0 |
configMapNamespace | Scalar Manager が使用する ConfigMap がデプロイされる名前空間 | default |
configMapName | Scalar Manager が使用する ConfigMap の名前 | scalar-manager-metadata |
paused-state-retention.storage | 一時停止状態を保持するために使用されるストレージタイプ | configmap |
paused-state-retention.max-number | Scalar Manager が保持する一時停止状態の最大数 | 100 |
サービスディスカバリー
Scalar Manager はラベルセレクターを使用して、Kubernetes 内の Grafana、Prometheus、Loki サービスを検出し、ポート名を使用してそれらに接続します。*.kubernetesServiceLabelName
、*.kubernetesServiceLabelValue
、*.kubernetesServicePortName
の設定を変更することで、ラベルセレクターとポート名を修正できます。
一般的に、これらの設定を変更する必要はありません。ただし、Grafana、Prometheus、または Loki サービスの Helm Chart をインストールする際にラベルやポート名をカスタマイズした場合は、これらの設定をカスタマイズに合わせて調整する必要があります。
Kubernetes 用 Scalar Admin の使用
Scalar Manager は、Kubernetes 用 Scalar Admin Helm Chart をインストールして、Scalar製品の一時停止ジョブのスケジューリングや実行を行います。以下の設定を使用して、Scalar Helm リポジトリをセットアップし、Helm Chart を配置します:
helm.scalarRepositoryName
helm.scalarRepositoryUrl
helm.scalarAdminForKubernetesChartName
helm.scalarAdminForKubernetesChartVersion
特別な理由がない限り、これらの設定を変更することはお勧めしません。
Scalar Manager が使用する ConfigMap
Scalar Manager は、デフォルトのアプリケーションプロパティなどのメタデータを保存するために ConfigMap を使用します。ConfigMap は以下の設定で指定された名前空間にデプロイされます:
configMapNamespace
configMapName
競合する ConfigMap を使用している場合など、特別な理由がない限り、これらの設定を変更することはお勧めしません。
一時停止状態の保持
Scalar Manager は、Scalar 製品の一時停止状態をストレージに保持します。現在、Scalar Manager はストレージとして ConfigMap のみを使用できるため、paused-state-retention.storage
設定は configmap
に設定する必要があります。paused-state-retention.max-number
設定を設定することで、Scalar Manager が保持する一時停止状態の最大数を調整できます。
ストレージに ConfigMap を使用する場合、ConfigMap のサイズ制限があるため、paused-state-retention.max-number
に大きな値を設定することはお勧めしません。ConfigMap に保存されるデータは 1MiB を超えることができないため、Scalar Manager が保持できる一時停止状態の最大数は約3,000です。