Installation - polaris-gslb/polaris-gslb GitHub Wiki

Dependencies

  • PowerDNS Authoritative Server + remote backend.
  • memcache
  • Python3.4.3+
  • pyyaml
  • python-memcached
  • python-daemon-3K

CentOS 7 dependencies installation example

yum install -y epel-release
yum install -y python34 python34-pip python34-PyYAML pdns pdns-backend-remote memcached
pip3 install python3-memcached python-daemon-3K

Install Polaris GSLB

git clone https://github.com/polaris-gslb/polaris-gslb.git
cd polaris-gslb
python3 setup.py install

This should also install pyyaml, python-memcached and python-daemon-3K libraries via PIP.

The following files are created:

/opt/polaris/
├── bin
│   ├── check-pdns
│   ├── polaris-health
│   ├── polaris-health-control
│   ├── polaris-memcache-control
│   ├── polaris-pdns
│   └── polaris-pdns-control
├── etc
│   ├── pdns.conf.dist
│   ├── polaris-health.yaml.dist
│   ├── polaris-lb.yaml.dist
│   ├── polaris-pdns.yaml.dist
│   └── polaris-topology.yaml.dist
└── run

/etc/default/polaris

Ensure /etc/default/polaris has a correct PATH to py3 executable, e.g.:

export PATH=$PATH:/opt/python3/bin
export POLARIS_INSTALL_PREFIX=/opt/polaris

Install the Polaris-specific PDNS configuration file

cp /opt/polaris/etc/pdns.conf.dist /etc/pdns/pdns.conf

Copy /opt/polaris/etc/*.dist files into *.yaml or create new ones and configure:

  • polaris-lb.yaml - LB configuration
  • polaris-topology.yaml - topology configuration
  • polaris-health.yaml - Polaris health general parameters
  • polaris-pdns.yaml - Polaris PDNS general parameters

Start pdns

Use /opt/polaris/bin/polaris-health [status|start|start-debug|stop|restart] to control the Polaris health application.

/opt/polaris/bin/polaris-memcache-control 127.0.0.1 [get-generic-state|get-ppdns-state|get-heartbeat|check-heartbeat] can be used to display various memcache values set by Polaris.

  • get-ppdns-state shows the state table used for query distribution
  • get-generic-state shows the full health table