Basic Ingress
This example shows the simplest case: an Ingress with no special annotations. The tool converts it into a Gateway and HTTPRoute.
Before: Ingress
cat <<'EOF' > basic-ingress.yaml
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: demo-localhost
spec:
ingressClassName: nginx
rules:
- host: demo.localdev.me
http:
paths:
- backend:
service:
name: echo-backend
port:
number: 8080
path: /
pathType: Prefix
EOFConvert
ingress2gateway print --providers=ingress-nginx --emitter=kgateway --input-file basic-ingress.yaml > basic-kgateway.yamlAfter: Gateway API resources
cat basic-kgateway.yamlapiVersion: gateway.networking.k8s.io/v1
kind: Gateway
metadata:
name: nginx
spec:
gatewayClassName: kgateway
listeners:
- hostname: demo.localdev.me
name: demo-localdev-me-http
port: 80
protocol: HTTP
---
apiVersion: gateway.networking.k8s.io/v1
kind: HTTPRoute
metadata:
name: demo-localhost-demo-localdev-me
spec:
hostnames:
- demo.localdev.me
parentRefs:
- name: nginx
rules:
- backendRefs:
- name: echo-backend
port: 8080
matches:
- path:
type: PathPrefix
value: /Apply and verify
kubectl apply -f basic-kgateway.yaml
kubectl get gateways
kubectl get httproutes