-
Notifications
You must be signed in to change notification settings - Fork 343
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
2 changed files
with
113 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,41 @@ | ||
# NGINX Prometheus Exporter in Kubernetes | ||
|
||
This example shows how to run NGINX Prometheus Exporter in a Kubernetes cluster. | ||
|
||
## Prerequisites | ||
|
||
- [kubectl](https://kubernetes.io/docs/tasks/tools/#kubectl) installed. | ||
- [kind](https://kind.sigs.k8s.io/) installed. | ||
|
||
## Create a kind cluster | ||
|
||
You can create a kind cluster with the following command: | ||
|
||
```console | ||
kind create cluster | ||
``` | ||
|
||
For details, see the [kind documentation](https://kind.sigs.k8s.io/docs/user/quick-start/#creating-a-cluster). | ||
|
||
## Deploy the NGINX Hello application and NGINX Prometheus Exporter | ||
|
||
You can deploy the NGINX Hello application and NGINX Prometheus Exporter with the following command: | ||
|
||
```console | ||
kubectl apply -f nginx-hello.yaml | ||
``` | ||
|
||
## Configure port forwarding | ||
|
||
Port forwarding is used to access the NGINX Hello application and NGINX Prometheus Exporter from your local machine. | ||
|
||
You can configure port forwarding with the following command: | ||
|
||
```console | ||
kubectl port-forward service/nginx-demo 8080:80 9113:9113 | ||
``` | ||
|
||
## Verification | ||
|
||
You can access the NGINX Hello application at [http://localhost:8080](http://localhost:8080) and the | ||
NGINX Prometheus Exporter at [http://localhost:9113](http://localhost:9113). |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,72 @@ | ||
apiVersion: apps/v1 | ||
kind: Deployment | ||
metadata: | ||
labels: | ||
app.kubernetes.io/name: nginx-demo | ||
name: nginx-demo | ||
spec: | ||
replicas: 1 | ||
selector: | ||
matchLabels: | ||
app.kubernetes.io/name: nginx-demo | ||
template: | ||
metadata: | ||
labels: | ||
app.kubernetes.io/name: nginx-demo | ||
annotations: | ||
prometheus.io/scrape: "true" | ||
prometheus.io/port: "9113" | ||
spec: | ||
containers: | ||
- image: nginxdemos/hello:latest | ||
name: nginx-demo | ||
ports: | ||
- name: http | ||
containerPort: 80 | ||
volumeMounts: | ||
- name: config-volume | ||
mountPath: /etc/nginx/conf.d/status.conf | ||
subPath: status.conf | ||
- image: nginx/nginx-prometheus-exporter:latest | ||
name: nginx-prometheus-exporter | ||
args: | ||
- "--nginx.scrape-uri=http://localhost:8080/stub_status" | ||
ports: | ||
- name: metrics | ||
containerPort: 9113 | ||
volumes: | ||
- name: config-volume | ||
configMap: | ||
name: status-config | ||
--- | ||
apiVersion: v1 | ||
kind: Service | ||
metadata: | ||
name: nginx-demo | ||
spec: | ||
type: NodePort | ||
selector: | ||
app.kubernetes.io/name: nginx-demo | ||
ports: | ||
- port: 80 | ||
targetPort: 80 | ||
protocol: TCP | ||
name: http | ||
- port: 9113 | ||
targetPort: 9113 | ||
name: metrics | ||
--- | ||
apiVersion: v1 | ||
kind: ConfigMap | ||
metadata: | ||
name: status-config | ||
data: | ||
status.conf: |- | ||
server { | ||
listen 8080; | ||
location /stub_status { | ||
stub_status; | ||
} | ||
} |