commit 973609b9ae50ca52f7a7ff895f71405d8f8a2dd9 Author: Radar231 Date: Sun Aug 1 21:12:31 2021 -0400 Initial checkin diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..5b66a14 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +nagios_secret.yml diff --git a/README.md b/README.md new file mode 100644 index 0000000..b9e98e6 --- /dev/null +++ b/README.md @@ -0,0 +1,6 @@ +# nagios k8s manifest + +## Introduction + +This deploys an nagios server. + diff --git a/nagios_deployment.yml b/nagios_deployment.yml new file mode 100644 index 0000000..87eb9ff --- /dev/null +++ b/nagios_deployment.yml @@ -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 diff --git a/nagios_ingress.yml b/nagios_ingress.yml new file mode 100644 index 0000000..148e223 --- /dev/null +++ b/nagios_ingress.yml @@ -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 diff --git a/nagios_pv.yml b/nagios_pv.yml new file mode 100644 index 0000000..0644a21 --- /dev/null +++ b/nagios_pv.yml @@ -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 diff --git a/nagios_pvc.yml b/nagios_pvc.yml new file mode 100644 index 0000000..dad62de --- /dev/null +++ b/nagios_pvc.yml @@ -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 diff --git a/nagios_secret.yml.tmpl b/nagios_secret.yml.tmpl new file mode 100644 index 0000000..f25c0e5 --- /dev/null +++ b/nagios_secret.yml.tmpl @@ -0,0 +1,16 @@ +--- +############################################# +# - creds for nagios +# - generate value using; +# echo -n '' | base64 +############################################# + +apiVersion: v1 +kind: Secret +metadata: + name: nagios-pass +data: + # plaintext pw = "xxxxxxx" + NAGIOS_PASSWD: xxxxxxx + +# EOF diff --git a/nagios_service.yml b/nagios_service.yml new file mode 100644 index 0000000..095c11d --- /dev/null +++ b/nagios_service.yml @@ -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