Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Poor documentation - Not mentioned what to do after installation #57

Open
nitinagarwal1982 opened this issue May 13, 2019 · 11 comments
Open

Comments

@nitinagarwal1982
Copy link

nitinagarwal1982 commented May 13, 2019

Hi,

I have done the polaris installation and followed all the steps mentioned.
Used dig command to check the desire output and I think I am getting proper result.
But after that there is nothing in the documentation what to do. I have setup a DNS and trying to open with http but it is not giving the expected output.

Please find below the steps I have done:

  1. Setup the Polaris GSLB. Below is the polaris-lb.yaml configuration:

pools:
www-gslbpoc:
monitor: http
monitor_params:
use_ssl: false
hostname: myservice.gslbpoc.com
url_path: /gslb/health
port: 8080
expected_codes:
- 200
lb_method: wrr
fallback: any
members:
- ip: 10.247.10.1
name: www1-dc1
weight: 1
- ip: 10.247.20.1
name: www2-dc2
weight: 1

globalnames:
myservice.gslbpoc.com:
pool: www-gslbpoc
ttl: 1

Output of "polaris-memcache-control 127.0.0.1 get-ppdns-state":
{
"globalnames": {
"myservice.gslbpoc.com": {
"pool_name": "www-gslbpoc",
"ttl": 1
}
},
"pools": {
"www-gslbpoc": {
"dist_tables": {
"_default": {
"index": 1,
"rotation": [
"10.247.10.1",
"10.247.20.1"
],
"num_unique_addrs": 2
}
},
"fallback": "any",
"status": true,
"max_addrs_returned": 1,
"lb_method": "wrr"
}
},
"timestamp": 1557494215.115039
}

Output of "polaris-memcache-control 127.0.0.1 get-generic-state":
{
"timestamp": 1557494214.7694283,
"globalnames": {
"myservice.gslbpoc.com": {
"name": "myservice.gslbpoc.com",
"pool_name": "www-gslbpoc",
"ttl": 1
}
},
"pools": {
"www-gslbpoc": {
"name": "www-gslbpoc",
"monitor": {
"timeout": 5,
"name": "http",
"hostname": "myservice.gslbpoc.com",
"use_ssl": false,
"interval": 10,
"url_path": "/gslb/health",
"retries": 2,
"expected_codes": [
200
],
"port": 8080
},
"members": [
{
"name": "www1-dc1",
"status_reason": "monitor passed",
"retries_left": 2,
"status": true,
"monitor_ip": "10.247.10.1",
"ip": "10.247.10.1",
"region": "None",
"weight": 1
},
{
"name": "www2-dc2",
"status_reason": "monitor passed",
"retries_left": 2,
"status": true,
"monitor_ip": "10.247.20.1",
"ip": "10.247.20.1",
"region": "None",
"weight": 1
}
],
"fallback": "any",
"max_addrs_returned": 1,
"last_status": true,
"lb_method": "wrr"
}
}
}

Output of "dig @polaric-gslb-ip myservice.gslbpoc.com":
Ran it multiple time and got both the ips in the output.

; <<>> DiG 9.9.4-RedHat-9.9.4-73.el7_6 <<>> @polaric-gslb-ip myservice.gslbpoc.com
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 10857
;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; WARNING: recursion requested but not available

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1680
;; QUESTION SECTION:
;myservice.gslbpoc.com. IN A

;; ANSWER SECTION:
myservice.gslbpoc.com. 1 IN A 10.247.20.1

;; Query time: 0 msec
;; SERVER: polaric-gslb-ip#53(polaric-gslb-ip)
;; WHEN: Mon May 13 09:27:21 IDT 2019
;; MSG SIZE rcvd: 66


; <<>> DiG 9.9.4-RedHat-9.9.4-73.el7_6 <<>> @polaric-gslb-ip myservice.gslbpoc.com
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 3441
;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; WARNING: recursion requested but not available

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1680
;; QUESTION SECTION:
;myservice.gslbpoc.com. IN A

;; ANSWER SECTION:
myservice.gslbpoc.com. 1 IN A 10.247.10.1

;; Query time: 0 msec
;; SERVER: polaric-gslb-ip#53(polaric-gslb-ip)
;; WHEN: Mon May 13 09:27:23 IDT 2019
;; MSG SIZE rcvd: 66

  1. Tried to ran the below command but not able to get expected output:

