Last active
January 18, 2018 16:44
-
-
Save mikejk8s/d7d7e71652fd838359968b221f756852 to your computer and use it in GitHub Desktop.
updated nginx-ingress
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: Service | |
metadata: | |
labels: | |
name: client-socket-ingress | |
app: {{ template "fullname" . }} | |
chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" | |
release: "{{ .Release.Name }}" | |
heritage: "{{ .Release.Service }}" | |
name: client-socket-ingress | |
namespace: "{{.Values.nodejs_namespace}}" | |
spec: | |
loadBalancerIP: XXXXXXX | |
type: LoadBalancer | |
ports: | |
- port: 443 | |
name: https | |
selector: | |
k8s-app: client-socket-ingress | |
sessionAffinity: ClientIP | |
--- | |
apiVersion: extensions/v1beta1 | |
kind: Deployment | |
metadata: | |
labels: | |
name: client-socket-ingress | |
app: {{ template "fullname" . }} | |
chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" | |
release: "{{ .Release.Name }}" | |
heritage: "{{ .Release.Service }}" | |
name: client-socket-ingress | |
namespace: "{{.Values.nodejs_namespace}}" | |
spec: | |
replicas: 1 | |
template: | |
metadata: | |
labels: | |
k8s-app: client-socket-ingress | |
spec: | |
terminationGracePeriodSeconds: 60 | |
containers: | |
- name: client-socket-ingress | |
# From https://github.com/kubernetes/contrib/blob/master/ingress/controllers/nginx/rc.yaml | |
image: gcr.io/google_containers/nginx-ingress-controller:0.9.0-beta.11 | |
imagePullPolicy: Always | |
args: | |
- /nginx-ingress-controller | |
# Ingress controller redirects to the given server for any unknown subdomain, can be any but: | |
# - Should serve a HTTP/404 on / | |
# - Must serve a HTTP/200 on /healthz | |
- --default-backend-service={{.Values.nodejs_namespace}}/{{.Values.default_backend_name}} | |
- --configmap=$(POD_NAMESPACE)/client-socket-ingress | |
# Use downward API | |
env: | |
- name: POD_NAME | |
valueFrom: | |
fieldRef: | |
fieldPath: metadata.name | |
- name: POD_NAMESPACE | |
valueFrom: | |
fieldRef: | |
fieldPath: metadata.namespace | |
ports: | |
- containerPort: 443 | |
livenessProbe: # Optional | |
httpGet: | |
path: /healthz | |
port: 10254 | |
scheme: HTTP | |
initialDelaySeconds: 30 | |
timeoutSeconds: 5 | |
resources: # Optional | |
requests: | |
memory: "512Mi" | |
cpu: "1" | |
limits: | |
memory: "512Mi" | |
cpu: "1" | |
--- | |
apiVersion: autoscaling/v1 | |
kind: HorizontalPodAutoscaler | |
metadata: | |
labels: | |
app: {{ template "fullname" . }} | |
chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" | |
release: "{{ .Release.Name }}" | |
heritage: "{{ .Release.Service }}" | |
name: client-socket-ingress-hpa | |
namespace: "{{.Values.nodejs_namespace}}" | |
spec: | |
scaleTargetRef: | |
kind: Deployment | |
name: client-socket-ingress | |
minReplicas: 1 | |
maxReplicas: 3 | |
targetCPUUtilizationPercentage: 50 | |
--- | |
apiVersion: extensions/v1beta1 | |
kind: Ingress | |
metadata: | |
labels: | |
name: client-socket-ingress | |
app: {{ template "fullname" . }} | |
chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" | |
release: "{{ .Release.Name }}" | |
heritage: "{{ .Release.Service }}" | |
name: client-socket-ingress | |
namespace: "{{.Values.nodejs_namespace}}" | |
annotations: | |
# This tells to only use the Nginx Ingress Controller | |
# and avoids the creation on a Global LoadBalancer on GKE. | |
kubernetes.io/ingress.class: "nginx" | |
spec: | |
tls: | |
- secretName: wildcard-staging | |
# List of hosts supported by this certificate: | |
hosts: | |
- client-socket.staging.app.com | |
rules: | |
- host: client-socket.staging.app.com | |
http: | |
paths: | |
- path: / | |
backend: | |
serviceName: client-socket | |
servicePort: 10002 | |
--- | |
apiVersion: v1 | |
kind: ConfigMap | |
metadata: | |
labels: | |
name: client-socket-ingress | |
app: {{ template "fullname" . }} | |
chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" | |
release: "{{ .Release.Name }}" | |
heritage: "{{ .Release.Service }}" | |
name: client-socket-ingress | |
namespace: "{{.Values.nodejs_namespace}}" | |
labels: | |
app: client-socket-ingress | |
data: | |
enable-sticky-sessions: 'true' ## use ROUTE cookie to provide session affinity | |
enable-vts-status: 'true' ## Allows the replacement of the default status page nginx-module-vts | |
worker-process: '1' | |
use-http2: 'false' | |
load-balance: 'ip_hash' | |
upstream-max-fails: '2' | |
upstream-fail-timeout: '10' |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment