Browse Source

adding kube yaml

afeiszli 4 years ago
parent
commit
2f8646cb3c

+ 59 - 0
kube/mongo-statefulset.yaml

@@ -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 - 0
kube/netmaker-api.yaml

@@ -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 - 0
kube/netmaker-grpc.yaml

@@ -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 - 0
kube/netmaker-ingress-api.yaml

@@ -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 - 0
kube/netmaker-ingress-frontend.yaml

@@ -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 - 0
kube/netmaker-ingress-grpc.yaml

@@ -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 - 0
kube/netmaker-ui.yaml

@@ -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