Removed docker swarm config
Added K8S config With big refactor
This commit is contained in:
130
deploy/k8s/api-gateway.yml
Normal file
130
deploy/k8s/api-gateway.yml
Normal file
@@ -0,0 +1,130 @@
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: api-gateway
|
||||
namespace: egommerce
|
||||
spec:
|
||||
type: NodePort
|
||||
ports:
|
||||
- name: https
|
||||
port: 8443
|
||||
nodePort: 31800
|
||||
selector:
|
||||
app: api-gateway
|
||||
---
|
||||
kind: IngressClass
|
||||
apiVersion: networking.k8s.io/v1
|
||||
metadata:
|
||||
name: haproxy
|
||||
namespace: egommerce
|
||||
spec:
|
||||
controller: haproxy.org/ingress-controller/haproxy
|
||||
---
|
||||
apiVersion: networking.k8s.io/v1
|
||||
kind: Ingress
|
||||
metadata:
|
||||
name: api-gateway
|
||||
namespace: egommerce
|
||||
annotations:
|
||||
haproxy.org/server-ssl: "true"
|
||||
haproxy.org/server-ca: "egommerce/ca-root"
|
||||
haproxy.org/path-rewrite: |
|
||||
/api/identity/(.*) /\1
|
||||
/api/catalog/(.*) /\1
|
||||
spec:
|
||||
ingressClassName: haproxy
|
||||
tls:
|
||||
- secretName: api-gateway-cert
|
||||
hosts:
|
||||
- "egommerce.io" # FIXME use domain name here eg. egommerce.io
|
||||
rules:
|
||||
- host: egommerce.io
|
||||
http:
|
||||
paths:
|
||||
- path: /api/identity
|
||||
pathType: Prefix
|
||||
backend:
|
||||
service:
|
||||
name: identity-svc
|
||||
port:
|
||||
number: 443
|
||||
# - path: /api/catalog
|
||||
# pathType: Prefix
|
||||
# backend:
|
||||
# service:
|
||||
# name: catalog-svc
|
||||
# port:
|
||||
# number: 443
|
||||
---
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: api-gateway
|
||||
namespace: egommerce
|
||||
spec:
|
||||
replicas: 1
|
||||
selector:
|
||||
matchLabels:
|
||||
app: api-gateway
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app: api-gateway
|
||||
spec:
|
||||
restartPolicy: Always
|
||||
containers:
|
||||
- name: api-gateway
|
||||
image: git.ego.freeddns.org/egommerce/api-gateway:dev
|
||||
imagePullPolicy: Always
|
||||
resources:
|
||||
limits:
|
||||
cpu: 100m
|
||||
memory: 512Mi
|
||||
requests:
|
||||
cpu: 50m
|
||||
memory: 256Mi
|
||||
ports:
|
||||
- containerPort: 8443
|
||||
args:
|
||||
- --configmap=egommerce/api-gateway
|
||||
- --publish-service=egommerce/api-gateway
|
||||
- --ingress.class=haproxy
|
||||
# - --http-bind-port=8080
|
||||
- --https-bind-port=8443
|
||||
env:
|
||||
- name: POD_NAME
|
||||
valueFrom:
|
||||
fieldRef:
|
||||
apiVersion: v1
|
||||
fieldPath: metadata.name
|
||||
- name: POD_NAMESPACE
|
||||
valueFrom:
|
||||
fieldRef:
|
||||
apiVersion: v1
|
||||
fieldPath: metadata.namespace
|
||||
- name: POD_IP
|
||||
valueFrom:
|
||||
fieldRef:
|
||||
apiVersion: v1
|
||||
fieldPath: status.podIP
|
||||
securityContext:
|
||||
capabilities:
|
||||
add:
|
||||
- NET_BIND_SERVICE
|
||||
drop:
|
||||
- ALL
|
||||
# runAsUser: 1000
|
||||
# runAsGroup: 1000
|
||||
# runAsNonRoot: true
|
||||
# allowPrivilegeEscalation: false
|
||||
# seccompProfile:
|
||||
# type: RuntimeDefault
|
||||
volumeMounts:
|
||||
- name: root-ca
|
||||
mountPath: /etc/certs/root-ca.pem
|
||||
readOnly: true
|
||||
volumes:
|
||||
- name: root-ca
|
||||
hostPath:
|
||||
path: /egommerce/stack/deploy/certs/ca-root/ca-root.pem
|
||||
type: File
|
||||
Reference in New Issue
Block a user