add readme and kustomization.yaml to support kustomize deployments

This commit is contained in:
Kacey Gambill 2024-07-30 12:09:16 -06:00 committed by Kacey
parent c2ae4cdaf1
commit 7f7cefb3b7
No known key found for this signature in database
GPG key ID: 2921A404DF795009
2 changed files with 81 additions and 5 deletions

View file

@ -1,11 +1,69 @@
Example Deployment
==================
# Example Deployment
1. Make sure you've built the included Dockerfile with `TAG=latest make container`. The image should be tagged as `registry.k8s.io/prometheus-adapter/staging-prometheus-adapter:latest`.
2. `kubectl create namespace monitoring` to ensure that the namespace that we're installing
the custom metrics adapter in exists.
3. `kubectl create -f manifests/`, modifying the Deployment as necessary to
point to your Prometheus server, and the ConfigMap to contain your desired
metrics discovery configuration.
3. This can be deployed via `kubectl create -f manifests/` or via `kustomize`
a. if using `kubectl create -f manifests/` modify the Deployment as necessary to point to your Prometheus server, and the ConfigMap to contain your desired metrics discovery configuration.
b. if using `kustomize` reference the kustomization file located: `http://github.com/kubernetes-sigs/prometheus-adapter/deploy?ref=release-X.XX`
example kustomization.yaml:
```kustomization.yaml
---
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- github.com/kubernetes-sigs/prometheus-adapter/deploy?ref=release-X.XX
patches:
- path: deployment-patch.yaml
target:
kind: Deployment
version: v1
name: prometheus-adapter
namespace: monitoring
- path: configmap-patch.yaml
target:
kind: ConfigMap
version: v1
name: adapter-config
namespace: monitoring
```
```deployment-patch.yaml
kind: Deployment
apiVersion: apps/v1
metadata:
name: prometheus-adapter # deployment name to patch
namespace: monitoring
spec:
template:
spec:
containers:
- name: prometheus-adapter # name of container
args:
- --cert-dir=/var/run/serving-cert
- --config=/etc/adapter/config.yaml
- --metrics-relist-interval=1m
- --prometheus-url=http://prometheus.monitoring.svc.cluster.local:9090/ # prometheus URL
- --secure-port=6443
- --tls-cipher-suites=TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA,TLS_RSA_WITH_AES_128_GCM_SHA256,TLS_RSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA
```
```configmap-patch.yaml
kind: ConfigMap
apiVersion: v1
metadata:
labels:
app.kubernetes.io/component: metrics-adapter
app.kubernetes.io/name: prometheus-adapter
app.kubernetes.io/version: 0.12.0
name: adapter-config
namespace: monitoring
data:
config.yaml: |-
# your rules would go here
```

18
deploy/kustomization.yaml Normal file
View file

@ -0,0 +1,18 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
namespace: monitoring
resources:
- ./manifests/api-service.yaml
- ./manifests/cluster-role-aggregated-metrics-reader.yaml
- ./manifests/cluster-role-binding-delegator.yaml
- ./manifests/cluster-role-binding-hpa-custom-metrics.yaml
- ./manifests/cluster-role-binding.yaml
- ./manifests/cluster-role-metrics-server-resources.yaml
- ./manifests/cluster-role.yaml
- ./manifests/config-map.yaml
- ./manifests/deployment.yaml
- ./manifests/network-policy.yaml
- ./manifests/pod-disruption-budget.yaml
- ./manifests/role-binding-auth-reader.yaml
- ./manifests/service-account.yaml
- ./manifests/service.yaml