Difference between revisions of "Kind: Ingress"
Jump to navigation
Jump to search
Line 40: | Line 40: | ||
== Examples == | == Examples == | ||
+ | === with tls and issuer annotation for [[cert-manager]] == | ||
+ | </pre> | ||
+ | apiVersion: networking.k8s.io/v1 | ||
+ | kind: Ingress | ||
+ | metadata: | ||
+ | name: kuard | ||
+ | annotations: | ||
+ | cert-manager.io/issuer: "letsencrypt-staging" | ||
+ | |||
+ | spec: | ||
+ | ingressClassName: nginx | ||
+ | tls: | ||
+ | - hosts: | ||
+ | - example.example.com | ||
+ | secretName: quickstart-example-tls | ||
+ | rules: | ||
+ | - host: example.example.com | ||
+ | http: | ||
+ | paths: | ||
+ | - path: / | ||
+ | pathType: Prefix | ||
+ | backend: | ||
+ | service: | ||
+ | name: kuard | ||
+ | port: | ||
+ | number: 80 | ||
+ | </pre> | ||
+ | |||
+ | === With tls === | ||
{{kind: ingress tls}} | {{kind: ingress tls}} | ||
Revision as of 17:49, 13 February 2024
v1.19 (Aug 2020)
- https://kubernetes.io/docs/concepts/services-networking/ingress/
- https://kind.sigs.k8s.io/docs/user/ingress/
- https://docs.okd.io/latest/rest_api/network_apis/ingress-networking-k8s-io-v1.html
helm install my-release ingress-nginx/ingress-nginx
minikube addons enable ingress
- spec.rules.host
- rules: [ http: | hosts: ]
Contents
Official examples
apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: minimal-ingress annotations: nginx.ingress.kubernetes.io/rewrite-target: / spec: ingressClassName: nginx-example rules: - http: paths: - path: /testpath pathType: Prefix backend: service: name: test port: number: 80
https://kind.sigs.k8s.io/docs/user/ingress/ apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: example-ingress annotations: nginx.ingress.kubernetes.io/rewrite-target: /$2 spec: rules: - http: paths: - pathType: Prefix path: /foo(/|$)(.*) backend: service: name: foo-service port: number: 8080 - pathType: Prefix path: /bar(/|$)(.*) backend: service: name: bar-service port: number: 8080
Examples
= with tls and issuer annotation for cert-manager
apiVersion: networking.k8s.io/v1 kind: Ingress metadata:
name: kuard annotations: cert-manager.io/issuer: "letsencrypt-staging"
spec:
ingressClassName: nginx tls: - hosts: - example.example.com secretName: quickstart-example-tls rules: - host: example.example.com http: paths: - path: / pathType: Prefix backend: service: name: kuard port: number: 80
With tls
apiVersion: networking.k8s.io/v1beta1 kind: Ingress metadata: annotations: kubernetes.io/ingress.class: nginx name: example namespace: foo spec: rules: - host: www.example.com http: paths: - backend: serviceName: exampleService servicePort: 80 path: / # This section is only required if TLS is to be enabled for the Ingress tls: - hosts: - www.example.com secretName: example-tls
.../... status: loadBalancer: ingress: - hostname: a324242432.elb.ap-southeast-1.amazonaws.com .../...
apiVersion: extensions/v1beta1 kind: Ingress metadata: name: foobar spec: rules: - host: foobar.example.com http: paths: - backend: serviceName: foo servicePort: 8080 path: /
Errors
apiVersion: networking.k8s.io/v1 kind: Ingress metadata: annotations: kubernetes.io/ingress.class: nginx name: example namespace: foo spec: rules: - host: www.example.com http: paths: - backend: serviceName: exampleService servicePort: 80 path: /
Error from server (BadRequest): error when creating "ingress.yaml": [[Ingress in version "v1" cannot be handled as a Ingress: strict decoding error: unknown field "spec.rules [0].http.paths[0].backend.serviceName", unknown field "spec.rules[0].http.paths[0].backend.servicePort"
The Ingress "youingress" is invalid: spec.rules[0].http.paths[0].backend: Required value: port name or number is required
Errors
error: error validating "ingress.yaml": error validating data: [ValidationError(Ingress.spec.rules[0].http.paths[0].backend): unknown field "serviceName" in io.k8s.api.networking.v1.IngressBackend, ValidationError(Ingress.spec.rules[0].http.paths[0].backend): unknown field "servicePort" in io.k8s.api.networking.v1.IngressBackend]; if you choose to ignore these errors, turn validation off with --validate=false error: error parsing ingress.yaml: error converting YAML to JSON: yaml: line 16: mapping values are not allowed in this context The Ingress "youingress" is invalid: spec.rules[0].http.paths[0].backend: Required value: port name or number is required Warning Rejected 31s nginx-ingress-controller spec.rules(0).host: Required value
Related terms
- Kubernetes: Ingress controllers
kubectl get ingress, kubectl describe ingress
kind: ConfigMap
kind: IngressClass
pathType: ImplementationSpecific
field.cattle.io/publicEndpoints
cattle.io/creator: norman
.local
- Address:
kubectl apply -f ingress.yaml
- Ingress-nginx-controller ConfigMap
- IngressSpec.spec.tls
See also
kind: Ingress, nginx.ingress.kubernetes.io, networking.k8s.io/[v1Beta,v1 ], extensions/v1beta1, ingress.spec.rules, kubectl apply -f ingress.yaml, spec.tls, ingressClassName
networking.k8s.io: ingresses.networking.k8s.io, networkpolicy.networking.k8s.io
kubectl create ingress | kubectl get ingress
,kubectl describe ingress
, Kong, Kubernetes Gateway API, kubectl apply -f ingress.yaml- Ingress controllers, NGINX Ingress Controller,
minikube addons enable ingress
,kubectl get ingress, kubectl get ingressclass, kubectl describe ingress
,Ingress:
, Ingress API, AWS Load Balancer Controller, Envoy Proxy, GKE Ingress, Kubernetes Gateway API,ingress.k8s.aws, ingresses.networking.k8s.io
,kind: Ingress
: (tls:, hosts:
),SuccessfullyReconciled
Advertising: