Skip to content

Instantly share code, notes, and snippets.

@kmassada
Created September 26, 2018 23:22
Show Gist options
  • Save kmassada/891107c42051dc8bcae7e81ccb8b9cf1 to your computer and use it in GitHub Desktop.
Save kmassada/891107c42051dc8bcae7e81ccb8b9cf1 to your computer and use it in GitHub Desktop.
apiVersion: apps/v1
kind: Deployment
metadata:
name: echoheaders
spec:
selector:
matchLabels:
app: echoheaders
replicas: 1
template:
metadata:
labels:
app: echoheaders
spec:
containers:
- name: echoheaders
image: gcr.io/google_containers/echoserver:1.8
ports:
- containerPort: 8080
readinessProbe:
httpGet:
path: /healthz
port: 8080
periodSeconds: 1
timeoutSeconds: 1
successThreshold: 1
failureThreshold: 10
env:
- name: NODE_NAME
valueFrom:
fieldRef:
fieldPath: spec.nodeName
- name: POD_NAME
valueFrom:
fieldRef:
fieldPath: metadata.name
- name: POD_NAMESPACE
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- name: POD_IP
valueFrom:
fieldRef:
fieldPath: status.podIP
---
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: my-app
labels:
run: my-app
spec:
replicas: 3
selector:
matchLabels:
run: my-app
template:
metadata:
labels:
run: my-app
spec:
containers:
- image: gcr.io/google-samples/hello-app:1.0
name: my-app
ports:
- containerPort: 8080
---
apiVersion: v1
kind: Service
metadata:
name: echoheadersx
labels:
app: echoheaders
spec:
type: NodePort
ports:
- port: 80
targetPort: 8080
protocol: TCP
name: http
selector:
app: echoheaders
---
apiVersion: v1
kind: Service
metadata:
name: echoheadersw
labels:
app: echoheaders
spec:
type: NodePort
ports:
- port: 80
targetPort: 8080
protocol: TCP
name: http
selector:
app: echoheaders
---
apiVersion: v1
kind: Service
metadata:
name: echoheadersy
labels:
app: echoheaders
spec:
type: NodePort
ports:
- port: 80
targetPort: 8080
protocol: TCP
name: http
selector:
app: echoheaders
---
apiVersion: v1
kind: Service
metadata:
name: echoheadersz
labels:
app: echoheaders
spec:
type: NodePort
ports:
- port: 80
targetPort: 8080
protocol: TCP
name: http
selector:
app: echoheaders
---
kind: Service
apiVersion: v1
metadata:
name: my-service
spec:
type: NodePort
selector:
run: my-app
ports:
- port: 80
targetPort: 8080
---
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: echomap
spec:
rules:
- http:
paths:
- path: /foo
backend:
serviceName: echoheadersx
servicePort: 80
- http:
paths:
- path: /bar
backend:
serviceName: echoheadersy
servicePort: 80
- http:
paths:
- path: /low
backend:
serviceName: echoheadersw
servicePort: 80
- http:
paths:
- path: /high
backend:
serviceName: echoheadersz
servicePort: 80
- http:
paths:
- path: /mix
backend:
serviceName: my-service
servicePort: 80
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment