Skip to content

Commit

Permalink
chore: Alphabetically sort cloud offerings for Prometheus scaler (#1297)
Browse files Browse the repository at this point in the history
  • Loading branch information
tomkerkhove authored Jan 18, 2024
1 parent 248161f commit 535be78
Showing 1 changed file with 24 additions and 12 deletions.
36 changes: 24 additions & 12 deletions content/docs/2.13/scalers/prometheus.md
Original file line number Diff line number Diff line change
Expand Up @@ -72,15 +72,6 @@ You can use `TriggerAuthentication` CRD to configure the authentication. It is p
### Integrating Cloud offerings

#### Azure Monitor Managed Service for Prometheus

Azure has a [managed service for Prometheus](https://learn.microsoft.com/en-us/azure/azure-monitor/essentials/prometheus-metrics-overview) and Prometheus scaler can be used to run prometheus query against that.
- [Azure AD Pod Identity](https://docs.microsoft.com/en-us/azure/aks/use-azure-ad-pod-identity) or [Azure AD Workload Identity](https://azure.github.io/azure-workload-identity/docs/) providers can be used in `authenticationRef` - see later in example.
- `Monitoring Data Reader` role needs to be assigned to workload identity (or pod identity) on the `Azure Monitor Workspace`.
- No other auth (via `authModes`) can be provided with Azure Pod/Workload Identity Auth.
- Prometheus query endpoint can be retreived from [Azure Monitor Workspace](https://learn.microsoft.com/en-us/azure/azure-monitor/essentials/azure-monitor-workspace-overview) that was configured to ingest prometheus metrics.


#### Amazon Managed Service for Prometheus

Amazon Web Services (AWS) offers a [managed service for Prometheus](https://aws.amazon.com/prometheus/) that provides a scalable and secure Prometheus deployment. The Prometheus scaler can be used to run Prometheus queries against this managed service.
Expand All @@ -92,7 +83,19 @@ Amazon Web Services (AWS) offers a [managed service for Prometheus](https://aws.

Using the managed service eliminates the operational burden of running your own Prometheus servers. Queries can be executed against a fully managed, auto-scaling Prometheus deployment on AWS. Costs scale linearly with usage.

#### Google Managed for Prometheus
To gain a better understanding of creating a Prometheus trigger for Amazon Managed Service for Prometheus, refer to [this example](#example-amazon-managed-service-for-prometheus-amp).

#### Azure Monitor Managed Service for Prometheus

Azure has a [managed service for Prometheus](https://learn.microsoft.com/en-us/azure/azure-monitor/essentials/prometheus-metrics-overview) and Prometheus scaler can be used to run prometheus query against that.
- [Azure AD Pod Identity](https://docs.microsoft.com/en-us/azure/aks/use-azure-ad-pod-identity) or [Azure AD Workload Identity](https://azure.github.io/azure-workload-identity/docs/) providers can be used in `authenticationRef` - see later in example.
- `Monitoring Data Reader` role needs to be assigned to workload identity (or pod identity) on the `Azure Monitor Workspace`.
- No other auth (via `authModes`) can be provided with Azure Pod/Workload Identity Auth.
- Prometheus query endpoint can be retreived from [Azure Monitor Workspace](https://learn.microsoft.com/en-us/azure/azure-monitor/essentials/azure-monitor-workspace-overview) that was configured to ingest prometheus metrics.

To gain a better understanding of creating a Prometheus trigger for Azure Monitor Managed Service for Prometheus, refer to [this example](#example-azure-monitor-managed-service-for-prometheus).

#### Google Managed Service for Prometheus

Google Cloud Platform provides a comprehensive [managed service for Prometheus](https://cloud.google.com/stackdriver/docs/managed-prometheus), enabling you to effortlessly export and query Prometheus metrics.
By utilizing Prometheus scaler, you can seamlessly integrate it with the GCP managed service and handle authentication using the GCP workload identity mechanism.
Expand Down Expand Up @@ -126,6 +129,8 @@ spec:
query: sum(rate(http_requests_total{deployment="my-deployment"}[2m]))
```
#### Example: Bearer Authentication
Here is an example of a prometheus scaler with Bearer Authentication, define the `Secret` and `TriggerAuthentication` as follows

```yaml
Expand Down Expand Up @@ -175,6 +180,8 @@ spec:
name: keda-prom-creds
```

#### Example: Basic Authentication

Here is an example of a prometheus scaler with Basic Authentication, define the `Secret` and `TriggerAuthentication` as follows

```yaml
Expand Down Expand Up @@ -223,6 +230,7 @@ spec:
name: keda-prom-creds
```

#### Example: TLS Authentication

Here is an example of a prometheus scaler with TLS Authentication, define the `Secret` and `TriggerAuthentication` as follows

Expand Down Expand Up @@ -276,6 +284,8 @@ spec:
name: keda-prom-creds
```

#### Example: TLS & Basic Authentication

Here is an example of a prometheus scaler with TLS and Basic Authentication, define the `Secret` and `TriggerAuthentication` as follows

```yaml
Expand Down Expand Up @@ -336,6 +346,8 @@ spec:
name: keda-prom-creds
```

#### Example: Custom Authentication

Here is an example of a prometheus scaler with Custom Authentication, define the `Secret` and `TriggerAuthentication` as follows

```yaml
Expand Down Expand Up @@ -385,6 +397,8 @@ spec:
name: keda-prom-creds
```

#### Example: Azure Monitor Managed Service for Prometheus

Here is an example of a prometheus scaler with Azure Pod Identity and Azure Workload Identity, define the `TriggerAuthentication` and `ScaledObject` as follows

```yaml
Expand Down Expand Up @@ -417,8 +431,6 @@ spec:
authenticationRef:
name: azure-managed-prometheus-trigger-auth
```


#### Example: Amazon Managed Service for Prometheus (AMP)

Below is an example showcasing the use of Prometheus scaler with AWS EKS Pod Identity. Please note that in this particular example, the Deployment is named as `keda-deploy`. Also replace the AwsRegion and AMP WorkspaceId for your requirements.
Expand Down

0 comments on commit 535be78

Please sign in to comment.