While developing, testing and running workloads it’s always important to have an easy way to access those applications. Every cloud load balancer slightly differs in configuration, pricing and ease of use.
With Web Relay ingress controller it doesn’t matter if your application runs on Minikube, GKE, AWS or Azure; all applications get same endpoints with exactly the same ingress configuration.
Here, we add ingress controller from a hosted manifest and provide credentials via
relay ingress init command. Webhook Relay ingress controller can be found in webrelay-ingress namespace.
To do it on your own, you will need:
- Kubernetes environment (in the example above we use Minikube)
- Webhook Relay account
Add ingress controller to your environment
relay ingress init
- Creates deployment with the controller
- Creates cluster role and binding
- Generates access key and secret for the Web Relay server and supplies them as a Kubernetes secret
Get your tunnel domain name
$ relay tunnel create --group webrelay-ingress hello-ingress 2p4ptkh9vutgm8tqavigja.webrelay.io<---->http://127.0.0.1
Here, 2p4ptkh9vutgm8tqavigja.webrelay.io is your tunnel endpoint, set it in
Add Kuard to your cluster
In this example we are using Kuard workload. Deployment file and ingress configuration is available in https://github.com/webrelay/ingress repository under examples directory. Clone it:
git clone https://github.com/webrelay/ingress cd ingress/examples
Now, edit ingress.yaml with your Host.
apiVersion: extensions/v1beta1 kind: Ingress metadata: annotations: kubernetes.io/ingress.class: webrelay name: relay-ingress namespace: default spec: rules: - host: 2p4ptkh9vutgm8tqavigmp.webrelay.io # <- set your tunnel host here http: paths: - path: / backend: serviceName: kuard servicePort: 8080
Then create Kuard and ingress resource:
kubectl create -f kuard.yaml -f ingress.yaml
See whether ingress is ready
relay ingress ls
Deployment files for ingress controller and example workload can be found here.