次の手順に従って、vSphere 8.x 用の TKr を実行している TKG サービス クラスタに Alertmanager を使用する Prometheus をインストールします。
前提条件
次の前提条件を満たす必要があります。
- 一般的な要件
- パッケージ リポジトリの作成。
- Cert Manager のインストール。
- Envoy を使用する Contour のインストール(Prometheus ダッシュボードへのアクセスに必要)。
- Prometheus パッケージ リファレンス
Prometheus のデータ値の作成
Prometheus のインストールを準備するには、データ値ファイルを作成します。
- リポジトリの Prometheus パッケージの最新バージョンを取得します。
tanzu package available get prometheus.tanzu.vmware.com -n tkg-system
または、kubectl を使用します。
kubectl -n tkg-system get packages | grep prometheus
注: 要件が異なる場合を除き、通常は最新バージョンを使用する必要があります。 prometheus-data-values.yaml
ファイルを生成します。tanzu package available get prometheus.tanzu.vmware.com/2.45.0+vmware.1-tkg.2 --default-values-file-output prometheus-data-values.yaml
ここで、- 2.45.0+vmware.1-tkg.2 はターゲット パッケージのバージョンです
- prometheus-data-values.yaml は、生成するデータ値ファイルの名前とパスです
prometheus-data-values.yaml
ファイルを編集し、Prometheus ダッシュボードへのアクセスに必要な次の値を構成します。データ値ファイルの例と構成パラメータの完全なリストについては、「Prometheus パッケージ リファレンス」を参照してください。パラメータ 説明 ingress.tlsCertificate.tls.crt
自己署名 TLS 証明書が Ingress 用に生成されます。オプションで、指定した証明書をオーバーライドで使用することもできます。 ingress.tlsCertificate.tls.key
自己署名 TLS プライベート キーが Ingress 用に生成されます。オプションで、指定した証明書をオーバーライドで使用することもできます。 ingress.enabled
値を true
に設定します(デフォルトは false)。ingress.virtual_host_fqdn
値を prometheus.<your.domain>
に設定します(デフォルトはprometheus.system.tanzu
)。alertmanager.pvc.storageClassName
vSphere ストレージ ポリシーの名前を入力します。 prometheus.pvc.storageClassName
vSphere ストレージ ポリシーの名前を入力します。
Prometheus のインストール
Prometheus パッケージをインストールするには、次の手順を実行します。
- 名前空間を作成します。
kubectl create ns tanzu-system-monitoring
- Prometheus をインストールします。
tanzu package install prometheus -p prometheus.tanzu.vmware.com -v 2.45.0+vmware.1-tkg.2 --values-file prometheus-data-values.yaml -n tanzu-system-monitoring
- Prometheus のインストールを確認します。
tanzu package installed list -n tanzu-system-monitoring
tanzu package installed get prometheus -n tanzu-system-monitoring
- Prometheus オブジェクトと Altermanager オブジェクトを確認します。
kubectl -n tanzu-system-monitoring get all
kubectl -n tanzu-system-monitoring get pvc NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE alertmanager Bound pvc-a53f7091-9823-4b70-a9b4-c3d7a1e27a4b 2Gi RWO k8s-policy 2m30s prometheus-server Bound pvc-41745d1d-9401-41d7-b44d-ba430ecc5cda 20Gi RWO k8s-policy 2m30s
Prometheus のインストールのトラブルシューティング
tanzu package install prometheus
操作で「Failed to get final advertise address: No private IP address found, and explicit IP not provided」というエラーが返された場合は、パッケージ オーバーレイを適用して alertmanager コンポーネントを再構成します。
overlay-alertmanager.yaml
ファイルを作成します。--- #@ load("@ytt:overlay", "overlay") #@overlay/match by=overlay.and_op(overlay.subset({"kind": "Deployment"}), overlay.subset({"metadata": {"name": "alertmanager"}})) --- spec: template: spec: containers: #@overlay/match by="name",expects="0+" - name: alertmanager args: - --cluster.listen-address=
- Kubectl を使用して、
overlay-alertmanager.yaml
ファイルからシークレットを作成します。kubectl create secret generic alertmanager-overlay -n tkg-system -o yaml --dry-run=client --from-file=overlay-alertmanager.yaml | kubectl apply -f -
- Kubectl を使用して、Prometheus パッケージにオーバーレイ シークレットで注釈付けします。
kubectl annotate PackageInstall prometheus -n tkg-system ext.packaging.carvel.dev/ytt-paths-from-secret-name.1=alertmanager-overlay
- インストール コマンドをもう一度実行します。
tanzu package install prometheus -p prometheus.tanzu.vmware.com -v 2.37.0+vmware.3-tkg.1 --values-file prometheus-data-values.yaml -n tanzu-system-monitoring
Prometheus ダッシュボードへのアクセス
Prometheus がインストールされたら、次の手順を実行して Prometheus ダッシュボードにアクセスします。
prometheus-data-values.yaml
ファイルのingress
セクションのすべての必須フィールドに値が入力されていることを確認します。ingress: enabled: true virtual_host_fqdn: "prometheus.system.tanzu" prometheus_prefix: "/" alertmanager_prefix: "/alertmanager/" prometheusServicePort: 80 alertmanagerServicePort: 80 #! [Optional] The certificate for the ingress if you want to use your own TLS certificate. #! We will issue the certificate by cert-manager when it's empty. tlsCertificate: #! [Required] the certificate tls.crt: #! [Required] the private key tls.key: #! [Optional] the CA certificate ca.crt:
- Envoy を使用する Contour ロード バランサのパブリック(外部)IP アドレスを取得します。
Envoy を使用する Contour のインストールを参照してください。
- 使用した Prometheus の FQDN(デフォルトは
prometheus.system.tanzu
)を Envoy ロード バランサの IP アドレスにマッピングする DNS レコードを作成します。 - ブラウザを使用して Prometheus の FQDN に移動して、Prometheus ダッシュボードにアクセスします。