Rancher and Domain Name Custimization

In this tutorial, we will introduce layer-7 load-balancing( external-DNS + DNS provider(BIND9) + Nginx ingress controller ).

Environment

OS: Ubuntu 18.04.5 LTS (Bionic Beaver)

Docker: Docker Engine - Community (or Enterprise) v19.0.13

Kubernetes: MicroK8s v1.9.3 or other kubernetes engine

Usage

You can follow the tutorial on external-dns official website or use the configuration files we provided in this repository.

BIND configuration

  • install bind9
sudo apt install -y bind9
  • use our configuration file or wirte one for your own setting
  • put etc_bind files to /etc/bind
  • put var_cache_bind files to /var/cache/bind, and set owner to bind
$ sudo chown -R bind:bind /var/cache/bind
  • start bind9
$ sudo service bind9 start

Install External-DNS

Nginx ingress controller

  • enable ingress on microk8s
microk8s enable ingress
  • set --publish-status-address to your DNS server IP address
kubectl edit daemonset.apps/nginx-ingress-microk8s-controller -n ingress

Contact Us

  • project link: MEC Middlebox
  • You are very welcome to report bugs, ask questions, or/and request supports. If there are any, please contact us via nems@g2.nctu.edu.tw.