This doc outlines the steps needed to run Ingress-GCE binary locally:
- Setup of a dev GKE cluster.
- Authorization configuration to it.
- Building and running the Ingress-GCE binary locally.
First step is to create a dev GKE cluster:
$ gcloud container clusters create CLUSTER_NAME
Once the cluster is ready you need to disable HTTP Load Balancing.
$ gcloud container clusters update CLUSTER_NAME --update-addons=HttpLoadBalancing=DISABLED
You can also do this from the Cloud Console. The HTTP Load Balancing option is available under Networking section.
Once the cluster is ready prepare authorization to it. You need to authorize both gcloud and kubectl.
$ gcloud auth application-default login
$ gcloud container clusters get-credentials CLUSTER_NAME --region CLUSTER_LOCATION
Build the Ingress-GCE server
$ make build
Prepare configuration of the cluster. An example fully-specified config looks something like this:
[global]
token-url = nil
project-id = foo-project
network-name = foo-network
subnetwork-name = foo-subnetwork
node-instance-prefix = gke-foo-cluster
node-tags = my-custom-network-tags
local-zone=us-central1-c
You can run the provided script from the root of this repo:
$ hack/setup-local.sh <cluster-name>
Or you can fill the config yourself and store it in the /tmp/gce.conf
.
Once that is ready you can run the Ingress-GCE server.
$ GLBC=bin/amd64/glbc hack/run-local-glbc.sh