Skip to content

ruromero/gateway-operator

 
 

Repository files navigation

WARNING: This project is under active development and is currently considered EXPERIMENTAL. For information about timelines for initial releases please see our milestones. Please check in with us on the #kong on Kubernetes Slack or open a discussion if you have questions, want to contribute, or just want to chat about the project.

Kong Gateway Operator

A Kubernetes Operator for the Kong Gateway.

Deployment

Deploy the operator with the following one-liner:

kubectl kustomize https://github.com/kong/gateway-operator/config/default | kubectl apply -f -

Optionally, you can wait for the operator with:

kubectl -n kong-system wait --for=condition=Available=true deployment/gateway-operator-controller-manager

Usage

After deployment usage is driven primarily via the Gateway resource. You can deploy a Gateway resource to the cluster which will result in the underlying control-plane (the Kong Kubernetes Ingress Controller) and the data-plane (the Kong Gateway).

For example, deploy the following GatewayClass:

kind: GatewayClass
apiVersion: gateway.networking.k8s.io/v1alpha2
metadata:
  name: kong
spec:
  controllerName: konghq.com/gateway-operator

and Gateway:

kind: Gateway
apiVersion: gateway.networking.k8s.io/v1alpha2
metadata:
  name: kong
spec:
  gatewayClassName: kong
  listeners:
  - name: http
    protocol: HTTP
    port: 80

Wait for the Gateway to be Ready:

kubectl -n kong-system wait --for=condition=Available=true deployment/gateway-operator-controller-manager

Once Ready you'll be able to receive the default IP address of the Gateway:

$ kubectl get gateway kong
NAME   CLASS   ADDRESS        READY   AGE
kong   kong    172.18.0.240   True    97s

The Gateway is now accessible via that IP:

$ curl -s -w '\n' http://172.18.0.240
{"message":"no Route matched with those values"}

(NOTE: if your cluster can not provision LoadBalancer type Services then the IP you receive may only be routable from within the cluster).

(NOTE: the no Route matched result is normal for a Gateway with no configuration. Create Ingress, HTTPRoute and other resources to start routing traffic to your applications. See the Ingress Controller Guides for more information).

Seeking Help

Please search through the posts on the discussions page as it's likely that another user has run into the same problem. If you don't find an answer, please feel free to post a question.

If you've found a bug, please open an issue.

For a feature request, please open an issue using the feature request template.

You can also talk to the developers behind Kong in the #kong channel on the Kubernetes Slack server.

Community Meetings

You can join monthly meetups hosted by Kong to ask questions, provide feedback, or just to listen and hang out.

See the Online Meetups Page to sign up and receive meeting invites and Zoom links.

About

Kubernetes Operator for Kong Gateways

Resources

License

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages

  • Go 95.6%
  • Makefile 3.0%
  • Other 1.4%