summaryrefslogtreecommitdiffstats
path: root/playbooks/openstack/advanced-configuration.md
diff options
context:
space:
mode:
authorTomas Sedovic <tomas@sedovic.cz>2017-11-28 08:40:23 +0100
committerTomas Sedovic <tomas@sedovic.cz>2017-11-28 11:45:10 +0100
commit949897fd410ba74600fd44d2e81cef638b6f5a6c (patch)
tree4d6aef7372519d53d81a7b9123bdeb73eb311b94 /playbooks/openstack/advanced-configuration.md
parente429fdb4a819d2c401baac917ec4917a8c37be62 (diff)
downloadopenshift-949897fd410ba74600fd44d2e81cef638b6f5a6c.tar.gz
openshift-949897fd410ba74600fd44d2e81cef638b6f5a6c.tar.bz2
openshift-949897fd410ba74600fd44d2e81cef638b6f5a6c.tar.xz
openshift-949897fd410ba74600fd44d2e81cef638b6f5a6c.zip
Use IP addresses for OpenStack nodes
Unlike other cloud providers, OpenStack VMs are not able to resolve each other by their names. If you try to run the playbooks against nodes without a pre-created /etc/hosts or a DNS that provides the hostname/ip resolution, it will fail. By setting the `openshift_hostname` variable to each node's IP address, we're able to deploy a functional cluster without running a custom DNS. It is still possible to provide an external server with nsupdate keys and have it be populated, but that is no longer a hard requirement.
Diffstat (limited to 'playbooks/openstack/advanced-configuration.md')
-rw-r--r--playbooks/openstack/advanced-configuration.md56
1 files changed, 27 insertions, 29 deletions
diff --git a/playbooks/openstack/advanced-configuration.md b/playbooks/openstack/advanced-configuration.md
index 90cc20b98..03f9c84cc 100644
--- a/playbooks/openstack/advanced-configuration.md
+++ b/playbooks/openstack/advanced-configuration.md
@@ -47,44 +47,42 @@ Otherwise, even if there are differences between the two versions, installation
## Accessing the OpenShift Cluster
-### Use the Cluster DNS
+### Configure DNS
-In addition to the OpenShift nodes, we created a DNS server with all
-the necessary entries. We will configure your *Ansible host* to use
-this new DNS and talk to the deployed OpenShift.
+OpenShift requires two DNS records to function fully. The first one poinst to
+the master/load balancer and provides the UI/API access. The other one is a
+wildcard domain that resolves app route requests to the infra node.
-First, get the DNS IP address:
+If you followed the default installation from the README section, there is no
+DNS configured. We can add two entries to your `/etc/hosts` to do a quick
+validation. A real deployment will however require a DNS server with the
+following entries set.
-```bash
-$ openstack server show dns-0.openshift.example.com --format value --column addresses
-openshift-ansible-openshift.example.com-net=192.168.99.11, 10.40.128.129
-```
-
-Note the floating IP address (it's `10.40.128.129` in this case) -- if
-you're not sure, try pinging them both -- it's the one that responds
-to pings.
+First, run the `openstack server list` command and note the floating IP
+addresses of the *master* and *infra* nodes (we will use `10.40.128.130` for
+master and `10.40.128.134` for infra here).
-Next, edit your `/etc/resolv.conf` as root and put `nameserver DNS_IP` as your
-**first entry**.
-
-If your `/etc/resolv.conf` currently looks like this:
+Then add the following entries to your `/etc/hosts`:
```
-; generated by /usr/sbin/dhclient-script
-search openstacklocal
-nameserver 192.168.0.3
-nameserver 192.168.0.2
+10.40.128.130 console.openshift.example.com
+10.40.128.134 cakephp-mysql-example-test.apps.openshift.example.com
```
-Change it to this:
+I.e. point the cluster domain (as defined in the
+`openshift_master_cluster_public_hostname` Ansible variable in `OSEv3`) to the
+master node and any routes for deployed apps to the infra node.
+
+If you deploy another app, it will end up with a different URL (e.g.
+myapp-test.apps.openshift.example.com) and you will need to add that too. This
+is why a real deployment should always run a DNS where the second entry will be
+a wildcard `*.apps.openshift.example.com).
+
+This will be sufficient to validate the cluster here.
+
+Take a look at the [External DNS](#dns-configuration-variables) section for
+configuring a DNS service.
-```
-; generated by /usr/sbin/dhclient-script
-search openstacklocal
-nameserver 10.40.128.129
-nameserver 192.168.0.3
-nameserver 192.168.0.2
-```
### Get the `oc` Client