Created
December 30, 2019 17:32
-
-
Save krisclarkdev/f5c4267052ae2b25418c88b30a2f3b84 to your computer and use it in GitHub Desktop.
Revisions
-
Kristopher Clark created this gist
Dec 30, 2019 .There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,146 @@ --- apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: local provisioner: kubernetes.io/no-provisioner volumeBindingMode: WaitForFirstConsumer --- apiVersion: v1 kind: PersistentVolume metadata: name: pihole-local-etc-volume labels: directory: etc spec: capacity: storage: 1Gi accessModes: - ReadWriteOnce persistentVolumeReclaimPolicy: Delete storageClassName: local local: path: /usr/local nodeAffinity: required: nodeSelectorTerms: - matchExpressions: - key: kubernetes.io/hostname operator: In values: - k8s-01 --- apiVersion: v1 kind: PersistentVolumeClaim metadata: name: pihole-local-etc-claim spec: storageClassName: local accessModes: - ReadWriteOnce resources: requests: storage: 1Gi selector: matchLabels: directory: etc --- apiVersion: v1 kind: PersistentVolume metadata: name: pihole-local-dnsmasq-volume labels: directory: dnsmasq.d spec: capacity: storage: 1Gi accessModes: - ReadWriteOnce persistentVolumeReclaimPolicy: Delete storageClassName: local local: path: /usr/local nodeAffinity: required: nodeSelectorTerms: - matchExpressions: - key: kubernetes.io/hostname operator: In values: - k8s-01 --- apiVersion: v1 kind: PersistentVolumeClaim metadata: name: pihole-local-dnsmasq-claim spec: storageClassName: local accessModes: - ReadWriteOnce resources: requests: storage: 500Mi selector: matchLabels: directory: dnsmasq.d --- apiVersion: apps/v1 kind: Deployment metadata: name: pihole labels: app: pihole spec: replicas: 1 selector: matchLabels: app: pihole template: metadata: labels: app: pihole name: pihole spec: containers: - name: pihole image: pihole/pihole:latest imagePullPolicy: Always env: - name: TZ value: "America/Chicago" - name: WEBPASSWORD value: "secret" volumeMounts: - name: pihole-local-etc-volume mountPath: "/etc/pihole" - name: pihole-local-dnsmasq-volume mountPath: "/etc/dnsmasq.d" volumes: - name: pihole-local-etc-volume persistentVolumeClaim: claimName: pihole-local-etc-claim - name: pihole-local-dnsmasq-volume persistentVolumeClaim: claimName: pihole-local-dnsmasq-claim --- apiVersion: v1 kind: Service metadata: name: pihole spec: selector: app: pihole ports: - port: 8000 targetPort: 80 name: pihole-admin - port: 53 targetPort: 53 protocol: TCP name: dns-tcp - port: 53 targetPort: 53 protocol: UDP name: dns-udp externalIPs: - 192.168.1.171