Giter VIP home page Giter VIP logo

powerdns-helm's Introduction

Helm Chart for PowerDNS

  • Installs a PowerDNS authoritative nameserver inside a Kubernetes cluster

TL;DR;

$ git clone https://github.com/cdwv/powerdns-helm
$ cd powerdns-helm
$ helm install .

Note: This will leave you with a PowerDNS server deployed to your k8s cluster. You will also need to configure some means of accesibility from the outside world for the DNS server to be accesible. You can do it e.g. by modifying your nginx-ingress-controller.

Installing the Chart

To install the chart with the release name my-release:

$ helm install --name my-release .

Uninstalling the Chart

To uninstall/delete the my-release deployment:

$ helm delete my-release

The command removes all the Kubernetes components associated with the chart and deletes the release.

Configuration

PowerDNS

Parameter Description Default
pdns.api.enabled Should the PowerDNS API be enabled yes
pdns.api.key PowerDNS API key PowerDNSAPI
pdns.webserver.allowFrom PowerDNS webserver allowed IP whitelist 0.0.0.0/0
pdns.dnsupdate.enabled Should DNS UPDATE support be enabled no
replicaCount Number of pdns nodes 1
image.repository Image repository psitrax/powerdns
image.tag Image tag. 4.1.2
image.pullPolicy Image pull policy IfNotPresent
service.type Kubernetes service type ClusterIP
ingress.enabled Enables Ingress false
ingress.annotations Ingress annotations {}
ingress.path Custom path /
ingress.hosts Ingress accepted hostnames chart-example.local
ingress.tls Ingress TLS configuration []
resources CPU/Memory resource limits/requests {}
nodeSelector Node labels for pod assignment {}
tolerations Toleration labels for pod assignment []
affinity Affinity settings for pod assignment {}
mariadb.enabled Deploy MariaDB container(s) true
mariadb.mariadbRootPassword MariaDB admin password nil
mariadb.mariadbDatabase Database name to create powerdns
mariadb.mariadbUser Database user to create powerdns
mariadb.mariadbPassword Password for the database powerdns
mariadb.persistence.enabled Enable persistence using PVC false
mariadb.persistence.existingClaim Enable persistence using an existing PVC nil
mariadb.persistence.storageClass PVC Storage Class nil (uses alpha storage class annotation)
mariadb.persistence.accessMode PVC Access Mode ReadWriteOnce
mariadb.persistence.size PVC Storage Request 2Gi
mariadb.serviceDiscovery Discovery of mariadb service. One of: dns, env dns

Modifications to nginx-ingress

General steps are outlined below. You can consult the files in the nginx-ingress folder for more information.

  1. Patch the nginx-ingress deployment to add UDP services (--udp-services-configmap=nginx-ingress/udp-ports)
  2. Add udp-ports configmap to nginx-ingress namespace
  3. Add a UDP loadbalancer service

TODO

License

Creative Commons License
powerdns-helm by CodeWave is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License.

Maintainers

Project is currently maintained, in our spare time, by codewave.eu and a growing number of Contributors!

powerdns-helm's People

Contributors

andrzejwp avatar dionysius avatar invidian avatar kiall avatar wagnst avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

powerdns-helm's Issues

Error: unable to build kubernetes objects from release manifest: [unable to recognize "": no matches for kind "Deployment" in version "extensions/v1beta1", unable to recognize "": no matches for kind "Deployment" in version "apps/v1beta2"]

An error occurs

root@master0:/home/user/powerdns-helm# helm install powerdns . 
Error: unable to build kubernetes objects from release manifest: [unable to recognize "": no matches for kind "Deployment" in version "extensions/v1beta1", unable to recognize "": no matches for kind "Deployment" in version "apps/v1beta2"]

How to fix it?

Traefik Ingress Examples?

Has anyone been able to get this chart to work with Traefik? In lab environment I'm with K3s with Traefik Helm chart 9.18.2 trying to have PowerDNS provide DNS for the lab. PowerDNS seems like it is running fine. But clearly I'm not routing 53 correctly.

Something with the ingress I'm sure.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.