1.6.3. Alertmanager からサードパーティーのエンドポイントへの通信を保護する
Kubernetes Secret リソースを通じて認証情報をセキュアかつ管理可能な状態に保つことで、Alertmanager から Slack、メール、PagerDuty などのサードパーティーのエンドポイントへのセキュアな外部通信を有効にします。認可認証情報にアクセスするには、alertmanager Pod 内にマウントできる任意のコンテンツを含む Secret リソースを作成できます。
Alertmanager 設定内のシークレットを参照するには、open-cluster-management-observability namespace 内に Secret リソースコンテンツを追加し、alertmanager Pod 内にコンテンツをマウントします。たとえば、tls シークレットを作成してマウントするには、次の手順を実行します。
TLS 証明書を使用して
tlsシークレットを作成するには、次のコマンドを実行します。oc create secret tls tls --cert=</path/to/cert.crt> --key=</path/to/cert.key> -n open-cluster-management-observabilitytlsシークレットをMultiClusterObservabilityリソースにマウントするには、それをadvancedセクションに追加します。リソースは以下の内容のようになります。... advanced: alertmanager: secrets: ['tls']Alertmanager 設定内に
tlsシークレットの参照を追加するには、シークレットのパスを設定に追加します。リソースは、以下の設定のようになります。tls_config: cert_file: '/etc/alertmanager/secrets/tls/tls.crt' key_file: '/etc/alertmanager/secrets/tls/tls.key'シークレットが
alertmanagerPod 内にあることを確認するには、次のコマンドを実行します。oc -n open-cluster-management-observability get secret alertmanager-config --template='{{ index .data "alertmanager.yaml" }}' |base64 -d > alertmanager.yamlYAML の内容は次のようになります。
"global": "http_config": "tls_config": "cert_file": "/etc/alertmanager/secrets/storyverify/tls.crt" "key_file": "/etc/alertmanager/secrets/storyverify/tls.key"alertmanager.yaml設定をalertmanager-configシークレットに保存するには、以下のコマンドを実行します。oc -n open-cluster-management-observability create secret generic alertmanager-config --from-file=alertmanager.yaml --dry-run -o=yaml以前のシークレットを新しいシークレットに置き換えるには、次のコマンドを実行します。
oc -n open-cluster-management-observability replace secret --filename=-