Compare commits
No commits in common. "f09c1ec86bc3c8cd752f2cd9f1a2e26d931266ee" and "ccac1f1b86f353d49ab27fa51deb0982d926ee3b" have entirely different histories.
f09c1ec86b
...
ccac1f1b86
16 changed files with 41 additions and 170 deletions
19
README.md
19
README.md
|
|
@ -6,28 +6,11 @@ Underlying Kubernetes cluster components for [KISSJ](https://github.com/skautdev
|
|||
|
||||
- namespaces
|
||||
- `kissj-db`
|
||||
- `kissj-dev`
|
||||
- `kissj-prod`
|
||||
- `kissj-staging`
|
||||
- `kissj-monitoring`
|
||||
- PostgreSQL instance
|
||||
- monitoring
|
||||
- Prometheus
|
||||
- AlertManager
|
||||
- Grafana
|
||||
- blackbox exporter
|
||||
|
||||
## Security
|
||||
|
||||
- Users
|
||||
- lung
|
||||
- majkl
|
||||
|
||||
## Monitoring
|
||||
|
||||
As mentione before in [components](#components), the monitoring consists of:
|
||||
- [Prometheus](https://prometheus.monitoring.kissj.net)
|
||||
- [AlertManager](https://alertmanager.monitoring.kissj.net)
|
||||
- [Grafana](https://grafana.monitoring.kissj.net)
|
||||
|
||||
To monitor everything, we also deploy [prometheus/blackbox_exporter](https://github.com/prometheus/blackbox_exporter) to monitor the overall availability of the site.
|
||||
- ServiceAccounts
|
||||
|
|
|
|||
|
|
@ -1,18 +0,0 @@
|
|||
apiVersion: argoproj.io/v1alpha1
|
||||
kind: Application
|
||||
metadata:
|
||||
name: kissj-production-quotas
|
||||
namespace: argocd
|
||||
spec:
|
||||
destination:
|
||||
namespace: kissj-production
|
||||
server: https://kubernetes.default.svc
|
||||
project: kissj
|
||||
source:
|
||||
path: quotas/production
|
||||
repoURL: https://gitlab.mareshq.com/gitops/skautdevs/kissj.git
|
||||
targetRevision: HEAD
|
||||
syncPolicy:
|
||||
automated:
|
||||
prune: true
|
||||
selfHeal: true
|
||||
|
|
@ -1,18 +0,0 @@
|
|||
apiVersion: argoproj.io/v1alpha1
|
||||
kind: Application
|
||||
metadata:
|
||||
name: kissj-staging-quotas
|
||||
namespace: argocd
|
||||
spec:
|
||||
destination:
|
||||
namespace: kissj-staging
|
||||
server: https://kubernetes.default.svc
|
||||
project: kissj
|
||||
source:
|
||||
path: quotas/staging
|
||||
repoURL: https://gitlab.mareshq.com/gitops/skautdevs/kissj.git
|
||||
targetRevision: HEAD
|
||||
syncPolicy:
|
||||
automated:
|
||||
prune: true
|
||||
selfHeal: true
|
||||
|
|
@ -2,8 +2,5 @@ dependencies:
|
|||
- name: kube-prometheus-stack
|
||||
repository: https://prometheus-community.github.io/helm-charts
|
||||
version: 39.11.0
|
||||
- name: prometheus-blackbox-exporter
|
||||
repository: https://prometheus-community.github.io/helm-charts
|
||||
version: 7.0.0
|
||||
digest: sha256:7a9382529ff259e31426aa23cf9eea9a0dc5fe7d6950339133bc78bcb310fa30
|
||||
generated: "2022-09-03T16:06:15.239791+02:00"
|
||||
digest: sha256:2000f95ea7c9e6ac6ec0cc0ed3f08ee6adebf5e3ad383a0e8d89d80ab61439eb
|
||||
generated: "2022-09-03T10:54:33.34106+02:00"
|
||||
|
|
|
|||
|
|
@ -9,6 +9,3 @@ dependencies:
|
|||
- name: kube-prometheus-stack
|
||||
version: 39.11.0
|
||||
repository: https://prometheus-community.github.io/helm-charts
|
||||
- name: prometheus-blackbox-exporter
|
||||
version: 7.0.0
|
||||
repository: https://prometheus-community.github.io/helm-charts
|
||||
|
|
|
|||
|
|
@ -13,27 +13,6 @@ kube-prometheus-stack:
|
|||
kubeStateMetrics:
|
||||
enabled: false
|
||||
|
||||
kubeApiServer:
|
||||
enabled: false
|
||||
|
||||
kubelet:
|
||||
enabled: false
|
||||
|
||||
kubeControllerManager:
|
||||
enabled: false
|
||||
|
||||
coreDns:
|
||||
enabled: false
|
||||
|
||||
kubeScheduler:
|
||||
enabled: false
|
||||
|
||||
kubeProxy:
|
||||
enabled: false
|
||||
|
||||
defaultRules:
|
||||
create: false
|
||||
|
||||
prometheus:
|
||||
prometheusSpec:
|
||||
serviceMonitorSelectorNilUsesHelmValues: false
|
||||
|
|
@ -117,5 +96,34 @@ kube-prometheus-stack:
|
|||
serviceMonitor:
|
||||
selfMonitor: true
|
||||
|
||||
prometheus-blackbox-exporter:
|
||||
fullnameOverride: kissj-blackbox-exporter
|
||||
# This AM is for KISSJ, cluster components are monitored by different instance
|
||||
kubeApiServer:
|
||||
enabled: false
|
||||
|
||||
kubelet:
|
||||
enabled: false
|
||||
|
||||
kubeControllerManager:
|
||||
enabled: false
|
||||
|
||||
coreDns:
|
||||
enabled: false
|
||||
|
||||
kubeScheduler:
|
||||
enabled: false
|
||||
|
||||
kubeProxy:
|
||||
enabled: false
|
||||
|
||||
kubeStateMetrics:
|
||||
enabled: false
|
||||
|
||||
nodeExporter:
|
||||
enabled: false
|
||||
|
||||
prometheusOperator:
|
||||
serviceMonitor:
|
||||
selfMonitor: false
|
||||
|
||||
defaultRules:
|
||||
create: false
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
apiVersion: v1
|
||||
kind: Namespace
|
||||
metadata:
|
||||
name: kissj-production
|
||||
name: kissj-dev
|
||||
labels:
|
||||
prometheus: kissj
|
||||
6
namespaces/kissj-prod.yml
Normal file
6
namespaces/kissj-prod.yml
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
apiVersion: v1
|
||||
kind: Namespace
|
||||
metadata:
|
||||
name: kissj-prod
|
||||
labels:
|
||||
prometheus: kissj
|
||||
|
|
@ -1,10 +0,0 @@
|
|||
apiVersion: v1
|
||||
kind: ResourceQuota
|
||||
metadata:
|
||||
name: compute-resources
|
||||
spec:
|
||||
hard:
|
||||
requests.cpu: 6000m
|
||||
requests.memory: 16384Mi
|
||||
limits.cpu: 8000m
|
||||
limits.memory: 20480Mi
|
||||
|
|
@ -1,13 +0,0 @@
|
|||
apiVersion: v1
|
||||
kind: ResourceQuota
|
||||
metadata:
|
||||
name: kube-objects
|
||||
spec:
|
||||
hard:
|
||||
count/deployments.apps: "5"
|
||||
count/statefulsets.apps: "0"
|
||||
count/cronjobs.batch: "0"
|
||||
count/jobs.batch: "5"
|
||||
count/pods: "50"
|
||||
|
||||
count/persistentvolumeclaims: "1"
|
||||
|
|
@ -1,9 +0,0 @@
|
|||
|
||||
apiVersion: v1
|
||||
kind: ResourceQuota
|
||||
metadata:
|
||||
name: network
|
||||
spec:
|
||||
hard:
|
||||
services.loadbalancers: "0"
|
||||
services.nodeports: "0"
|
||||
|
|
@ -1,10 +0,0 @@
|
|||
apiVersion: v1
|
||||
kind: ResourceQuota
|
||||
metadata:
|
||||
name: storage
|
||||
spec:
|
||||
hard:
|
||||
requests.storage: 1Gi
|
||||
persistentvolumeclaims: "3"
|
||||
local-path.storageclass.storage.k8s.io/requests.storage: 0Mi
|
||||
local-path.storageclass.storage.k8s.io/persistentvolumeclaims: "0"
|
||||
|
|
@ -1,10 +0,0 @@
|
|||
apiVersion: v1
|
||||
kind: ResourceQuota
|
||||
metadata:
|
||||
name: compute-resources
|
||||
spec:
|
||||
hard:
|
||||
requests.cpu: 800m
|
||||
requests.memory: 1536Mi
|
||||
limits.cpu: 1200m
|
||||
limits.memory: 2048Mi
|
||||
|
|
@ -1,13 +0,0 @@
|
|||
apiVersion: v1
|
||||
kind: ResourceQuota
|
||||
metadata:
|
||||
name: kube-objects
|
||||
spec:
|
||||
hard:
|
||||
count/deployments.apps: "5"
|
||||
count/statefulsets.apps: "0"
|
||||
count/cronjobs.batch: "0"
|
||||
count/jobs.batch: "5"
|
||||
count/pods: "20"
|
||||
|
||||
count/persistentvolumeclaims: "1"
|
||||
|
|
@ -1,9 +0,0 @@
|
|||
|
||||
apiVersion: v1
|
||||
kind: ResourceQuota
|
||||
metadata:
|
||||
name: network
|
||||
spec:
|
||||
hard:
|
||||
services.loadbalancers: "0"
|
||||
services.nodeports: "0"
|
||||
|
|
@ -1,10 +0,0 @@
|
|||
apiVersion: v1
|
||||
kind: ResourceQuota
|
||||
metadata:
|
||||
name: storage
|
||||
spec:
|
||||
hard:
|
||||
requests.storage: 1Gi
|
||||
persistentvolumeclaims: "3"
|
||||
local-path.storageclass.storage.k8s.io/requests.storage: 0Mi
|
||||
local-path.storageclass.storage.k8s.io/persistentvolumeclaims: "0"
|
||||
Reference in a new issue