mirror of
https://github.com/gravitl/netmaker.git
synced 2025-02-25 08:34:47 +08:00
adding kube yaml
This commit is contained in:
parent
230a4fb2f3
commit
2f8646cb3c
7 changed files with 300 additions and 0 deletions
59
kube/mongo-statefulset.yaml
Normal file
59
kube/mongo-statefulset.yaml
Normal file
|
@ -0,0 +1,59 @@
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
name: mongo
|
||||||
|
labels:
|
||||||
|
name: mongo
|
||||||
|
spec:
|
||||||
|
ports:
|
||||||
|
- port: 27017
|
||||||
|
targetPort: 27017
|
||||||
|
clusterIP: None
|
||||||
|
selector:
|
||||||
|
role: mongo
|
||||||
|
---
|
||||||
|
apiVersion: apps/v1
|
||||||
|
kind: StatefulSet
|
||||||
|
metadata:
|
||||||
|
name: mongo
|
||||||
|
spec:
|
||||||
|
serviceName: "mongo"
|
||||||
|
replicas: 1
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
role: mongo
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app: mongo
|
||||||
|
role: mongo
|
||||||
|
spec:
|
||||||
|
containers:
|
||||||
|
- name: mongo
|
||||||
|
image: mongo
|
||||||
|
env:
|
||||||
|
- name: MONGO_INITDB_ROOT_USERNAME
|
||||||
|
value: mongoadmin
|
||||||
|
- name: MONGO_INITDB_ROOT_PASSWORD
|
||||||
|
value: mongopass
|
||||||
|
securityContext:
|
||||||
|
privileged: true
|
||||||
|
volumeMounts:
|
||||||
|
- name: mongovol
|
||||||
|
mountPath: /data/db
|
||||||
|
volumes:
|
||||||
|
- name: mongovol
|
||||||
|
persistentVolumeClaim:
|
||||||
|
claimName: mongo-pvc
|
||||||
|
---
|
||||||
|
apiVersion: v1
|
||||||
|
kind: PersistentVolumeClaim
|
||||||
|
metadata:
|
||||||
|
name: mongo-pvc
|
||||||
|
spec:
|
||||||
|
accessModes:
|
||||||
|
- ReadWriteOnce
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
storage: 7Gi
|
||||||
|
storageClassName: longhorn
|
66
kube/netmaker-api.yaml
Normal file
66
kube/netmaker-api.yaml
Normal file
|
@ -0,0 +1,66 @@
|
||||||
|
apiVersion: apps/v1
|
||||||
|
kind: Deployment
|
||||||
|
metadata:
|
||||||
|
name: netmaker
|
||||||
|
labels:
|
||||||
|
app: netmaker
|
||||||
|
spec:
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
app: netmaker
|
||||||
|
replicas: 1
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app: netmaker
|
||||||
|
spec:
|
||||||
|
containers:
|
||||||
|
- name: netmaker
|
||||||
|
image: gravitl/netmaker:v0.5
|
||||||
|
ports:
|
||||||
|
- containerPort: 8081
|
||||||
|
env:
|
||||||
|
- name: SERVER_HOST
|
||||||
|
value: "api.test.netmaker.org"
|
||||||
|
- name: API_PORT
|
||||||
|
value: "8081"
|
||||||
|
- name: AGENT_BACKEND
|
||||||
|
value: "off"
|
||||||
|
- name: CLIENT_MODE
|
||||||
|
value: "off"
|
||||||
|
- name: DNS_MODE
|
||||||
|
value: "off"
|
||||||
|
- name: MASTER_KEY
|
||||||
|
value: "Unkn0wn!"
|
||||||
|
- name: SERVER_GRPC_WIREGUARD
|
||||||
|
value: "off"
|
||||||
|
- name: MASTER_KEY
|
||||||
|
value: "secretkey"
|
||||||
|
- name: CORS_ALLOWED_ORIGIN
|
||||||
|
value: "*"
|
||||||
|
- name: DISABLE_REMOTE_IP_CHECK
|
||||||
|
value: "on"
|
||||||
|
- name: MONGO_ADMIN
|
||||||
|
value: "mongoadmin"
|
||||||
|
- name: MONGO_PASS
|
||||||
|
value: "mongopass"
|
||||||
|
- name: MONGO_HOST
|
||||||
|
value: "mongo-0.mongo"
|
||||||
|
- name: MONGO_OPTS
|
||||||
|
value: "/?authSource=admin"
|
||||||
|
---
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app: netmaker
|
||||||
|
name: netmaker
|
||||||
|
spec:
|
||||||
|
ports:
|
||||||
|
- port: 8081
|
||||||
|
protocol: TCP
|
||||||
|
targetPort: 8081
|
||||||
|
selector:
|
||||||
|
app: netmaker
|
||||||
|
sessionAffinity: None
|
||||||
|
type: ClusterIP
|
68
kube/netmaker-grpc.yaml
Normal file
68
kube/netmaker-grpc.yaml
Normal file
|
@ -0,0 +1,68 @@
|
||||||
|
apiVersion: apps/v1
|
||||||
|
kind: Deployment
|
||||||
|
metadata:
|
||||||
|
name: netmaker-grpc
|
||||||
|
labels:
|
||||||
|
app: netmaker-grpc
|
||||||
|
spec:
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
app: netmaker-grpc
|
||||||
|
replicas: 1
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app: netmaker-grpc
|
||||||
|
spec:
|
||||||
|
containers:
|
||||||
|
- name: netmaker-grpc
|
||||||
|
image: gravitl/netmaker:v0.5
|
||||||
|
ports:
|
||||||
|
- containerPort: 50051
|
||||||
|
env:
|
||||||
|
- name: SERVER_HOST
|
||||||
|
value: "grpc.test.netmaker.org"
|
||||||
|
- name: CLIENT_MODE
|
||||||
|
value: "off"
|
||||||
|
- name: DNS_MODE
|
||||||
|
value: "off"
|
||||||
|
- name: MASTER_KEY
|
||||||
|
value: "Unkn0wn!"
|
||||||
|
- name: SERVER_GRPC_WIREGUARD
|
||||||
|
value: "off"
|
||||||
|
- name: MASTER_KEY
|
||||||
|
value: "secretkey"
|
||||||
|
- name: CORS_ALLOWED_ORIGIN
|
||||||
|
value: "*"
|
||||||
|
- name: DISABLE_REMOTE_IP_CHECK
|
||||||
|
value: "on"
|
||||||
|
- name: MONGO_ADMIN
|
||||||
|
value: "mongoadmin"
|
||||||
|
- name: MONGO_PASS
|
||||||
|
value: "mongopass"
|
||||||
|
- name: MONGO_HOST
|
||||||
|
value: "mongo-0.mongo"
|
||||||
|
- name: MONGO_OPTS
|
||||||
|
value: "/?authSource=admin"
|
||||||
|
- name: SERVER_GRPC_HOST
|
||||||
|
value: "0.0.0.0"
|
||||||
|
- name: GRPC_PORT
|
||||||
|
value: "50051"
|
||||||
|
- name: REST_BACKEND
|
||||||
|
value: "off"
|
||||||
|
---
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app: netmaker-grpc
|
||||||
|
name: netmaker-grpc
|
||||||
|
spec:
|
||||||
|
ports:
|
||||||
|
- port: 50051
|
||||||
|
protocol: TCP
|
||||||
|
targetPort: 50051
|
||||||
|
selector:
|
||||||
|
app: netmaker-grpc
|
||||||
|
sessionAffinity: None
|
||||||
|
type: ClusterIP
|
25
kube/netmaker-ingress-api.yaml
Normal file
25
kube/netmaker-ingress-api.yaml
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
apiVersion: extensions/v1beta1
|
||||||
|
kind: Ingress
|
||||||
|
metadata:
|
||||||
|
annotations:
|
||||||
|
kubernetes.io/ingress.class: "traefik"
|
||||||
|
kubernetes.io/ingress.allow-http: "false"
|
||||||
|
traefik.ingress.kubernetes.io/redirect-entry-point: https
|
||||||
|
traefik.ingress.kubernetes.io/redirect-permanent: "true"
|
||||||
|
traefik.ingress.kubernetes.io/rule-type: "PathPrefixStrip"
|
||||||
|
cert-manager.io/cluster-issuer: wildcard-issuer
|
||||||
|
name: nm-api-ingress
|
||||||
|
namespace: netmaker
|
||||||
|
spec:
|
||||||
|
rules:
|
||||||
|
- host: api.test.netmaker.org
|
||||||
|
http:
|
||||||
|
paths:
|
||||||
|
- path: /
|
||||||
|
backend:
|
||||||
|
serviceName: netmaker
|
||||||
|
servicePort: 8081
|
||||||
|
tls:
|
||||||
|
- hosts:
|
||||||
|
- api.test.netmaker.org
|
||||||
|
secretName: cert-nm-api
|
25
kube/netmaker-ingress-frontend.yaml
Normal file
25
kube/netmaker-ingress-frontend.yaml
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
apiVersion: extensions/v1beta1
|
||||||
|
kind: Ingress
|
||||||
|
metadata:
|
||||||
|
annotations:
|
||||||
|
kubernetes.io/ingress.class: "traefik"
|
||||||
|
kubernetes.io/ingress.allow-http: "false"
|
||||||
|
traefik.ingress.kubernetes.io/redirect-entry-point: https
|
||||||
|
traefik.ingress.kubernetes.io/redirect-permanent: "true"
|
||||||
|
traefik.ingress.kubernetes.io/rule-type: "PathPrefixStrip"
|
||||||
|
cert-manager.io/cluster-issuer: wildcard-issuer
|
||||||
|
name: nm-ui-ingress
|
||||||
|
namespace: netmaker
|
||||||
|
spec:
|
||||||
|
rules:
|
||||||
|
- host: nm.test.netmaker.org
|
||||||
|
http:
|
||||||
|
paths:
|
||||||
|
- path: /
|
||||||
|
backend:
|
||||||
|
serviceName: netmaker-ui
|
||||||
|
servicePort: 80
|
||||||
|
tls:
|
||||||
|
- hosts:
|
||||||
|
- nm.test.netmaker.org
|
||||||
|
secretName: cert-nm-ui
|
17
kube/netmaker-ingress-grpc.yaml
Normal file
17
kube/netmaker-ingress-grpc.yaml
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
apiVersion: extensions/v1beta1
|
||||||
|
kind: Ingress
|
||||||
|
metadata:
|
||||||
|
annotations:
|
||||||
|
kubernetes.io/ingress.class: "traefik"
|
||||||
|
ingress.kubernetes.io/protocol: "h2c"
|
||||||
|
name: nm-grpc-ingress
|
||||||
|
namespace: netmaker
|
||||||
|
spec:
|
||||||
|
rules:
|
||||||
|
- host: grpc.test.netmaker.org
|
||||||
|
http:
|
||||||
|
paths:
|
||||||
|
- path: /
|
||||||
|
backend:
|
||||||
|
serviceName: netmaker-grpc
|
||||||
|
servicePort: 50051
|
40
kube/netmaker-ui.yaml
Normal file
40
kube/netmaker-ui.yaml
Normal file
|
@ -0,0 +1,40 @@
|
||||||
|
apiVersion: apps/v1
|
||||||
|
kind: Deployment
|
||||||
|
metadata:
|
||||||
|
name: netmaker-ui
|
||||||
|
labels:
|
||||||
|
app: netmaker-ui
|
||||||
|
spec:
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
app: netmaker-ui
|
||||||
|
replicas: 1
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app: netmaker-ui
|
||||||
|
spec:
|
||||||
|
containers:
|
||||||
|
- name: netmaker-ui
|
||||||
|
image: gravitl/netmaker-ui:v0.5
|
||||||
|
ports:
|
||||||
|
- containerPort: 80
|
||||||
|
env:
|
||||||
|
- name: BACKEND_URL
|
||||||
|
value: "https://api.test.netmaker.org"
|
||||||
|
---
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app: netmaker-ui
|
||||||
|
name: netmaker-ui
|
||||||
|
spec:
|
||||||
|
ports:
|
||||||
|
- port: 80
|
||||||
|
protocol: TCP
|
||||||
|
targetPort: 80
|
||||||
|
selector:
|
||||||
|
app: netmaker-ui
|
||||||
|
sessionAffinity: None
|
||||||
|
type: ClusterIP
|
Loading…
Reference in a new issue