cloudgateway.yml
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: cloudgateway
labels:
app: cloudgateway
spec:
replicas: 1
template:
metadata:
name: cloudgateway
labels:
app: cloudgateway
spec:
containers:
- name: cloudgateway
image:
imagePullPolicy: IfNotPresent
livenessProbe:
tcpSocket:
port: 5000
initialDelaySeconds: 15
periodSeconds: 15
env:
- name: CLOUD_EUREKA_DEFAULTZONE
value: "http://cloudeureka.default/eureka/,http://cloudeureka2.default/eureka/"
- name: JASYPT_ENCRYPTOR_PASSWORD
value: ""
volumeMounts:
- mountPath: /etc/localtime
name: localtime
volumes:
- name: localtime
hostPath:
path: /etc/localtime
restartPolicy: Always
imagePullSecrets:
- name: regcred
selector:
matchLabels:
app: cloudgateway
---
apiVersion: v1
kind: Service
metadata:
name: cloudgateway
spec:
selector:
app: cloudgateway
ports:
- name: http
port: 5000
type: NodePort
---
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: cloudgateway
annotations:
kubernetes.io/ingress.class: traefik
spec:
rules:
- http:
paths:
- path: /
backend:
serviceName: cloudgateway
servicePort: 5000
---
apiVersion: extensions/v1beta1
kind: DaemonSet
metadata:
name: cloudgateway
namespace: kube-system
labels:
k8s-app: cloudgateway
spec:
template:
metadata:
labels:
k8s-app: cloudgateway
name: cloudgateway
spec:
terminationGracePeriodSeconds: 60
restartPolicy: Always
serviceAccountName: ingress
containers:
- image: traefik
name: cloudgateway
resources:
limits:
cpu: 200m
memory: 30Mi
requests:
cpu: 100m
memory: 20Mi
ports:
- name: http
containerPort: 80
hostPort: 5000
args:
- --web
- --kubernetes
nodeSelector:
type: outer