Initial checkin

This commit is contained in:
Radar231 2021-08-01 21:12:31 -04:00
commit 973609b9ae
8 changed files with 194 additions and 0 deletions

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
nagios_secret.yml

6
README.md Normal file
View File

@ -0,0 +1,6 @@
# nagios k8s manifest
## Introduction
This deploys an nagios server.

60
nagios_deployment.yml Normal file
View File

@ -0,0 +1,60 @@
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: nagios
spec:
selector:
matchLabels:
app: nagios
replicas: 1
strategy:
type: Recreate
template:
metadata:
labels:
app: nagios
spec:
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: beta.kubernetes.io/arch
operator: In
values:
- amd64
containers:
- name: nagios
image: manios/nagios:4.4.6
env:
- name: PUID
value: "1000"
- name: PGID
value: "1000"
- name: TZ
value: "America/Toronto"
- name: NAGIOSADMIN_USER
value: "nagiosadmin"
- name: NAGIOSADMIN_PASS
valueFrom:
secretKeyRef:
name: nagios-pass
key: NAGIOS_PASSWD
ports:
- containerPort: 80
name: "nagios"
volumeMounts:
- name: nagios-etc
mountPath: "/opt/nagios/etc/"
- name: nagios-var
mountPath: "/opt/nagios/var/"
volumes:
- name: nagios-etc
persistentVolumeClaim:
claimName: nagios-etc-pvc
- name: nagios-var
persistentVolumeClaim:
claimName: nagios-var-pvc
# EOF

19
nagios_ingress.yml Normal file
View File

@ -0,0 +1,19 @@
---
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: nagios
annotations:
kubernetes.io/ingress.class: traefik
spec:
rules:
- host: nagios.lan
http:
paths:
- path: /
pathType: Prefix
backend:
serviceName: nagios
servicePort: 80
# EOF

41
nagios_pv.yml Normal file
View File

@ -0,0 +1,41 @@
---
apiVersion: v1
kind: PersistentVolume
metadata:
name: nagios-etc-pv
labels:
name: nagios-etc-pv
spec:
storageClassName: manual
capacity:
storage: 1Gi
accessModes:
- ReadWriteOnce
mountOptions:
- hard
- nfsvers=4.0
nfs:
server: 192.168.7.11
path: "/volume1/k8s-storage/nagios/etc"
---
apiVersion: v1
kind: PersistentVolume
metadata:
name: nagios-var-pv
labels:
name: nagios-var-pv
spec:
storageClassName: manual
capacity:
storage: 1Gi
accessModes:
- ReadWriteOnce
mountOptions:
- hard
- nfsvers=4.0
nfs:
server: 192.168.7.11
path: "/volume1/k8s-storage/nagios/var"
# EOF

37
nagios_pvc.yml Normal file
View File

@ -0,0 +1,37 @@
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: nagios-etc-pvc
labels:
app: nagios
spec:
accessModes:
- ReadWriteOnce
storageClassName: "manual"
resources:
requests:
storage: 1Gi
selector:
matchLabels:
name: nagios-etc-pv
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: nagios-var-pvc
labels:
app: nagios
spec:
accessModes:
- ReadWriteOnce
storageClassName: "manual"
resources:
requests:
storage: 1Gi
selector:
matchLabels:
name: nagios-var-pv
# EOF

16
nagios_secret.yml.tmpl Normal file
View File

@ -0,0 +1,16 @@
---
#############################################
# - creds for nagios
# - generate value using;
# echo -n '<text>' | base64
#############################################
apiVersion: v1
kind: Secret
metadata:
name: nagios-pass
data:
# plaintext pw = "xxxxxxx"
NAGIOS_PASSWD: xxxxxxx
# EOF

14
nagios_service.yml Normal file
View File

@ -0,0 +1,14 @@
---
apiVersion: v1
kind: Service
metadata:
name: nagios
spec:
ports:
- name: http80
port: 80
selector:
# apply service to any pod with label app: nginx
app: nagios
# EOF