Some DNS servers / routers have Rebind protection - Discard upstream RFC1918 responses which will block nip.io and similar domains from resolving local IP addresses. You may need to check your router (or dnsmasq) configuration to disable that setting if you can't resolve addresses for your local network.
This is the easiest way to solve it, but it does rely on an external service, so might be an issue in a firewalled environment.
If you don't know the IP address that will be assigned to your ingress service, you'll need to run the ingress role first.
-
Download and install Kubernetes IN Docker 0.9.0 from here.
-
Configure and set up KIND cluster (the KIND IP should be your machines primary IP address, the following will work on linux):
make setup.kind
NOTE: the above assumes the Docker flag --network=host
. If this will not work for some reason, you will need to set
the real IP of your system in the build/inventory.yaml
(created by make setup.<provider>
) file as the ingress_ip
variable.
You can get the real IP of your system using something similar to hostname -I | awk '{ print $1}'
.
- Deploy Calico as KIND CNI
make setup.kind.network
-
Within your
build/inventory.yaml
file, which was created withmake setup.<provider>
set the variabletanzu_dns_provider: "local"
. -
Continue setting up your
build/inventory.yaml
: Quick Start: Provider Specific Steps
- Create an inventory for your cluster:
make setup.aws
-
Remove or comment out (e.g
#aws_access_key: ""
)aws_access_key
andaws_secret_key
from yourbuild/inventory.yaml
. -
Update any other
build/inventory.yaml
values for your cluster. -
Deploy the
ingress
role (we need to do this first so we can collect our Ingress IP address):
ROLE=ingress make deploy.test.role
- Run the
common/ingress-ip
role which will politely return the IP address needed:
$ ROLE=common/ingress-ip make deploy.test.role
...
...
TASK [common/ingress-ip : inspect the ingress ip] ******************************
ok: [aws_tanzu_cluster1] =>
ingress_ip: 3.18.48.175
-
Set
tanzu_ingress_domain=3.18.48.175.nip.io
in yourbuild/inventory.yaml
(using the IP from above)