Creating Ingress Resources Based on Paths
Understand the definition of an Ingress resource and then create the objects based on this definition.
Defining an Ingress resource
We’ll try to make our go-demo-2-api
Service available through port 80
. We’ll do that by defining an Ingress resource with the rule to forward all requests with the path starting with /demo
to the Service go-demo-2-api
.
Looking into the definition
Let’s look at the Ingress’ YAML definition go-demo-2-ingress.yml
:
Press + to interact
apiVersion: networking.k8s.io/v1kind: Ingressmetadata:name: go-demo-2annotations:kubernetes.io/ingress.class: "nginx"ingress.kubernetes.io/ssl-redirect: "false"nginx.ingress.kubernetes.io/ssl-redirect: "false"spec:rules:- http:paths:- path: /demopathType: ImplementationSpecificbackend:service:name: go-demo-2-apiport:number: 8080
- Line 5: This time,
metadata
contains a field we haven’t used before. Theannotations
section allows us to provide additional information to the Ingress controller. As you’ll see soon, the Ingress API specification is concise and limited. That is done on purpose. The specification API defines only the fields that are mandatory for all Ingress controllers. All the additional information an Ingress controller needs is specified throughannotations
. That way, the community behind the controllers can progress at great speed while still providing basic general compatibility and standards.
Note: The list of general annotations and the controllers that support them can be found on ...