Skip to content

Commit

Permalink
preping for test prometheus
Browse files Browse the repository at this point in the history
  • Loading branch information
mrpbennett committed Mar 12, 2024
1 parent 6e80a36 commit 8b0de65
Show file tree
Hide file tree
Showing 4 changed files with 244 additions and 33 deletions.
18 changes: 9 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -49,17 +49,17 @@ This Git repository contains the following directories under [kubernetes](./kube

```sh
📁 kubernetes
├── 📁 apps # application directory
│ ├── 📁 helm # applicatios deployed by helm charts
│ │ └── 📁 app
│ │ └── helm-deployment.yml
│ ├── 📁 app # applicatoins by manifests
│ │ └── deployment.yml
├── 📁 apps # application directory
│ └── 📁 application # example application deployment
│ ├── configmap.yml
│ ├── service.yml
│ └── deployment.yaml
├── argo-root.yml
├── 📁 networking # default networking manifests
├── 📁 networking # default networking manifests
│ └── default-ingressclass.yml
└── 📁 registry # application registry
└── application.yml
└── 📁 registry # application registry
├── 📁 helm # helm deployments via argocd
└── kubevip.yml
```

My `argo-root.yml` argocd application checks for changes in `kubernetes/registry` for new `Application` manifests. That application then checks in the `apps` directory, and then deploys the app like the below:
Expand Down
8 changes: 4 additions & 4 deletions docs/kube-vip.txt
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
xxx
cxx


Pick your VIP ahead of time

# FIRST SERVER
curl -sfL https://get.k3s.io | K3S_TOKEN=xxx sh -s - server \
curl -sfL https://get.k3s.io | K3S_TOKEN=cxx sh -s - server \
--cluster-init \
--disable=traefik \
--disable=servicelb \
Expand Down Expand Up @@ -48,15 +48,15 @@ kubectl create configmap -n kube-system kubevip --from-literal range-global=192.


# ADDIONTAL SERVER
curl -sfL https://get.k3s.io | K3S_TOKEN=xxx sh -s - server \
curl -sfL https://get.k3s.io | K3S_TOKEN=cxx sh -s - server \
--server https://192.168.6.1:6443 \
--disable=traefik \
--disable=servicelb \
--tls-san=192.168.6.10 # Optional, needed if using a fixed registration address


# AGENT
curl -sfL https://get.k3s.io | K3S_TOKEN=xxx sh -s - agent --server https://192.168.6.1:6443
curl -sfL https://get.k3s.io | K3S_TOKEN=cxx sh -s - agent --server https://192.168.6.1:6443

# KUBE CONF

Expand Down
36 changes: 16 additions & 20 deletions kube-test/registry/helm/prometheus-community.yml
Original file line number Diff line number Diff line change
Expand Up @@ -82,11 +82,10 @@ spec:
kubeControllerManager:
enabled: true
endpoints: # ips of servers
- 192.168.5.1
- 192.168.5.2
- 192.168.5.3
- 192.168.5.4
- 192.168.5.5
- 192.168.6.1
- 192.168.6.2
- 192.168.6.3
coreDns:
enabled: true
Expand All @@ -97,11 +96,10 @@ spec:
kubeEtcd:
enabled: true
endpoints: # ips of servers
- 192.168.5.1
- 192.168.5.2
- 192.168.5.3
- 192.168.5.4
- 192.168.5.5
- 192.168.6.1
- 192.168.6.2
- 192.168.6.3
service:
enabled: true
port: 2381
Expand All @@ -110,20 +108,18 @@ spec:
kubeScheduler:
enabled: true
endpoints: # ips of servers
- 192.168.5.1
- 192.168.5.2
- 192.168.5.3
- 192.168.5.4
- 192.168.5.5
- 192.168.6.1
- 192.168.6.2
- 192.168.6.3
kubeProxy:
enabled: true
endpoints: # ips of servers
- 192.168.5.1
- 192.168.5.2
- 192.168.5.3
- 192.168.5.4
- 192.168.5.5
- 192.168.6.1
- 192.168.6.2
- 192.168.6.3
kubeStateMetrics:
enabled: true
Expand Down
215 changes: 215 additions & 0 deletions kubernetes/registry/helm/prometheus-community.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,215 @@
apiVersion: v1
kind: Namespace
metadata:
name: monitoring
---
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: kube-prometheus-stack
namespace: argocd
spec:
project: default
source:
repoURL: "https://prometheus-community.github.io/helm-charts"
targetRevision: 57.0.1
chart: kube-prometheus-stack
helm:
values: |
fullnameOverride: prometheus
defaultRules:
create: true
rules:
alertmanager: true
etcd: true
configReloaders: true
general: true
k8s: true
kubeApiserverAvailability: true
kubeApiserverBurnrate: true
kubeApiserverHistogram: true
kubeApiserverSlos: true
kubelet: true
kubeProxy: true
kubePrometheusGeneral: true
kubePrometheusNodeRecording: true
kubernetesApps: true
kubernetesResources: true
kubernetesStorage: true
kubernetesSystem: true
kubeScheduler: true
kubeStateMetrics: true
network: true
node: true
nodeExporterAlerting: true
nodeExporterRecording: true
prometheus: true
prometheusOperator: true
alertmanager:
fullnameOverride: alertmanager
enabled: true
ingress:
enabled: false
grafana:
enabled: true
fullnameOverride: grafana
forceDeployDatasources: false
forceDeployDashboards: false
defaultDashboardsEnabled: true
defaultDashboardsTimezone: utc
serviceMonitor:
enabled: true
admin:
existingSecret: grafana-admin-credentials
userKey: admin-user
passwordKey: admin-password
kubeApiServer:
enabled: true
kubelet:
enabled: true
serviceMonitor:
metricRelabelings:
- action: replace
sourceLabels:
- node
targetLabel: instance
kubeControllerManager:
enabled: true
endpoints: # ips of servers
- 192.168.5.1
- 192.168.5.2
- 192.168.5.3
- 192.168.5.4
- 192.168.5.5
coreDns:
enabled: true
kubeDns:
enabled: false
kubeEtcd:
enabled: true
endpoints: # ips of servers
- 192.168.5.1
- 192.168.5.2
- 192.168.5.3
- 192.168.5.4
- 192.168.5.5
service:
enabled: true
port: 2381
targetPort: 2381
kubeScheduler:
enabled: true
endpoints: # ips of servers
- 192.168.5.1
- 192.168.5.2
- 192.168.5.3
- 192.168.5.4
- 192.168.5.5
kubeProxy:
enabled: true
endpoints: # ips of servers
- 192.168.5.1
- 192.168.5.2
- 192.168.5.3
- 192.168.5.4
- 192.168.5.5
kubeStateMetrics:
enabled: true
kube-state-metrics:
fullnameOverride: kube-state-metrics
selfMonitor:
enabled: true
prometheus:
monitor:
enabled: true
relabelings:
- action: replace
regex: (.*)
replacement: $1
sourceLabels:
- __meta_kubernetes_pod_node_name
targetLabel: kubernetes_node
nodeExporter:
enabled: true
serviceMonitor:
relabelings:
- action: replace
regex: (.*)
replacement: $1
sourceLabels:
- __meta_kubernetes_pod_node_name
targetLabel: kubernetes_node
prometheus-node-exporter:
fullnameOverride: node-exporter
podLabels:
jobLabel: node-exporter
extraArgs:
- --collector.filesystem.mount-points-exclude=^/(dev|proc|sys|var/lib/docker/.+|var/lib/kubelet/.+)($|/)
- --collector.filesystem.fs-types-exclude=^(autofs|binfmt_misc|bpf|cgroup2?|configfs|debugfs|devpts|devtmpfs|fusectl|hugetlbfs|iso9660|mqueue|nsfs|overlay|proc|procfs|pstore|rpc_pipefs|securityfs|selinuxfs|squashfs|sysfs|tracefs)$
service:
portName: http-metrics
prometheus:
monitor:
enabled: true
relabelings:
- action: replace
regex: (.*)
replacement: $1
sourceLabels:
- __meta_kubernetes_pod_node_name
targetLabel: kubernetes_node
resources:
requests:
memory: 512Mi
cpu: 250m
limits:
memory: 2048Mi
prometheusOperator:
enabled: true
prometheusConfigReloader:
resources:
requests:
cpu: 200m
memory: 50Mi
limits:
memory: 100Mi
prometheus:
enabled: true
prometheusSpec:
replicas: 1
replicaExternalLabelName: "replica"
ruleSelectorNilUsesHelmValues: false
serviceMonitorSelectorNilUsesHelmValues: false
podMonitorSelectorNilUsesHelmValues: false
probeSelectorNilUsesHelmValues: false
retention: 6h
enableAdminAPI: true
walCompression: true
thanosRuler:
enabled: false
destination:
server: "https://kubernetes.default.svc"
namespace: monitoring
syncPolicy:
automated:
selfHeal: true
prune: true

0 comments on commit 8b0de65

Please sign in to comment.