[root@rhel7 ~]# curl -v http://polaric-ip:80
About to connect() to polaric-ip port 80 (#0)
Trying polaric-ip...
Connection refused
Failed connect to polaric-ip:80; Connection refused
Closing connection 0
curl: (7) Failed connect to polaric-ip:80; Connection refused


[root@rhel7 ~]# curl -v http://polaric-ip:8080
About to connect() to polaric-ip port 8080 (#0)
Trying polaric-ip...
Connection refused
Failed connect to polaric-ip:8080; Connection refused
Closing connection 0
curl: (7) Failed connect to polaric-ip:8080; Connection refused


[root@rhel7 ~]# curl -v http://myservice.gslbpoc.com:80
Could not resolve host: myservice.gslbpoc.com; Unknown error
Closing connection 0
curl: (6) Could not resolve host: myservice.gslbpoc.com; Unknown error


[root@rhel7 ~]# curl -v http://myservice.gslbpoc.com:8080
Could not resolve host: myservice.gslbpoc.com; Unknown error
Closing connection 0
curl: (6) Could not resolve host: myservice.gslbpoc.com; Unknown error

Please let me know if I missed any step.

@Aaron-loadbalancer-org
Copy link

Aaron-loadbalancer-org commented May 14, 2019

I wonder can you confirm that you have configured your DNS server appropriately.

You need to delegate the subdomain before a DNS query will return the correct result.

When querying your intermediary DNS server with the "no recursive" option it should return the IP address of the Polaris instance you delegated to:

dig myservice.gslbpoc.com @<my-dns-server-ip> +norec

or

nslookup -norecurse myservice.gslbpoc.com <my-dns-server-ip>

Example:

C:\Users\me>nslookup -norecurse myservice.gslbpoc.com 1.1.2.2
Server:  UnKnown
Address:  1.1.2.2

Name:    myservice.gslbpoc.com
Served by:
- polaris.gslbpoc.com
          1.1.2.10
          myservice.gslbpoc.com

@nitinagarwal1982
Copy link
Author

Hi Aaron,

Thanks a lot for the quick help.

You were right. I missed the subdomain part.

After doing the right configuration, I am able to get the expected result.

Regards,
Nitin Agarwal

@nitinagarwal1982
Copy link
Author

nitinagarwal1982 commented May 16, 2019

Hi Aaron,

I think I have done something wrong.

Can you please let me know how we need to delegate the subdomain?

  1. Do I need to add some entries in the GSLB with pdnsutil?
    OR
  2. Need to add Subdomain entries in the DNS Server by adding A record for each IP Address defined for the members in the polaris-lb

Regards,
Nitin Agarwal

@Aaron-loadbalancer-org
Copy link

Towards the very bottom of the following Blog we have the info on how to delegate a subdomain on Windows DNS to Polaris:

https://www.loadbalancer.org/blog/loadbalancer-org-releases-a-gslb/

Can I check what DNS server are you using outside of Polaris?

@nitinagarwal1982
Copy link
Author

nitinagarwal1982 commented May 16, 2019 via email

@nitinagarwal1982
Copy link
Author

nitinagarwal1982 commented May 16, 2019 via email

@andrei-loadbalancer-org

Hello Nitin,

As per our instructions in the blog post, you will have to add a subdomain delegation on your DNS server(s), which I believe its the missing piece of the puzzle.

I'm not familiar with VESTA software DNS server, however like on any other DNS server configuration, you will be adding a NS record that will contain the FQDN subdomain(s) e.g. subdomain1.example.com and the nameserver(s) it will be resolving to e.g. ns1.nameserver.com.

@nitinagarwal1982
Copy link
Author

Hi Andrei,

Thanks for the response.

According to this blog, I do not need to make entry in the DNS for the actual end point service. Just I need to make entry for the Polaris GSLB and GSLB will give me the actual end point information.

Let me know if this is the case.

Regards,
Nitin Agarwal

@andrei-loadbalancer-org

On your DNS server you will adding an A record for each Polaris instance and then create a subdomain entry to the records you have created earlier (NS).

Hope this information helps.

@rezadarzi
Copy link

rezadarzi commented Jun 10, 2019

Hi
I have a problem with this solution.
I have BIND and pdns with remote backend also I install and config Polaris. I define subdomain for some URLs that I need. pdns+polaris are my NS for subdomains. unfortunately, it can't resolve these URLs and pdns ** refuse** them.
Does anybody have a practical document for config pdns and Polaris??
thanks.

@rezadarzi
Copy link

Hi
I have a problem with this solution.
I have BIND and pdns with remote backend also I install and config Polaris. I define subdomain for some URLs that I need. pdns+polaris are my NS for subdomains. unfortunately, it can't resolve these URLs and pdns ** refuse** them.
Does anybody have a practical document for config pdns and Polaris??
thanks.

my problem was solved. it was because of memcache installation.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants