apiVersion: apps/v1 kind: Deployment metadata: name: knot-dns-hidden-primary spec: replicas: 1 selector: matchLabels: app: knot-dns-hidden-primary template: metadata: labels: app: knot-dns-hidden-primary spec: containers: - name: knot-dns image: %IMAGE% ports: - name: dns-tcp containerPort: 8053 protocol: TCP - name: dns-udp containerPort: 8053 protocol: UDP env: - name: KNOT_USER value: "knot" volumeMounts: - name: knot-config mountPath: /etc/knot - name: knot-data mountPath: /var/lib/knot - name: knot-zones mountPath: /var/lib/knot/zones resources: requests: memory: "128Mi" cpu: "100m" limits: memory: "512Mi" cpu: "500m" livenessProbe: tcpSocket: port: 8053 initialDelaySeconds: 30 periodSeconds: 10 readinessProbe: tcpSocket: port: 8053 initialDelaySeconds: 5 periodSeconds: 5 volumes: - name: knot-config persistentVolumeClaim: claimName: knot-dns-config - name: knot-data persistentVolumeClaim: claimName: knot-dns-data - name: knot-zones persistentVolumeClaim: claimName: knot-dns-zones --- apiVersion: v1 kind: Service metadata: name: knot-dns-hidden-primary spec: type: LoadBalancer selector: app: knot-dns-hidden-primary ports: - name: dns-tcp port: 53 targetPort: 8053 protocol: TCP - name: dns-udp port: 53 targetPort: 8053 protocol: UDP --- apiVersion: v1 kind: PersistentVolumeClaim metadata: name: knot-dns-config spec: accessModes: - ReadWriteOnce resources: requests: storage: 100Mi --- apiVersion: v1 kind: PersistentVolumeClaim metadata: name: knot-dns-data spec: accessModes: - ReadWriteOnce resources: requests: storage: 1Gi --- apiVersion: v1 kind: PersistentVolumeClaim metadata: name: knot-dns-zones spec: accessModes: - ReadWriteOnce resources: requests: storage: 100Mi