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に保存されるデータは1 MiBを超えることができないため、Scalar Managerが保持できる一時停止状態の最大数は約3,000です。