Created
May 4, 2018 13:08
-
-
Save mbentley/037abdf34fab721604ac02dfa5459b17 to your computer and use it in GitHub Desktop.
ingress-nginx example
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
apiVersion: v1 | |
kind: Namespace | |
metadata: | |
name: ingress-nginx | |
--- | |
apiVersion: extensions/v1beta1 | |
kind: Deployment | |
metadata: | |
name: default-http-backend | |
labels: | |
app: default-http-backend | |
namespace: ingress-nginx | |
spec: | |
replicas: 1 | |
template: | |
metadata: | |
labels: | |
app: default-http-backend | |
spec: | |
terminationGracePeriodSeconds: 60 | |
containers: | |
- name: default-http-backend | |
# Any image is permissable as long as: | |
# 1. It serves a 404 page at / | |
# 2. It serves 200 on a /healthz endpoint | |
image: gcr.io/google_containers/defaultbackend:1.4 | |
livenessProbe: | |
httpGet: | |
path: /healthz | |
port: 8080 | |
scheme: HTTP | |
initialDelaySeconds: 30 | |
timeoutSeconds: 5 | |
ports: | |
- containerPort: 8080 | |
resources: | |
limits: | |
cpu: 10m | |
memory: 20Mi | |
requests: | |
cpu: 10m | |
memory: 20Mi | |
--- | |
apiVersion: v1 | |
kind: Service | |
metadata: | |
name: default-http-backend | |
namespace: ingress-nginx | |
labels: | |
app: default-http-backend | |
spec: | |
ports: | |
- port: 80 | |
targetPort: 8080 | |
selector: | |
app: default-http-backend | |
--- | |
kind: ConfigMap | |
apiVersion: v1 | |
metadata: | |
name: nginx-configuration | |
namespace: ingress-nginx | |
labels: | |
app: ingress-nginx | |
--- | |
kind: ConfigMap | |
apiVersion: v1 | |
metadata: | |
name: tcp-services | |
namespace: ingress-nginx | |
--- | |
kind: ConfigMap | |
apiVersion: v1 | |
metadata: | |
name: udp-services | |
namespace: ingress-nginx | |
--- | |
apiVersion: extensions/v1beta1 | |
kind: Deployment | |
metadata: | |
name: nginx-ingress-controller | |
namespace: ingress-nginx | |
spec: | |
replicas: 1 | |
selector: | |
matchLabels: | |
app: ingress-nginx | |
template: | |
metadata: | |
labels: | |
app: ingress-nginx | |
annotations: | |
prometheus.io/port: '10254' | |
prometheus.io/scrape: 'true' | |
spec: | |
initContainers: | |
- command: | |
- sh | |
- -c | |
- sysctl -w net.core.somaxconn=32768; sysctl -w net.ipv4.ip_local_port_range="1024 65535" | |
image: alpine:3.6 | |
imagePullPolicy: IfNotPresent | |
name: sysctl | |
securityContext: | |
privileged: true | |
containers: | |
- name: nginx-ingress-controller | |
image: quay.io/kubernetes-ingress-controller/nginx-ingress-controller:0.10.2 | |
args: | |
- /nginx-ingress-controller | |
- --default-backend-service=$(POD_NAMESPACE)/default-http-backend | |
- --configmap=$(POD_NAMESPACE)/nginx-configuration | |
- --tcp-services-configmap=$(POD_NAMESPACE)/tcp-services | |
- --udp-services-configmap=$(POD_NAMESPACE)/udp-services | |
- --annotations-prefix=nginx.ingress.kubernetes.io | |
env: | |
- name: POD_NAME | |
valueFrom: | |
fieldRef: | |
fieldPath: metadata.name | |
- name: POD_NAMESPACE | |
valueFrom: | |
fieldRef: | |
fieldPath: metadata.namespace | |
ports: | |
- name: http | |
containerPort: 80 | |
- name: https | |
containerPort: 443 | |
livenessProbe: | |
failureThreshold: 3 | |
httpGet: | |
path: /healthz | |
port: 10254 | |
scheme: HTTP | |
initialDelaySeconds: 10 | |
periodSeconds: 10 | |
successThreshold: 1 | |
timeoutSeconds: 1 | |
readinessProbe: | |
failureThreshold: 3 | |
httpGet: | |
path: /healthz | |
port: 10254 | |
scheme: HTTP | |
periodSeconds: 10 | |
successThreshold: 1 | |
timeoutSeconds: 1 | |
--- | |
apiVersion: v1 | |
kind: Service | |
metadata: | |
name: ingress-nginx | |
namespace: ingress-nginx | |
spec: | |
type: NodePort | |
ports: | |
- name: http | |
port: 80 | |
targetPort: 80 | |
# specifically utilize port 35534 | |
nodePort: 35534 | |
protocol: TCP | |
- name: https | |
port: 443 | |
targetPort: 443 | |
# specifically utilize port 35535 | |
nodePort: 35535 | |
protocol: TCP | |
selector: | |
app: ingress-nginx |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment