blob: f4923007e79796e2a1c1908fa699bb52d243758b [file] [log] [blame]
Mohammed Naser9ad0d462023-01-15 20:36:37 -05001The ingress-nginx controller has been installed.
2
3{{- if contains "NodePort" .Values.controller.service.type }}
4Get the application URL by running these commands:
5
6{{- if (not (empty .Values.controller.service.nodePorts.http)) }}
7 export HTTP_NODE_PORT={{ .Values.controller.service.nodePorts.http }}
8{{- else }}
Mohammed Naser65cda132024-05-02 14:34:08 -04009 export HTTP_NODE_PORT=$(kubectl get service --namespace {{ include "ingress-nginx.namespace" . }} {{ include "ingress-nginx.controller.fullname" . }} --output jsonpath="{.spec.ports[0].nodePort}")
Mohammed Naser9ad0d462023-01-15 20:36:37 -050010{{- end }}
11{{- if (not (empty .Values.controller.service.nodePorts.https)) }}
12 export HTTPS_NODE_PORT={{ .Values.controller.service.nodePorts.https }}
13{{- else }}
Mohammed Naser65cda132024-05-02 14:34:08 -040014 export HTTPS_NODE_PORT=$(kubectl get service --namespace {{ include "ingress-nginx.namespace" . }} {{ include "ingress-nginx.controller.fullname" . }} --output jsonpath="{.spec.ports[1].nodePort}")
Mohammed Naser9ad0d462023-01-15 20:36:37 -050015{{- end }}
Mohammed Naser65cda132024-05-02 14:34:08 -040016 export NODE_IP="$(kubectl get nodes --output jsonpath="{.items[0].status.addresses[1].address}")"
Mohammed Naser9ad0d462023-01-15 20:36:37 -050017
Mohammed Naser65cda132024-05-02 14:34:08 -040018 echo "Visit http://${NODE_IP}:${HTTP_NODE_PORT} to access your application via HTTP."
19 echo "Visit https://${NODE_IP}:${HTTPS_NODE_PORT} to access your application via HTTPS."
Mohammed Naser9ad0d462023-01-15 20:36:37 -050020{{- else if contains "LoadBalancer" .Values.controller.service.type }}
Mohammed Naser65cda132024-05-02 14:34:08 -040021It may take a few minutes for the load balancer IP to be available.
22You can watch the status by running 'kubectl get service --namespace {{ include "ingress-nginx.namespace" . }} {{ include "ingress-nginx.controller.fullname" . }} --output wide --watch'
Mohammed Naser9ad0d462023-01-15 20:36:37 -050023{{- else if contains "ClusterIP" .Values.controller.service.type }}
24Get the application URL by running these commands:
Mohammed Naser65cda132024-05-02 14:34:08 -040025 export POD_NAME="$(kubectl get pods --namespace {{ include "ingress-nginx.namespace" . }} --selector app.kubernetes.io/name={{ include "ingress-nginx.name" . }},app.kubernetes.io/instance={{ .Release.Name }},app.kubernetes.io/component=controller --output jsonpath="{.items[0].metadata.name}")"
26 kubectl port-forward --namespace {{ include "ingress-nginx.namespace" . }} "${POD_NAME}" 8080:80
Mohammed Naser9ad0d462023-01-15 20:36:37 -050027 echo "Visit http://127.0.0.1:8080 to access your application."
28{{- end }}
29
30An example Ingress that makes use of the controller:
31
32{{- $isV1 := semverCompare ">=1" .Chart.AppVersion}}
33 apiVersion: networking.k8s.io/v1
34 kind: Ingress
35 metadata:
36 name: example
37 namespace: foo
38 {{- if eq $isV1 false }}
39 annotations:
40 kubernetes.io/ingress.class: {{ .Values.controller.ingressClass }}
41 {{- end }}
42 spec:
43 {{- if $isV1 }}
44 ingressClassName: {{ .Values.controller.ingressClassResource.name }}
45 {{- end }}
46 rules:
47 - host: www.example.com
48 http:
49 paths:
Mohammed Naser65cda132024-05-02 14:34:08 -040050 - pathType: Prefix
51 backend:
Mohammed Naser9ad0d462023-01-15 20:36:37 -050052 service:
53 name: exampleService
54 port:
55 number: 80
56 path: /
57 # This section is only required if TLS is to be enabled for the Ingress
58 tls:
59 - hosts:
60 - www.example.com
61 secretName: example-tls
62
63If TLS is enabled for the Ingress, a Secret containing the certificate and key must also be provided:
64
65 apiVersion: v1
66 kind: Secret
67 metadata:
68 name: example-tls
69 namespace: foo
70 data:
71 tls.crt: <base64 encoded cert>
72 tls.key: <base64 encoded key>
73 type: kubernetes.io/tls