mirror of
https://github.com/gravitl/netmaker.git
synced 2025-09-27 05:08:11 +08:00
initial commit on new k8s templates
This commit is contained in:
13
k8s/netmaker-ha/kustomization.yml
Normal file
13
k8s/netmaker-ha/kustomization.yml
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||||
|
kind: Kustomization
|
||||||
|
namespace: netmaker
|
||||||
|
resources:
|
||||||
|
- database/
|
||||||
|
- server/
|
||||||
|
- mq/
|
||||||
|
- ui/
|
||||||
|
- netmaker-deploy.yml
|
||||||
|
- netmaker-ing.yml
|
||||||
|
- netmaker-pvc.yml
|
||||||
|
- netmaker-sa.yml
|
||||||
|
- netmaker-ns.yml
|
76
k8s/netmaker-ha/netmaker-ing.yml
Normal file
76
k8s/netmaker-ha/netmaker-ing.yml
Normal file
@@ -0,0 +1,76 @@
|
|||||||
|
apiVersion: networking.k8s.io/v1
|
||||||
|
kind: Ingress
|
||||||
|
metadata:
|
||||||
|
name: &app "netmaker"
|
||||||
|
annotations:
|
||||||
|
nginx.ingress.kubernetes.io/ssl-redirect: "true"
|
||||||
|
nginx.ingress.kubernetes.io/force-ssl-redirect: "true"
|
||||||
|
nginx.ingress.kubernetes.io/rewrite-target: /
|
||||||
|
nginx.ingress.kubernetes.io/secure-backends: "true"
|
||||||
|
kubernetes.io/ingress.class: "nginx"
|
||||||
|
spec:
|
||||||
|
rules:
|
||||||
|
- host: netmaker.<path:apps-kv/data/general#DN>
|
||||||
|
http:
|
||||||
|
paths:
|
||||||
|
- path: /
|
||||||
|
pathType: Prefix
|
||||||
|
backend:
|
||||||
|
service:
|
||||||
|
name: *app
|
||||||
|
port:
|
||||||
|
number: 80
|
||||||
|
tls:
|
||||||
|
- hosts:
|
||||||
|
- netmaker.<path:apps-kv/data/general#DN>
|
||||||
|
secretName: netmaker-tls
|
||||||
|
---
|
||||||
|
apiVersion: networking.k8s.io/v1
|
||||||
|
kind: Ingress
|
||||||
|
metadata:
|
||||||
|
name: netmaker-api
|
||||||
|
annotations:
|
||||||
|
nginx.ingress.kubernetes.io/ssl-redirect: "true"
|
||||||
|
nginx.ingress.kubernetes.io/rewrite-target: /
|
||||||
|
kubernetes.io/ingress.class: "nginx"
|
||||||
|
spec:
|
||||||
|
rules:
|
||||||
|
- host: api.netmaker.<path:apps-kv/data/general#DN>
|
||||||
|
http:
|
||||||
|
paths:
|
||||||
|
- path: /
|
||||||
|
pathType: Prefix
|
||||||
|
backend:
|
||||||
|
service:
|
||||||
|
name: netmaker-api
|
||||||
|
port:
|
||||||
|
number: 8081
|
||||||
|
tls:
|
||||||
|
- hosts:
|
||||||
|
- api.netmaker.<path:apps-kv/data/general#DN>
|
||||||
|
secretName: netmaker-tls
|
||||||
|
---
|
||||||
|
apiVersion: networking.k8s.io/v1
|
||||||
|
kind: Ingress
|
||||||
|
metadata:
|
||||||
|
name: netmaker-grpc
|
||||||
|
annotations:
|
||||||
|
kubernetes.io/ingress.class: "nginx"
|
||||||
|
nginx.ingress.kubernetes.io/ssl-redirect: 'true'
|
||||||
|
nginx.ingress.kubernetes.io/backend-protocol: "GRPC"
|
||||||
|
spec:
|
||||||
|
rules:
|
||||||
|
- host: grpc.netmaker.<path:apps-kv/data/general#DN>
|
||||||
|
http:
|
||||||
|
paths:
|
||||||
|
- path: /
|
||||||
|
pathType: Prefix
|
||||||
|
backend:
|
||||||
|
service:
|
||||||
|
name: netmaker-grpc
|
||||||
|
port:
|
||||||
|
number: 443
|
||||||
|
tls:
|
||||||
|
- hosts:
|
||||||
|
- grpc.netmaker.<path:apps-kv/data/general#DN>
|
||||||
|
secretName: netmaker-tls
|
4
k8s/netmaker-ha/netmaker-ns.yml
Normal file
4
k8s/netmaker-ha/netmaker-ns.yml
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
kind: Namespace
|
||||||
|
apiVersion: v1
|
||||||
|
metadata:
|
||||||
|
name: netmaker
|
26
k8s/netmaker-ha/netmaker-pvc.yml
Normal file
26
k8s/netmaker-ha/netmaker-pvc.yml
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
---
|
||||||
|
kind: PersistentVolumeClaim
|
||||||
|
apiVersion: v1
|
||||||
|
metadata:
|
||||||
|
name: netmaker
|
||||||
|
spec:
|
||||||
|
storageClassName: managed-nfs-storage
|
||||||
|
accessModes:
|
||||||
|
- ReadWriteMany
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
storage: 5Gi
|
||||||
|
---
|
||||||
|
kind: PersistentVolumeClaim
|
||||||
|
apiVersion: v1
|
||||||
|
metadata:
|
||||||
|
name: netmaker-rqlite
|
||||||
|
annotations:
|
||||||
|
nfs.io/storage-path: "data01/netmaker/rqlite"
|
||||||
|
spec:
|
||||||
|
storageClassName: managed-nfs-storage
|
||||||
|
accessModes:
|
||||||
|
- ReadWriteMany
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
storage: 5Gi
|
5
k8s/netmaker-ha/netmaker-sa.yml
Normal file
5
k8s/netmaker-ha/netmaker-sa.yml
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
---
|
||||||
|
apiVersion: v1
|
||||||
|
kind: ServiceAccount
|
||||||
|
metadata:
|
||||||
|
name: netmaker
|
6
k8s/netmaker-ha/server/kustomization.yml
Normal file
6
k8s/netmaker-ha/server/kustomization.yml
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||||
|
kind: Kustomization
|
||||||
|
namespace: netmaker
|
||||||
|
resources:
|
||||||
|
- netmaker-deploy.yml
|
||||||
|
- netmaker-svc.yml
|
115
k8s/netmaker-ha/server/netmaker-backend-deploy.yml
Normal file
115
k8s/netmaker-ha/server/netmaker-backend-deploy.yml
Normal file
@@ -0,0 +1,115 @@
|
|||||||
|
apiVersion: apps/v1
|
||||||
|
kind: StatefulSet
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app: netmaker
|
||||||
|
name: netmaker
|
||||||
|
spec:
|
||||||
|
replicas: 1
|
||||||
|
serviceName: netmaker-headless
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
app: netmaker
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app: netmaker
|
||||||
|
spec:
|
||||||
|
initContainers:
|
||||||
|
- name: init-sysctl
|
||||||
|
image: busybox
|
||||||
|
imagePullPolicy: IfNotPresent
|
||||||
|
command: ["/bin/sh", "-c"]
|
||||||
|
args: ["sysctl -w net.ipv4.ip_forward=1 && sysctl -w net.ipv4.conf.all.src_valid_mark=1 && sysctl -w net.ipv6.conf.all.disable_ipv6=0 && sysctl -w net.ipv6.conf.all.forwarding=1"]
|
||||||
|
securityContext:
|
||||||
|
privileged: true
|
||||||
|
dnsPolicy: ClusterFirstWithHostNet
|
||||||
|
affinity:
|
||||||
|
podAntiAffinity:
|
||||||
|
requiredDuringSchedulingIgnoredDuringExecution:
|
||||||
|
- labelSelector:
|
||||||
|
matchExpressions:
|
||||||
|
- key: app
|
||||||
|
operator: In
|
||||||
|
values:
|
||||||
|
- netmaker
|
||||||
|
topologyKey: "kubernetes.io/hostname"
|
||||||
|
containers:
|
||||||
|
- env:
|
||||||
|
- name: SERVER_NAME
|
||||||
|
value: broker.nm.k8s.clustercat.com
|
||||||
|
- name: SERVER_API_CONN_STRING
|
||||||
|
value: api.nm.k8s.clustercat.com:443
|
||||||
|
- name: SERVER_HTTP_HOST
|
||||||
|
value: api.nm.k8s.clustercat.com
|
||||||
|
- name: API_PORT
|
||||||
|
value: "8081"
|
||||||
|
- name: WG_QUICK_USERSPACE_IMPLEMENTATION
|
||||||
|
value: wireguard-go
|
||||||
|
- name: DNS_MODE
|
||||||
|
value: "off"
|
||||||
|
- name: CLIENT_MODE
|
||||||
|
value: "on"
|
||||||
|
- name: DISPLAY_KEYS
|
||||||
|
value: "on"
|
||||||
|
- name: DATABASE
|
||||||
|
value: sqlite
|
||||||
|
- name: MASTER_KEY
|
||||||
|
value: cqYXwQGWiLKj
|
||||||
|
- name: PLATFORM
|
||||||
|
value: Kubernetes
|
||||||
|
- name: CORS_ALLOWED_ORIGIN
|
||||||
|
value: '*'
|
||||||
|
- name: MQ_HOST
|
||||||
|
value: "mq"
|
||||||
|
- name: MQ_PORT
|
||||||
|
value: "31883"
|
||||||
|
- name: PLATFORM
|
||||||
|
value: "Kubernetes"
|
||||||
|
- name: VERBOSITY
|
||||||
|
value: "3"
|
||||||
|
image: gravitl/netmaker:v0.14.3
|
||||||
|
imagePullPolicy: Always
|
||||||
|
name: netmaker
|
||||||
|
ports:
|
||||||
|
- containerPort: 8081
|
||||||
|
protocol: TCP
|
||||||
|
- containerPort: 31821
|
||||||
|
protocol: UDP
|
||||||
|
- containerPort: 31822
|
||||||
|
protocol: UDP
|
||||||
|
- containerPort: 31823
|
||||||
|
protocol: UDP
|
||||||
|
- containerPort: 31824
|
||||||
|
protocol: UDP
|
||||||
|
- containerPort: 31825
|
||||||
|
protocol: UDP
|
||||||
|
- containerPort: 31826
|
||||||
|
protocol: UDP
|
||||||
|
- containerPort: 31827
|
||||||
|
protocol: UDP
|
||||||
|
- containerPort: 31828
|
||||||
|
protocol: UDP
|
||||||
|
- containerPort: 31829
|
||||||
|
protocol: UDP
|
||||||
|
- containerPort: 31830
|
||||||
|
protocol: UDP
|
||||||
|
resources: {}
|
||||||
|
securityContext:
|
||||||
|
capabilities:
|
||||||
|
add:
|
||||||
|
- NET_ADMIN
|
||||||
|
- NET_RAW
|
||||||
|
- SYS_MODULE
|
||||||
|
volumeMounts:
|
||||||
|
- mountPath: /etc/netmaker/
|
||||||
|
name: shared-certs
|
||||||
|
- mountPath: /root/data
|
||||||
|
name: netmaker-data
|
||||||
|
volumes:
|
||||||
|
- name: shared-certs
|
||||||
|
persistentVolumeClaim:
|
||||||
|
claimName: shared-certs-pvc
|
||||||
|
- name: netmaker-data
|
||||||
|
persistentVolumeClaim:
|
||||||
|
claimName: netmaker-data-pvc
|
32
k8s/netmaker-ha/server/netmaker-backend-svc.yml
Normal file
32
k8s/netmaker-ha/server/netmaker-backend-svc.yml
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
---
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
labels: &labels
|
||||||
|
app: netmaker-backend
|
||||||
|
part-of: netmaker
|
||||||
|
name: netmaker-api
|
||||||
|
spec:
|
||||||
|
ports:
|
||||||
|
- port: 8081
|
||||||
|
protocol: TCP
|
||||||
|
targetPort: backend
|
||||||
|
selector: *labels
|
||||||
|
sessionAffinity: None
|
||||||
|
type: ClusterIP
|
||||||
|
---
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
labels: &labels
|
||||||
|
app: netmaker-backend
|
||||||
|
part-of: netmaker
|
||||||
|
name: netmaker-grpc
|
||||||
|
spec:
|
||||||
|
ports:
|
||||||
|
- port: 443
|
||||||
|
protocol: TCP
|
||||||
|
targetPort: backend-grpc
|
||||||
|
selector: *labels
|
||||||
|
sessionAffinity: None
|
||||||
|
type: ClusterIP
|
4
k8s/netmaker-singlenode/01-namespace.yaml
Normal file
4
k8s/netmaker-singlenode/01-namespace.yaml
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Namespace
|
||||||
|
metadata:
|
||||||
|
name: netmaker
|
26
k8s/netmaker-singlenode/02-pvc.yaml
Normal file
26
k8s/netmaker-singlenode/02-pvc.yaml
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
---
|
||||||
|
kind: PersistentVolumeClaim
|
||||||
|
apiVersion: v1
|
||||||
|
metadata:
|
||||||
|
name: nm-sqldata
|
||||||
|
namespace: netmaker
|
||||||
|
spec:
|
||||||
|
accessModes:
|
||||||
|
- ReadWriteOnce
|
||||||
|
storageClassName: STORAGE_CLASS_RWO
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
storage: 500Mi
|
||||||
|
---
|
||||||
|
kind: PersistentVolumeClaim
|
||||||
|
apiVersion: v1
|
||||||
|
metadata:
|
||||||
|
name: nm-mq-certs
|
||||||
|
namespace: netmaker
|
||||||
|
spec:
|
||||||
|
accessModes:
|
||||||
|
- ReadWriteMany
|
||||||
|
storageClassName: STORAGE_CLASS_RWX
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
storage: 50Mi
|
107
k8s/netmaker-singlenode/03-svc.yaml
Normal file
107
k8s/netmaker-singlenode/03-svc.yaml
Normal file
@@ -0,0 +1,107 @@
|
|||||||
|
---
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
name: 'netmaker-wireguard'
|
||||||
|
spec:
|
||||||
|
externalTrafficPolicy: Local
|
||||||
|
type: NodePort
|
||||||
|
ports:
|
||||||
|
- port: 31821
|
||||||
|
nodePort: 31821
|
||||||
|
protocol: UDP
|
||||||
|
targetPort: 31821
|
||||||
|
name: wg-iface-31821
|
||||||
|
- port: 31822
|
||||||
|
nodePort: 31822
|
||||||
|
protocol: UDP
|
||||||
|
targetPort: 31822
|
||||||
|
name: wg-iface-31822
|
||||||
|
- port: 31823
|
||||||
|
nodePort: 31823
|
||||||
|
protocol: UDP
|
||||||
|
targetPort: 31823
|
||||||
|
name: wg-iface-31823
|
||||||
|
- port: 31824
|
||||||
|
nodePort: 31824
|
||||||
|
protocol: UDP
|
||||||
|
targetPort: 31824
|
||||||
|
name: wg-iface-31824
|
||||||
|
- port: 31825
|
||||||
|
nodePort: 31825
|
||||||
|
protocol: UDP
|
||||||
|
targetPort: 31825
|
||||||
|
name: wg-iface-31825
|
||||||
|
selector:
|
||||||
|
app: 'netmaker'
|
||||||
|
---
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
name: 'netmaker-rest'
|
||||||
|
spec:
|
||||||
|
ports:
|
||||||
|
- name: rest
|
||||||
|
port: 8081
|
||||||
|
protocol: TCP
|
||||||
|
targetPort: 8081
|
||||||
|
selector:
|
||||||
|
app: 'netmaker'
|
||||||
|
sessionAffinity: None
|
||||||
|
type: ClusterIP
|
||||||
|
---
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
namespace: netmaker
|
||||||
|
labels:
|
||||||
|
app: netmaker
|
||||||
|
name: netmaker-ui
|
||||||
|
spec:
|
||||||
|
ports:
|
||||||
|
- port: 80
|
||||||
|
protocol: TCP
|
||||||
|
targetPort: 80
|
||||||
|
selector:
|
||||||
|
app: netmaker
|
||||||
|
sessionAffinity: None
|
||||||
|
type: ClusterIP
|
||||||
|
# ---
|
||||||
|
# apiVersion: v1
|
||||||
|
# kind: Service
|
||||||
|
# metadata:
|
||||||
|
# name: mq
|
||||||
|
# namespace: netmaker
|
||||||
|
# spec:
|
||||||
|
# ports:
|
||||||
|
# - name: mqtt
|
||||||
|
# port: 1883
|
||||||
|
# protocol: TCP
|
||||||
|
# targetPort: mqtt
|
||||||
|
# - name: mqtt2
|
||||||
|
# port: 8883
|
||||||
|
# protocol: TCP
|
||||||
|
# targetPort: mqtt2
|
||||||
|
# selector:
|
||||||
|
# app.kubernetes.io/instance: mosquitto
|
||||||
|
# app.kubernetes.io/name: mosquitto
|
||||||
|
# sessionAffinity: None
|
||||||
|
# ---
|
||||||
|
# apiVersion: v1
|
||||||
|
# kind: Service
|
||||||
|
# metadata:
|
||||||
|
# labels:
|
||||||
|
# name: 'netmaker-mqtt'
|
||||||
|
# spec:
|
||||||
|
# externalTrafficPolicy: Local
|
||||||
|
# type: NodePort
|
||||||
|
# selector:
|
||||||
|
# app.kubernetes.io/instance: mosquitto
|
||||||
|
# app.kubernetes.io/name: mosquitto
|
||||||
|
# ports:
|
||||||
|
# - port: 31883
|
||||||
|
# nodePort: 31883
|
||||||
|
# protocol: TCP
|
||||||
|
# targetPort: 8883
|
||||||
|
# name: nm-mqtt
|
18
k8s/netmaker-singlenode/04-configmap.yaml
Normal file
18
k8s/netmaker-singlenode/04-configmap.yaml
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
---
|
||||||
|
apiVersion: v1
|
||||||
|
data:
|
||||||
|
mosquitto.conf: |
|
||||||
|
per_listener_settings true
|
||||||
|
listener 8883
|
||||||
|
allow_anonymous false
|
||||||
|
require_certificate true
|
||||||
|
use_identity_as_username true
|
||||||
|
cafile /mosquitto/certs/root.pem
|
||||||
|
certfile /mosquitto/certs/server.pem
|
||||||
|
keyfile /mosquitto/certs/server.key
|
||||||
|
listener 1883
|
||||||
|
allow_anonymous true
|
||||||
|
kind: ConfigMap
|
||||||
|
metadata:
|
||||||
|
name: mosquitto-config
|
||||||
|
namespace: netmaker
|
52
k8s/netmaker-singlenode/05-ingress-nginx.yaml
Normal file
52
k8s/netmaker-singlenode/05-ingress-nginx.yaml
Normal file
@@ -0,0 +1,52 @@
|
|||||||
|
---
|
||||||
|
apiVersion: networking.k8s.io/v1
|
||||||
|
kind: Ingress
|
||||||
|
metadata:
|
||||||
|
name: nm-api-ingress
|
||||||
|
annotations:
|
||||||
|
nginx.ingress.kubernetes.io/rewrite-target: /
|
||||||
|
cert-manager.io/cluster-issuer: "letsencrypt-nginx"
|
||||||
|
nginx.ingress.kubernetes.io/ssl-redirect: 'true'
|
||||||
|
spec:
|
||||||
|
ingressClassName: nginx
|
||||||
|
tls:
|
||||||
|
- hosts:
|
||||||
|
- api.BASE_DOMAIN
|
||||||
|
secretName: nm-api-tls
|
||||||
|
rules:
|
||||||
|
- host: api.BASE_DOMAIN
|
||||||
|
http:
|
||||||
|
paths:
|
||||||
|
- path: /
|
||||||
|
pathType: Prefix
|
||||||
|
backend:
|
||||||
|
service:
|
||||||
|
name: netmaker-rest
|
||||||
|
port:
|
||||||
|
number: 8081
|
||||||
|
---
|
||||||
|
apiVersion: networking.k8s.io/v1
|
||||||
|
kind: Ingress
|
||||||
|
metadata:
|
||||||
|
name: nm-ui-ingress
|
||||||
|
annotations:
|
||||||
|
nginx.ingress.kubernetes.io/rewrite-target: /
|
||||||
|
cert-manager.io/cluster-issuer: "letsencrypt-nginx"
|
||||||
|
nginx.ingress.kubernetes.io/ssl-redirect: 'true'
|
||||||
|
spec:
|
||||||
|
ingressClassName: nginx
|
||||||
|
tls:
|
||||||
|
- hosts:
|
||||||
|
- dashboard.BASE_DOMAIN
|
||||||
|
secretName: nm-ui-tls
|
||||||
|
rules:
|
||||||
|
- host: dashboard.BASE_DOMAIN
|
||||||
|
http:
|
||||||
|
paths:
|
||||||
|
- path: /
|
||||||
|
pathType: Prefix
|
||||||
|
backend:
|
||||||
|
service:
|
||||||
|
name: netmaker-ui
|
||||||
|
port:
|
||||||
|
number: 80
|
75
k8s/netmaker-singlenode/05-ingress-traefik.yaml
Normal file
75
k8s/netmaker-singlenode/05-ingress-traefik.yaml
Normal file
@@ -0,0 +1,75 @@
|
|||||||
|
---
|
||||||
|
apiVersion: traefik.containo.us/v1alpha1
|
||||||
|
kind: Middleware
|
||||||
|
metadata:
|
||||||
|
name: secheaders
|
||||||
|
namespace: netmaker
|
||||||
|
spec:
|
||||||
|
headers:
|
||||||
|
stsIncludeSubdomains: true
|
||||||
|
stsPreload: true
|
||||||
|
stsSeconds: 31536000
|
||||||
|
forceSTSHeader: true
|
||||||
|
sslRedirect: true
|
||||||
|
referrerPolicy: "same-origin"
|
||||||
|
frameDeny: true
|
||||||
|
contentTypeNosniff: true
|
||||||
|
browserXssFilter: true
|
||||||
|
accessControlAllowMethods: ["GET", "OPTIONS", "PUT"]
|
||||||
|
accessControlMaxAge: 100
|
||||||
|
customFrameOptionsValue: SAMEORIGIN
|
||||||
|
contentSecurityPolicy: frame-ancestors 'self'
|
||||||
|
permissionsPolicy: geolocation=(), microphone=()
|
||||||
|
referrerPolicy: no-referrer
|
||||||
|
---
|
||||||
|
apiVersion: traefik.containo.us/v1alpha1
|
||||||
|
kind: IngressRoute
|
||||||
|
metadata:
|
||||||
|
name: nm-api-ingress-tls
|
||||||
|
namespace: netmaker
|
||||||
|
spec:
|
||||||
|
entryPoints:
|
||||||
|
- websecure
|
||||||
|
routes:
|
||||||
|
- match: Host(`api.BASE_DOMAIN`)
|
||||||
|
kind: Rule
|
||||||
|
services:
|
||||||
|
- name: netmaker-api
|
||||||
|
port: 8081
|
||||||
|
tls:
|
||||||
|
certResolver: CERT_PROVIDER
|
||||||
|
---
|
||||||
|
apiVersion: traefik.containo.us/v1alpha1
|
||||||
|
kind: IngressRoute
|
||||||
|
metadata:
|
||||||
|
name: nm-ui-ingress-tls
|
||||||
|
namespace: netmaker
|
||||||
|
spec:
|
||||||
|
entryPoints:
|
||||||
|
- websecure
|
||||||
|
routes:
|
||||||
|
- match: Host(`dashboard.BASE_DOMAIN`)
|
||||||
|
kind: Rule
|
||||||
|
services:
|
||||||
|
- name: netmaker-ui
|
||||||
|
port: 80
|
||||||
|
middlewares:
|
||||||
|
- name: secheaders
|
||||||
|
tls:
|
||||||
|
certResolver: CERT_PROVIDER
|
||||||
|
---
|
||||||
|
apiVersion: traefik.containo.us/v1alpha1
|
||||||
|
kind: IngressRouteTCP
|
||||||
|
metadata:
|
||||||
|
namespace: netmaker
|
||||||
|
name: nm-mq-ingress-tls
|
||||||
|
spec:
|
||||||
|
entryPoints:
|
||||||
|
- websecure
|
||||||
|
routes:
|
||||||
|
- match: HostSNI(`broker.BASE_DOMAIN`)
|
||||||
|
services:
|
||||||
|
- name: netmaker-mq
|
||||||
|
port: 8883
|
||||||
|
tls:
|
||||||
|
passthrough: true
|
156
k8s/netmaker-singlenode/06-deployment.yaml
Normal file
156
k8s/netmaker-singlenode/06-deployment.yaml
Normal file
@@ -0,0 +1,156 @@
|
|||||||
|
---
|
||||||
|
apiVersion: apps/v1
|
||||||
|
kind: Deployment
|
||||||
|
metadata:
|
||||||
|
name: netmaker
|
||||||
|
namespace: netmaker
|
||||||
|
labels:
|
||||||
|
app: netmaker
|
||||||
|
spec:
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
app: netmaker
|
||||||
|
replicas: 1
|
||||||
|
strategy:
|
||||||
|
type: Recreate
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app: netmaker
|
||||||
|
spec:
|
||||||
|
initContainers:
|
||||||
|
- name: init-sysctl
|
||||||
|
image: busybox
|
||||||
|
imagePullPolicy: IfNotPresent
|
||||||
|
command: ["/bin/sh", "-c"]
|
||||||
|
args: ["sysctl -w net.ipv4.ip_forward=1 && sysctl -w net.ipv4.conf.all.src_valid_mark=1 && sysctl -w net.ipv6.conf.all.disable_ipv6=0 && sysctl -w net.ipv6.conf.all.forwarding=1"]
|
||||||
|
securityContext:
|
||||||
|
privileged: true
|
||||||
|
dnsPolicy: ClusterFirstWithHostNet
|
||||||
|
affinity:
|
||||||
|
podAntiAffinity:
|
||||||
|
requiredDuringSchedulingIgnoredDuringExecution:
|
||||||
|
- labelSelector:
|
||||||
|
matchExpressions:
|
||||||
|
- key: app
|
||||||
|
operator: In
|
||||||
|
values:
|
||||||
|
- netmaker
|
||||||
|
topologyKey: "kubernetes.io/hostname"
|
||||||
|
containers:
|
||||||
|
- env:
|
||||||
|
- name: SERVER_NAME
|
||||||
|
value: broker.BASE_DOMAIN
|
||||||
|
- name: SERVER_API_CONN_STRING
|
||||||
|
value: api.BASE_DOMAIN:443
|
||||||
|
- name: SERVER_HTTP_HOST
|
||||||
|
value: api.BASE_DOMAIN
|
||||||
|
- name: API_PORT
|
||||||
|
value: "8081"
|
||||||
|
- name: WG_QUICK_USERSPACE_IMPLEMENTATION
|
||||||
|
value: wireguard-go
|
||||||
|
- name: DNS_MODE
|
||||||
|
value: "off"
|
||||||
|
- name: CLIENT_MODE
|
||||||
|
value: "on"
|
||||||
|
- name: DISPLAY_KEYS
|
||||||
|
value: "on"
|
||||||
|
- name: DATABASE
|
||||||
|
value: sqlite
|
||||||
|
- name: MASTER_KEY
|
||||||
|
value: REPLACE_MASTER_KEY
|
||||||
|
- name: PLATFORM
|
||||||
|
value: Kubernetes
|
||||||
|
- name: CORS_ALLOWED_ORIGIN
|
||||||
|
value: '*'
|
||||||
|
- name: MQ_HOST
|
||||||
|
value: "127.0.0.1"
|
||||||
|
# Uncomment this section if using the Nginx config
|
||||||
|
# - name: MQ_PORT
|
||||||
|
# value: "31883"
|
||||||
|
- name: PLATFORM
|
||||||
|
value: "Kubernetes"
|
||||||
|
- name: VERBOSITY
|
||||||
|
value: "3"
|
||||||
|
image: gravitl/netmaker:v0.14.3
|
||||||
|
imagePullPolicy: Always
|
||||||
|
name: netmaker
|
||||||
|
ports:
|
||||||
|
- containerPort: 8081
|
||||||
|
protocol: TCP
|
||||||
|
- containerPort: 31821
|
||||||
|
protocol: UDP
|
||||||
|
- containerPort: 31822
|
||||||
|
protocol: UDP
|
||||||
|
- containerPort: 31823
|
||||||
|
protocol: UDP
|
||||||
|
- containerPort: 31824
|
||||||
|
protocol: UDP
|
||||||
|
- containerPort: 31825
|
||||||
|
protocol: d
|
||||||
|
resources: {}
|
||||||
|
securityContext:
|
||||||
|
capabilities:
|
||||||
|
add:
|
||||||
|
- NET_ADMIN
|
||||||
|
- NET_RAW
|
||||||
|
- SYS_MODULE
|
||||||
|
volumeMounts:
|
||||||
|
- mountPath: /etc/netmaker/
|
||||||
|
name: shared-certs
|
||||||
|
- mountPath: /root/data
|
||||||
|
name: netmaker-data
|
||||||
|
- name: netmaker-ui
|
||||||
|
image: gravitl/netmaker-ui:v0.14.3
|
||||||
|
ports:
|
||||||
|
- containerPort: 80
|
||||||
|
env:
|
||||||
|
- name: BACKEND_URL
|
||||||
|
value: "https://api.netmaker.NETMAKER_BASE_DOMAIN"
|
||||||
|
- image: eclipse-mosquitto:2.0.11-openssl
|
||||||
|
imagePullPolicy: IfNotPresent
|
||||||
|
livenessProbe:
|
||||||
|
failureThreshold: 3
|
||||||
|
periodSeconds: 10
|
||||||
|
successThreshold: 1
|
||||||
|
tcpSocket:
|
||||||
|
port: 8883
|
||||||
|
timeoutSeconds: 1
|
||||||
|
name: mosquitto
|
||||||
|
ports:
|
||||||
|
- containerPort: 1883
|
||||||
|
name: mqtt
|
||||||
|
protocol: TCP
|
||||||
|
- containerPort: 8883
|
||||||
|
name: mqtt2
|
||||||
|
protocol: TCP
|
||||||
|
readinessProbe:
|
||||||
|
failureThreshold: 3
|
||||||
|
periodSeconds: 10
|
||||||
|
successThreshold: 1
|
||||||
|
tcpSocket:
|
||||||
|
port: 8883
|
||||||
|
timeoutSeconds: 1
|
||||||
|
resources: {}
|
||||||
|
startupProbe:
|
||||||
|
failureThreshold: 30
|
||||||
|
periodSeconds: 5
|
||||||
|
successThreshold: 1
|
||||||
|
tcpSocket:
|
||||||
|
port: 8883
|
||||||
|
timeoutSeconds: 1
|
||||||
|
terminationMessagePath: /dev/termination-log
|
||||||
|
terminationMessagePolicy: File
|
||||||
|
volumeMounts:
|
||||||
|
- mountPath: /mosquitto/config/mosquitto.conf
|
||||||
|
name: mosquitto-config
|
||||||
|
subPath: mosquitto.conf
|
||||||
|
- mountPath: /mosquitto/certs
|
||||||
|
name: shared-certs
|
||||||
|
volumes:
|
||||||
|
- name: nm-sqldata
|
||||||
|
persistentVolumeClaim:
|
||||||
|
claimName: nm-pvc-sqldata
|
||||||
|
- name: netmaker-mq-configmap
|
||||||
|
configMap:
|
||||||
|
name: netmaker-mq-configmap
|
0
k8s/netmaker-singlenode/README.md
Normal file
0
k8s/netmaker-singlenode/README.md
Normal file
@@ -1,59 +0,0 @@
|
|||||||
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: mongodb-pvc
|
|
||||||
---
|
|
||||||
apiVersion: v1
|
|
||||||
kind: PersistentVolumeClaim
|
|
||||||
metadata:
|
|
||||||
name: mongodb-pvc
|
|
||||||
spec:
|
|
||||||
accessModes:
|
|
||||||
- ReadWriteOnce
|
|
||||||
resources:
|
|
||||||
requests:
|
|
||||||
storage: 7Gi
|
|
||||||
storageClassName: microk8s-hostpath
|
|
@@ -1,62 +0,0 @@
|
|||||||
apiVersion: apps/v1
|
|
||||||
kind: DaemonSet
|
|
||||||
metadata:
|
|
||||||
name: netclient
|
|
||||||
labels:
|
|
||||||
app: netclient
|
|
||||||
spec:
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app: netclient
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
labels:
|
|
||||||
app: netclient
|
|
||||||
spec:
|
|
||||||
hostNetwork: true
|
|
||||||
containers:
|
|
||||||
- name: netclient
|
|
||||||
image: gravitl/netclient:v0.5.8
|
|
||||||
command: ['bash', '-c', "/root/netclient join -t $ACCESS_TOKEN --daemon off --name $(echo $NODE_NAME| sed -e s/.$NETWORK//); while true; do /root/netclient checkin -n $NETWORK; sleep $SLEEP; done"]
|
|
||||||
env:
|
|
||||||
- name: ACCESS_TOKEN
|
|
||||||
value: "ACCESS_TOKEN_VALUE"
|
|
||||||
- name: NETWORK
|
|
||||||
value: "microk8s"
|
|
||||||
- name: SLEEP
|
|
||||||
value: "30"
|
|
||||||
- name: NODE_NAME
|
|
||||||
valueFrom:
|
|
||||||
fieldRef:
|
|
||||||
fieldPath: spec.nodeName
|
|
||||||
volumeMounts:
|
|
||||||
- mountPath: /etc/netclient
|
|
||||||
name: etc-netclient
|
|
||||||
- mountPath: /usr/bin/wg
|
|
||||||
name: wg
|
|
||||||
- mountPath: /var/run/dbus/system_bus_socket
|
|
||||||
name: systemd-bus-socket
|
|
||||||
securityContext:
|
|
||||||
privileged: true
|
|
||||||
#capabilities:
|
|
||||||
# add:
|
|
||||||
# - ["NET_ADMIN","SYS_ADMIN","SYS_MODULE"]
|
|
||||||
volumes:
|
|
||||||
- hostPath:
|
|
||||||
path: /etc/netclient
|
|
||||||
type: DirectoryOrCreate
|
|
||||||
name: etc-netclient
|
|
||||||
- hostPath:
|
|
||||||
path: /usr/bin/wg
|
|
||||||
type: File
|
|
||||||
name: wg
|
|
||||||
- hostPath:
|
|
||||||
path: /usr/bin/resolvectl
|
|
||||||
type: File
|
|
||||||
name: resolvectl
|
|
||||||
- hostPath:
|
|
||||||
path: /var/run/dbus/system_bus_socket
|
|
||||||
type: ""
|
|
||||||
name: systemd-bus-socket
|
|
||||||
|
|
||||||
|
|
@@ -1,87 +0,0 @@
|
|||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: netmaker-api
|
|
||||||
labels:
|
|
||||||
app: netmaker-api
|
|
||||||
spec:
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app: netmaker-api
|
|
||||||
replicas: 1
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
labels:
|
|
||||||
app: netmaker-api
|
|
||||||
spec:
|
|
||||||
containers:
|
|
||||||
- name: netmaker-api
|
|
||||||
image: gravitl/netmaker:v0.5.7
|
|
||||||
ports:
|
|
||||||
- containerPort: 8081
|
|
||||||
volumeMounts:
|
|
||||||
- name: nm-pvc
|
|
||||||
mountPath: /root/config/dnsconfig
|
|
||||||
env:
|
|
||||||
- name: SERVER_API_CONN_STRING
|
|
||||||
value: "api.nm.k8s.gravitl.com:443"
|
|
||||||
- name: COREDNS_ADDR
|
|
||||||
value: "netmaker-dns"
|
|
||||||
- name: SERVER_HTTP_HOST
|
|
||||||
value: "api.nm.k8s.gravitl.com"
|
|
||||||
- name: API_PORT
|
|
||||||
value: "8081"
|
|
||||||
- name: AGENT_BACKEND
|
|
||||||
value: "off"
|
|
||||||
- name: CLIENT_MODE
|
|
||||||
value: "off"
|
|
||||||
- name: DNS_MODE
|
|
||||||
value: "on"
|
|
||||||
- name: MASTER_KEY
|
|
||||||
value: "Unkn0wn!"
|
|
||||||
- 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"
|
|
||||||
volumes:
|
|
||||||
- name: nm-pvc
|
|
||||||
persistentVolumeClaim:
|
|
||||||
claimName: nm-pvc
|
|
||||||
---
|
|
||||||
apiVersion: v1
|
|
||||||
kind: PersistentVolumeClaim
|
|
||||||
metadata:
|
|
||||||
name: nm-pvc
|
|
||||||
spec:
|
|
||||||
accessModes:
|
|
||||||
- ReadWriteMany
|
|
||||||
resources:
|
|
||||||
requests:
|
|
||||||
storage: 128Mi
|
|
||||||
storageClassName: microk8s-hostpath
|
|
||||||
---
|
|
||||||
apiVersion: v1
|
|
||||||
kind: Service
|
|
||||||
metadata:
|
|
||||||
labels:
|
|
||||||
app: netmaker-api
|
|
||||||
name: netmaker-api
|
|
||||||
spec:
|
|
||||||
ports:
|
|
||||||
- port: 8081
|
|
||||||
protocol: TCP
|
|
||||||
targetPort: 8081
|
|
||||||
selector:
|
|
||||||
app: netmaker-api
|
|
||||||
sessionAffinity: None
|
|
||||||
type: ClusterIP
|
|
@@ -1,98 +0,0 @@
|
|||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: netmaker-backend
|
|
||||||
labels:
|
|
||||||
app: netmaker-backend
|
|
||||||
spec:
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app: netmaker-backend
|
|
||||||
replicas: 1
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
labels:
|
|
||||||
app: netmaker-backend
|
|
||||||
spec:
|
|
||||||
containers:
|
|
||||||
- name: netmaker-backend
|
|
||||||
image: gravitl/netmaker:v0.5.7
|
|
||||||
ports:
|
|
||||||
- containerPort: 8081
|
|
||||||
volumeMounts:
|
|
||||||
- name: nm-pvc
|
|
||||||
mountPath: /root/config/dnsconfig
|
|
||||||
env:
|
|
||||||
- name: SERVER_API_CONN_STRING
|
|
||||||
value: "api.nm.k8s.gravitl.com:443"
|
|
||||||
- name: COREDNS_ADDR
|
|
||||||
value: "10.152.183.53"
|
|
||||||
- name: SERVER_HTTP_HOST
|
|
||||||
value: "api.k8s.gravitl.com"
|
|
||||||
- name: API_PORT
|
|
||||||
value: "8081"
|
|
||||||
- name: CLIENT_MODE
|
|
||||||
value: "off"
|
|
||||||
- name: MASTER_KEY
|
|
||||||
value: "Unkn0wn!"
|
|
||||||
- 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"
|
|
||||||
volumes:
|
|
||||||
- name: nm-pvc
|
|
||||||
persistentVolumeClaim:
|
|
||||||
claimName: nm-pvc
|
|
||||||
---
|
|
||||||
apiVersion: v1
|
|
||||||
kind: PersistentVolumeClaim
|
|
||||||
metadata:
|
|
||||||
name: nm-pvc
|
|
||||||
spec:
|
|
||||||
accessModes:
|
|
||||||
- ReadWriteMany
|
|
||||||
resources:
|
|
||||||
requests:
|
|
||||||
storage: 128Mi
|
|
||||||
storageClassName: microk8s-hostpath
|
|
||||||
---
|
|
||||||
apiVersion: v1
|
|
||||||
kind: Service
|
|
||||||
metadata:
|
|
||||||
labels:
|
|
||||||
app: netmaker-backend
|
|
||||||
name: netmaker-api
|
|
||||||
spec:
|
|
||||||
ports:
|
|
||||||
- port: 8081
|
|
||||||
protocol: TCP
|
|
||||||
targetPort: 8081
|
|
||||||
selector:
|
|
||||||
app: netmaker-backend
|
|
||||||
sessionAffinity: None
|
|
||||||
type: ClusterIP
|
|
||||||
---
|
|
||||||
apiVersion: v1
|
|
||||||
kind: Service
|
|
||||||
metadata:
|
|
||||||
labels:
|
|
||||||
app: netmaker-backend
|
|
||||||
spec:
|
|
||||||
ports:
|
|
||||||
- port: 443
|
|
||||||
protocol: TCP
|
|
||||||
targetPort: 443
|
|
||||||
selector:
|
|
||||||
app: netmaker-backend
|
|
||||||
sessionAffinity: None
|
|
||||||
type: ClusterIP
|
|
@@ -1,71 +0,0 @@
|
|||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: netmaker-dns
|
|
||||||
labels:
|
|
||||||
app: netmaker-dns
|
|
||||||
spec:
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app: netmaker-dns
|
|
||||||
replicas: 1
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
labels:
|
|
||||||
app: netmaker-dns
|
|
||||||
spec:
|
|
||||||
containers:
|
|
||||||
- args:
|
|
||||||
- -conf
|
|
||||||
- /root/dnsconfig/Corefile
|
|
||||||
image: coredns/coredns
|
|
||||||
imagePullPolicy: Always
|
|
||||||
name: netmaker-dns
|
|
||||||
ports:
|
|
||||||
- containerPort: 53
|
|
||||||
name: dns
|
|
||||||
protocol: UDP
|
|
||||||
- containerPort: 53
|
|
||||||
name: dns-tcp
|
|
||||||
protocol: TCP
|
|
||||||
volumeMounts:
|
|
||||||
- mountPath: /root/dnsconfig
|
|
||||||
name: nm-pvc
|
|
||||||
readOnly: true
|
|
||||||
securityContext:
|
|
||||||
allowPrivilegeEscalation: false
|
|
||||||
capabilities:
|
|
||||||
add:
|
|
||||||
- NET_BIND_SERVICE
|
|
||||||
drop:
|
|
||||||
- all
|
|
||||||
dnsPolicy: "None"
|
|
||||||
dnsConfig:
|
|
||||||
nameservers:
|
|
||||||
- 127.0.0.1
|
|
||||||
volumes:
|
|
||||||
- name: nm-pvc
|
|
||||||
persistentVolumeClaim:
|
|
||||||
claimName: nm-pvc
|
|
||||||
---
|
|
||||||
apiVersion: v1
|
|
||||||
kind: Service
|
|
||||||
metadata:
|
|
||||||
labels:
|
|
||||||
app: netmaker-dns
|
|
||||||
name: netmaker-dns
|
|
||||||
spec:
|
|
||||||
ports:
|
|
||||||
- port: 53
|
|
||||||
protocol: UDP
|
|
||||||
targetPort: 53
|
|
||||||
name: udp
|
|
||||||
- port: 53
|
|
||||||
protocol: TCP
|
|
||||||
targetPort: 53
|
|
||||||
name: tcp
|
|
||||||
selector:
|
|
||||||
app: netmaker-dns
|
|
||||||
sessionAffinity: None
|
|
||||||
type: ClusterIP
|
|
||||||
clusterIP: 10.152.183.53
|
|
@@ -1,82 +0,0 @@
|
|||||||
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.7
|
|
||||||
ports:
|
|
||||||
- containerPort: 443
|
|
||||||
volumeMounts:
|
|
||||||
- name: nm-pvc
|
|
||||||
mountPath: /root/dnsconfig
|
|
||||||
env:
|
|
||||||
- name: SERVER_API_CONN_STRING
|
|
||||||
value: "api.nm.k8s.gravitl.com:443"
|
|
||||||
- name: SERVER_GRPC_CONN_STRING
|
|
||||||
value: "grpc.nm.k8s.gravitl.com:443"
|
|
||||||
- name: COREDNS_ADDR
|
|
||||||
value: "netmaker-dns"
|
|
||||||
- name: GRPC_SSL
|
|
||||||
value: "on"
|
|
||||||
- name: CLIENT_MODE
|
|
||||||
value: "off"
|
|
||||||
- name: DNS_MODE
|
|
||||||
value: "on"
|
|
||||||
- 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: "443"
|
|
||||||
- name: REST_BACKEND
|
|
||||||
value: "off"
|
|
||||||
volumes:
|
|
||||||
- name: nm-pvc
|
|
||||||
persistentVolumeClaim:
|
|
||||||
claimName: nm-pvc
|
|
||||||
---
|
|
||||||
apiVersion: v1
|
|
||||||
kind: Service
|
|
||||||
metadata:
|
|
||||||
labels:
|
|
||||||
app: netmaker-grpc
|
|
||||||
name: netmaker-grpc
|
|
||||||
spec:
|
|
||||||
ports:
|
|
||||||
- port: 443
|
|
||||||
protocol: TCP
|
|
||||||
targetPort: 443
|
|
||||||
selector:
|
|
||||||
app: netmaker-grpc
|
|
||||||
sessionAffinity: None
|
|
||||||
type: ClusterIP
|
|
||||||
|
|
@@ -1,25 +0,0 @@
|
|||||||
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.NETMAKER_BASE_DOMAIN
|
|
||||||
http:
|
|
||||||
paths:
|
|
||||||
- path: /
|
|
||||||
backend:
|
|
||||||
serviceName: netmaker
|
|
||||||
servicePort: 8081
|
|
||||||
tls:
|
|
||||||
- hosts:
|
|
||||||
- api.NETMAKER_BASE_DOMAIN
|
|
||||||
secretName: cert-nm-api
|
|
@@ -1,25 +0,0 @@
|
|||||||
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: dashboard.NETMAKER_BASE_DOMAIN
|
|
||||||
http:
|
|
||||||
paths:
|
|
||||||
- path: /
|
|
||||||
backend:
|
|
||||||
serviceName: netmaker-ui
|
|
||||||
servicePort: 80
|
|
||||||
tls:
|
|
||||||
- hosts:
|
|
||||||
- dashboard.NETMAKER_BASE_DOMAIN
|
|
||||||
secretName: cert-nm-ui
|
|
@@ -1,17 +0,0 @@
|
|||||||
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.NETMAKER_BASE_DOMAIN
|
|
||||||
http:
|
|
||||||
paths:
|
|
||||||
- path: /
|
|
||||||
backend:
|
|
||||||
serviceName: netmaker-grpc
|
|
||||||
servicePort: 50051
|
|
@@ -1,345 +0,0 @@
|
|||||||
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: mongodb-pvc
|
|
||||||
---
|
|
||||||
apiVersion: v1
|
|
||||||
kind: PersistentVolumeClaim
|
|
||||||
metadata:
|
|
||||||
name: mongodb-pvc
|
|
||||||
spec:
|
|
||||||
accessModes:
|
|
||||||
- ReadWriteOnce
|
|
||||||
resources:
|
|
||||||
requests:
|
|
||||||
storage: 7Gi
|
|
||||||
storageClassName: microk8s-hostpath
|
|
||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: netmaker-backend
|
|
||||||
labels:
|
|
||||||
app: netmaker-backend
|
|
||||||
spec:
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app: netmaker-backend
|
|
||||||
replicas: 1
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
labels:
|
|
||||||
app: netmaker-backend
|
|
||||||
spec:
|
|
||||||
containers:
|
|
||||||
- name: netmaker-backend
|
|
||||||
image: gravitl/netmaker:v0.5.7
|
|
||||||
ports:
|
|
||||||
- containerPort: 8081
|
|
||||||
volumeMounts:
|
|
||||||
- name: nm-pvc
|
|
||||||
mountPath: /root/config/dnsconfig
|
|
||||||
env:
|
|
||||||
- name: SERVER_API_CONN_STRING
|
|
||||||
value: "api.NETMAKER_BASE_DOMAIN:443"
|
|
||||||
- name: COREDNS_ADDR
|
|
||||||
value: "10.152.183.53"
|
|
||||||
- name: SERVER_HTTP_HOST
|
|
||||||
value: "api.NETMAKER_BASE_DOMAIN"
|
|
||||||
- name: API_PORT
|
|
||||||
value: "8081"
|
|
||||||
- name: CLIENT_MODE
|
|
||||||
value: "off"
|
|
||||||
- name: MASTER_KEY
|
|
||||||
value: "Unkn0wn!"
|
|
||||||
- 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"
|
|
||||||
volumes:
|
|
||||||
- name: nm-pvc
|
|
||||||
persistentVolumeClaim:
|
|
||||||
claimName: nm-pvc
|
|
||||||
---
|
|
||||||
apiVersion: v1
|
|
||||||
kind: PersistentVolumeClaim
|
|
||||||
metadata:
|
|
||||||
name: nm-pvc
|
|
||||||
spec:
|
|
||||||
accessModes:
|
|
||||||
- ReadWriteMany
|
|
||||||
resources:
|
|
||||||
requests:
|
|
||||||
storage: 128Mi
|
|
||||||
storageClassName: microk8s-hostpath
|
|
||||||
---
|
|
||||||
apiVersion: v1
|
|
||||||
kind: Service
|
|
||||||
metadata:
|
|
||||||
labels:
|
|
||||||
app: netmaker-backend
|
|
||||||
name: netmaker-api
|
|
||||||
spec:
|
|
||||||
ports:
|
|
||||||
- port: 8081
|
|
||||||
protocol: TCP
|
|
||||||
targetPort: 8081
|
|
||||||
selector:
|
|
||||||
app: netmaker-backend
|
|
||||||
sessionAffinity: None
|
|
||||||
type: ClusterIP
|
|
||||||
---
|
|
||||||
apiVersion: v1
|
|
||||||
kind: Service
|
|
||||||
metadata:
|
|
||||||
labels:
|
|
||||||
app: netmaker-backend
|
|
||||||
name: netmaker-grpc
|
|
||||||
spec:
|
|
||||||
ports:
|
|
||||||
- port: 443
|
|
||||||
protocol: TCP
|
|
||||||
targetPort: 443
|
|
||||||
selector:
|
|
||||||
app: netmaker-backend
|
|
||||||
sessionAffinity: None
|
|
||||||
type: ClusterIP
|
|
||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: netmaker-dns
|
|
||||||
labels:
|
|
||||||
app: netmaker-dns
|
|
||||||
spec:
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app: netmaker-dns
|
|
||||||
replicas: 1
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
labels:
|
|
||||||
app: netmaker-dns
|
|
||||||
spec:
|
|
||||||
containers:
|
|
||||||
- args:
|
|
||||||
- -conf
|
|
||||||
- /root/dnsconfig/Corefile
|
|
||||||
image: coredns/coredns
|
|
||||||
imagePullPolicy: Always
|
|
||||||
name: netmaker-dns
|
|
||||||
ports:
|
|
||||||
- containerPort: 53
|
|
||||||
name: dns
|
|
||||||
protocol: UDP
|
|
||||||
- containerPort: 53
|
|
||||||
name: dns-tcp
|
|
||||||
protocol: TCP
|
|
||||||
volumeMounts:
|
|
||||||
- mountPath: /root/dnsconfig
|
|
||||||
name: nm-pvc
|
|
||||||
readOnly: true
|
|
||||||
securityContext:
|
|
||||||
allowPrivilegeEscalation: false
|
|
||||||
capabilities:
|
|
||||||
add:
|
|
||||||
- NET_BIND_SERVICE
|
|
||||||
drop:
|
|
||||||
- all
|
|
||||||
dnsPolicy: "None"
|
|
||||||
dnsConfig:
|
|
||||||
nameservers:
|
|
||||||
- 127.0.0.1
|
|
||||||
volumes:
|
|
||||||
- name: nm-pvc
|
|
||||||
persistentVolumeClaim:
|
|
||||||
claimName: nm-pvc
|
|
||||||
---
|
|
||||||
apiVersion: v1
|
|
||||||
kind: Service
|
|
||||||
metadata:
|
|
||||||
labels:
|
|
||||||
app: netmaker-dns
|
|
||||||
name: netmaker-dns
|
|
||||||
spec:
|
|
||||||
ports:
|
|
||||||
- port: 53
|
|
||||||
protocol: UDP
|
|
||||||
targetPort: 53
|
|
||||||
name: udp
|
|
||||||
- port: 53
|
|
||||||
protocol: TCP
|
|
||||||
targetPort: 53
|
|
||||||
name: tcp
|
|
||||||
selector:
|
|
||||||
app: netmaker-dns
|
|
||||||
sessionAffinity: None
|
|
||||||
type: ClusterIP
|
|
||||||
clusterIP: 10.152.183.53
|
|
||||||
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.NETMAKER_BASE_DOMAIN"
|
|
||||||
---
|
|
||||||
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
|
|
||||||
apiVersion: networking.k8s.io/v1
|
|
||||||
kind: Ingress
|
|
||||||
metadata:
|
|
||||||
name: nm-api-ingress-nginx
|
|
||||||
annotations:
|
|
||||||
nginx.ingress.kubernetes.io/rewrite-target: /
|
|
||||||
cert-manager.io/cluster-issuer: "letsencrypt-prod"
|
|
||||||
nginx.ingress.kubernetes.io/ssl-redirect: 'true'
|
|
||||||
spec:
|
|
||||||
ingressClassName: public
|
|
||||||
tls:
|
|
||||||
- hosts:
|
|
||||||
- api.NETMAKER_BASE_DOMAIN
|
|
||||||
secretName: nm-api-tls
|
|
||||||
rules:
|
|
||||||
- host: api.NETMAKER_BASE_DOMAIN
|
|
||||||
http:
|
|
||||||
paths:
|
|
||||||
- path: /
|
|
||||||
pathType: Prefix
|
|
||||||
backend:
|
|
||||||
service:
|
|
||||||
name: netmaker-api
|
|
||||||
port:
|
|
||||||
number: 8081
|
|
||||||
|
|
||||||
apiVersion: networking.k8s.io/v1
|
|
||||||
kind: Ingress
|
|
||||||
metadata:
|
|
||||||
name: nm-grpc-ingress-nginx
|
|
||||||
annotations:
|
|
||||||
cert-manager.io/cluster-issuer: "letsencrypt-prod"
|
|
||||||
nginx.ingress.kubernetes.io/ssl-redirect: 'true'
|
|
||||||
nginx.ingress.kubernetes.io/backend-protocol: "GRPC"
|
|
||||||
spec:
|
|
||||||
ingressClassName: public
|
|
||||||
tls:
|
|
||||||
- hosts:
|
|
||||||
- grpc.NETMAKER_BASE_DOMAIN
|
|
||||||
secretName: nm-grpc-tls
|
|
||||||
rules:
|
|
||||||
- host: grpc.NETMAKER_BASE_DOMAIN
|
|
||||||
http:
|
|
||||||
paths:
|
|
||||||
- path: /
|
|
||||||
pathType: Prefix
|
|
||||||
backend:
|
|
||||||
service:
|
|
||||||
name: netmaker-grpc
|
|
||||||
port:
|
|
||||||
number: 443
|
|
||||||
apiVersion: networking.k8s.io/v1
|
|
||||||
kind: Ingress
|
|
||||||
metadata:
|
|
||||||
name: nm-ui-ingress-nginx
|
|
||||||
annotations:
|
|
||||||
nginx.ingress.kubernetes.io/rewrite-target: /
|
|
||||||
cert-manager.io/cluster-issuer: "letsencrypt-prod"
|
|
||||||
nginx.ingress.kubernetes.io/ssl-redirect: 'true'
|
|
||||||
spec:
|
|
||||||
ingressClassName: public
|
|
||||||
tls:
|
|
||||||
- hosts:
|
|
||||||
- dashboard.NETMAKER_BASE_DOMAIN
|
|
||||||
secretName: nm-ui-tls
|
|
||||||
rules:
|
|
||||||
- host: dashboard.NETMAKER_BASE_DOMAIN
|
|
||||||
http:
|
|
||||||
paths:
|
|
||||||
- path: /
|
|
||||||
pathType: Prefix
|
|
||||||
backend:
|
|
||||||
service:
|
|
||||||
name: netmaker-ui
|
|
||||||
port:
|
|
||||||
number: 80
|
|
@@ -1,40 +0,0 @@
|
|||||||
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.nm.k8s.gravitl.com"
|
|
||||||
---
|
|
||||||
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
|
|
@@ -1,26 +0,0 @@
|
|||||||
apiVersion: networking.k8s.io/v1
|
|
||||||
kind: Ingress
|
|
||||||
metadata:
|
|
||||||
name: nm-api-ingress-nginx
|
|
||||||
annotations:
|
|
||||||
nginx.ingress.kubernetes.io/rewrite-target: /
|
|
||||||
cert-manager.io/cluster-issuer: "letsencrypt-prod"
|
|
||||||
nginx.ingress.kubernetes.io/ssl-redirect: 'true'
|
|
||||||
spec:
|
|
||||||
ingressClassName: public
|
|
||||||
tls:
|
|
||||||
- hosts:
|
|
||||||
- api.NETMAKER_BASE_DOMAIN
|
|
||||||
secretName: nm-api-tls
|
|
||||||
rules:
|
|
||||||
- host: api.NETMAKER_BASE_DOMAIN
|
|
||||||
http:
|
|
||||||
paths:
|
|
||||||
- path: /
|
|
||||||
pathType: Prefix
|
|
||||||
backend:
|
|
||||||
service:
|
|
||||||
name: netmaker-api
|
|
||||||
port:
|
|
||||||
number: 8081
|
|
||||||
|
|
@@ -1,25 +0,0 @@
|
|||||||
apiVersion: networking.k8s.io/v1
|
|
||||||
kind: Ingress
|
|
||||||
metadata:
|
|
||||||
name: nm-grpc-ingress-nginx
|
|
||||||
annotations:
|
|
||||||
cert-manager.io/cluster-issuer: "letsencrypt-prod"
|
|
||||||
nginx.ingress.kubernetes.io/ssl-redirect: 'true'
|
|
||||||
nginx.ingress.kubernetes.io/backend-protocol: "GRPC"
|
|
||||||
spec:
|
|
||||||
ingressClassName: public
|
|
||||||
tls:
|
|
||||||
- hosts:
|
|
||||||
- grpc.NETMAKER_BASE_DOMAIN
|
|
||||||
secretName: nm-grpc-tls-2
|
|
||||||
rules:
|
|
||||||
- host: grpc.NETMAKER_BASE_DOMAIN
|
|
||||||
http:
|
|
||||||
paths:
|
|
||||||
- path: /
|
|
||||||
pathType: Prefix
|
|
||||||
backend:
|
|
||||||
service:
|
|
||||||
name: netmaker-grpc
|
|
||||||
port:
|
|
||||||
number: 443
|
|
@@ -1,26 +0,0 @@
|
|||||||
apiVersion: networking.k8s.io/v1
|
|
||||||
kind: Ingress
|
|
||||||
metadata:
|
|
||||||
name: nm-ui-ingress-nginx
|
|
||||||
annotations:
|
|
||||||
nginx.ingress.kubernetes.io/rewrite-target: /
|
|
||||||
cert-manager.io/cluster-issuer: "letsencrypt-prod"
|
|
||||||
nginx.ingress.kubernetes.io/ssl-redirect: 'true'
|
|
||||||
spec:
|
|
||||||
ingressClassName: public
|
|
||||||
tls:
|
|
||||||
- hosts:
|
|
||||||
- dashboard.NETMAKER_BASE_DOMAIN
|
|
||||||
secretName: nm-ui-tls
|
|
||||||
rules:
|
|
||||||
- host: dashboard.NETMAKER_BASE_DOMAIN
|
|
||||||
http:
|
|
||||||
paths:
|
|
||||||
- path: /
|
|
||||||
pathType: Prefix
|
|
||||||
backend:
|
|
||||||
service:
|
|
||||||
name: netmaker-ui
|
|
||||||
port:
|
|
||||||
number: 80
|
|
||||||
|
|
@@ -1,353 +0,0 @@
|
|||||||
---
|
|
||||||
apiVersion: v1
|
|
||||||
kind: PersistentVolumeClaim
|
|
||||||
metadata:
|
|
||||||
name: rqlite-pvc
|
|
||||||
spec:
|
|
||||||
accessModes:
|
|
||||||
- ReadWriteOnce
|
|
||||||
resources:
|
|
||||||
requests:
|
|
||||||
storage: 1Gi
|
|
||||||
---
|
|
||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: netmaker-backend
|
|
||||||
labels:
|
|
||||||
app: netmaker-backend
|
|
||||||
spec:
|
|
||||||
nodeSelector:
|
|
||||||
netmaker-server: true
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app: netmaker-backend
|
|
||||||
replicas: 1
|
|
||||||
strategy:
|
|
||||||
type: Recreate
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
labels:
|
|
||||||
app: netmaker-backend
|
|
||||||
spec:
|
|
||||||
containers:
|
|
||||||
- name: netmaker-backend
|
|
||||||
image: gravitl/netmaker:0.7.2
|
|
||||||
imagePullPolicy: Always
|
|
||||||
ports:
|
|
||||||
- containerPort: 8081
|
|
||||||
volumeMounts:
|
|
||||||
- name: nm-pvc
|
|
||||||
mountPath: /root/config/dnsconfig
|
|
||||||
- mountPath: /etc/netclient
|
|
||||||
name: etc-netclient
|
|
||||||
- mountPath: /usr/bin/wg
|
|
||||||
name: wg
|
|
||||||
- mountPath: /var/run/dbus/system_bus_socket
|
|
||||||
name: systemd-bus-socket
|
|
||||||
- mountPath: /sys/fs/cgroup
|
|
||||||
name: cgroup
|
|
||||||
- mountPath: /run/systemd/system
|
|
||||||
name: run-systemd
|
|
||||||
- mountPath: /etc/systemd/system
|
|
||||||
name: etc-systemd
|
|
||||||
securityContext:
|
|
||||||
privileged: true
|
|
||||||
env:
|
|
||||||
- name: SERVER_API_CONN_STRING
|
|
||||||
value: "api.NETMAKER_BASE_DOMAIN:443"
|
|
||||||
- name: COREDNS_ADDR
|
|
||||||
value: "10.152.183.53"
|
|
||||||
- name: POD_IP
|
|
||||||
valueFrom:
|
|
||||||
fieldRef:
|
|
||||||
fieldPath: status.podIP
|
|
||||||
- name: SERVER_HTTP_HOST
|
|
||||||
value: "api.NETMAKER_BASE_DOMAIN:443"
|
|
||||||
- name: API_PORT
|
|
||||||
value: "8081"
|
|
||||||
- name: CLIENT_MODE
|
|
||||||
value: "off"
|
|
||||||
- name: MASTER_KEY
|
|
||||||
value: "Unkn0wn!"
|
|
||||||
- name: PLATFORM
|
|
||||||
value: "Kubernetes"
|
|
||||||
- name: CORS_ALLOWED_ORIGIN
|
|
||||||
value: "*"
|
|
||||||
- name: rqlite
|
|
||||||
image: rqlite/rqlite
|
|
||||||
ports:
|
|
||||||
- containerPort: 4001
|
|
||||||
- containerPort: 4002
|
|
||||||
volumeMounts:
|
|
||||||
- name: rqlitevol
|
|
||||||
mountPath: /rqlite/file/data
|
|
||||||
volumes:
|
|
||||||
- name: rqlitevol
|
|
||||||
persistentVolumeClaim:
|
|
||||||
claimName: rqlite-pvc
|
|
||||||
- name: nm-pvc
|
|
||||||
persistentVolumeClaim:
|
|
||||||
claimName: nm-pvc
|
|
||||||
- hostPath:
|
|
||||||
path: /etc/netclient
|
|
||||||
type: DirectoryOrCreate
|
|
||||||
name: etc-netclient
|
|
||||||
- hostPath:
|
|
||||||
path: /usr/bin/wg
|
|
||||||
type: File
|
|
||||||
name: wg
|
|
||||||
- hostPath:
|
|
||||||
path: /usr/bin/resolvectl
|
|
||||||
type: File
|
|
||||||
name: resolvectl
|
|
||||||
- hostPath:
|
|
||||||
path: /var/run/dbus/system_bus_socket
|
|
||||||
type: ""
|
|
||||||
name: systemd-bus-socket
|
|
||||||
- hostPath:
|
|
||||||
path: /etc/systemd/system
|
|
||||||
type: ""
|
|
||||||
name: etc-systemd
|
|
||||||
- hostPath:
|
|
||||||
path: /run/systemd/system
|
|
||||||
type: ""
|
|
||||||
name: run-systemd
|
|
||||||
- hostPath:
|
|
||||||
path: /sys/fs/cgroup
|
|
||||||
type: ""
|
|
||||||
name: cgroup
|
|
||||||
---
|
|
||||||
apiVersion: v1
|
|
||||||
kind: PersistentVolumeClaim
|
|
||||||
metadata:
|
|
||||||
name: nm-pvc
|
|
||||||
spec:
|
|
||||||
accessModes:
|
|
||||||
- ReadWriteMany
|
|
||||||
resources:
|
|
||||||
requests:
|
|
||||||
storage: 128Mi
|
|
||||||
---
|
|
||||||
apiVersion: v1
|
|
||||||
kind: Service
|
|
||||||
metadata:
|
|
||||||
labels:
|
|
||||||
app: netmaker-backend
|
|
||||||
name: netmaker-api
|
|
||||||
spec:
|
|
||||||
ports:
|
|
||||||
- port: 8081
|
|
||||||
protocol: TCP
|
|
||||||
targetPort: 8081
|
|
||||||
selector:
|
|
||||||
app: netmaker-backend
|
|
||||||
sessionAffinity: None
|
|
||||||
type: ClusterIP
|
|
||||||
---
|
|
||||||
apiVersion: v1
|
|
||||||
kind: Service
|
|
||||||
metadata:
|
|
||||||
labels:
|
|
||||||
app: netmaker-backend
|
|
||||||
name: netmaker-grpc
|
|
||||||
spec:
|
|
||||||
ports:
|
|
||||||
- port: 443
|
|
||||||
protocol: TCP
|
|
||||||
targetPort: 443
|
|
||||||
selector:
|
|
||||||
app: netmaker-backend
|
|
||||||
sessionAffinity: None
|
|
||||||
type: ClusterIP
|
|
||||||
---
|
|
||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: netmaker-dns
|
|
||||||
labels:
|
|
||||||
app: netmaker-dns
|
|
||||||
spec:
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app: netmaker-dns
|
|
||||||
replicas: 1
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
labels:
|
|
||||||
app: netmaker-dns
|
|
||||||
spec:
|
|
||||||
containers:
|
|
||||||
- args:
|
|
||||||
- -conf
|
|
||||||
- /root/dnsconfig/Corefile
|
|
||||||
image: coredns/coredns
|
|
||||||
imagePullPolicy: Always
|
|
||||||
name: netmaker-dns
|
|
||||||
ports:
|
|
||||||
- containerPort: 53
|
|
||||||
name: dns
|
|
||||||
protocol: UDP
|
|
||||||
- containerPort: 53
|
|
||||||
name: dns-tcp
|
|
||||||
protocol: TCP
|
|
||||||
volumeMounts:
|
|
||||||
- mountPath: /root/dnsconfig
|
|
||||||
name: nm-pvc
|
|
||||||
readOnly: true
|
|
||||||
securityContext:
|
|
||||||
allowPrivilegeEscalation: false
|
|
||||||
capabilities:
|
|
||||||
add:
|
|
||||||
- NET_BIND_SERVICE
|
|
||||||
drop:
|
|
||||||
- all
|
|
||||||
dnsPolicy: "None"
|
|
||||||
dnsConfig:
|
|
||||||
nameservers:
|
|
||||||
- 127.0.0.1
|
|
||||||
volumes:
|
|
||||||
- name: nm-pvc
|
|
||||||
persistentVolumeClaim:
|
|
||||||
claimName: nm-pvc
|
|
||||||
---
|
|
||||||
apiVersion: v1
|
|
||||||
kind: Service
|
|
||||||
metadata:
|
|
||||||
labels:
|
|
||||||
app: netmaker-dns
|
|
||||||
name: netmaker-dns
|
|
||||||
spec:
|
|
||||||
ports:
|
|
||||||
- port: 53
|
|
||||||
protocol: UDP
|
|
||||||
targetPort: 53
|
|
||||||
name: udp
|
|
||||||
- port: 53
|
|
||||||
protocol: TCP
|
|
||||||
targetPort: 53
|
|
||||||
name: tcp
|
|
||||||
selector:
|
|
||||||
app: netmaker-dns
|
|
||||||
sessionAffinity: None
|
|
||||||
type: ClusterIP
|
|
||||||
clusterIP: 10.152.183.53
|
|
||||||
---
|
|
||||||
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.7
|
|
||||||
ports:
|
|
||||||
- containerPort: 80
|
|
||||||
env:
|
|
||||||
- name: BACKEND_URL
|
|
||||||
value: "https://api.NETMAKER_BASE_DOMAIN"
|
|
||||||
---
|
|
||||||
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
|
|
||||||
---
|
|
||||||
apiVersion: networking.k8s.io/v1
|
|
||||||
kind: Ingress
|
|
||||||
metadata:
|
|
||||||
name: nm-api-ingress-nginx
|
|
||||||
annotations:
|
|
||||||
nginx.ingress.kubernetes.io/rewrite-target: /
|
|
||||||
cert-manager.io/cluster-issuer: "letsencrypt-prod"
|
|
||||||
nginx.ingress.kubernetes.io/ssl-redirect: 'true'
|
|
||||||
spec:
|
|
||||||
ingressClassName: nginx
|
|
||||||
tls:
|
|
||||||
- hosts:
|
|
||||||
- api.NETMAKER_BASE_DOMAIN
|
|
||||||
secretName: nm-api-tls
|
|
||||||
rules:
|
|
||||||
- host: api.NETMAKER_BASE_DOMAIN
|
|
||||||
http:
|
|
||||||
paths:
|
|
||||||
- path: /
|
|
||||||
pathType: Prefix
|
|
||||||
backend:
|
|
||||||
service:
|
|
||||||
name: netmaker-api
|
|
||||||
port:
|
|
||||||
number: 8081
|
|
||||||
---
|
|
||||||
apiVersion: networking.k8s.io/v1
|
|
||||||
kind: Ingress
|
|
||||||
metadata:
|
|
||||||
name: nm-grpc-ingress-nginx
|
|
||||||
annotations:
|
|
||||||
cert-manager.io/cluster-issuer: "letsencrypt-prod"
|
|
||||||
nginx.ingress.kubernetes.io/ssl-redirect: 'true'
|
|
||||||
nginx.ingress.kubernetes.io/backend-protocol: "GRPC"
|
|
||||||
spec:
|
|
||||||
ingressClassName: nginx
|
|
||||||
tls:
|
|
||||||
- hosts:
|
|
||||||
- grpc.NETMAKER_BASE_DOMAIN
|
|
||||||
secretName: nm-grpc-tls
|
|
||||||
rules:
|
|
||||||
- host: grpc.NETMAKER_BASE_DOMAIN
|
|
||||||
http:
|
|
||||||
paths:
|
|
||||||
- path: /
|
|
||||||
pathType: Prefix
|
|
||||||
backend:
|
|
||||||
service:
|
|
||||||
name: netmaker-grpc
|
|
||||||
port:
|
|
||||||
number: 443
|
|
||||||
---
|
|
||||||
apiVersion: networking.k8s.io/v1
|
|
||||||
kind: Ingress
|
|
||||||
metadata:
|
|
||||||
name: nm-ui-ingress-nginx
|
|
||||||
annotations:
|
|
||||||
nginx.ingress.kubernetes.io/rewrite-target: /
|
|
||||||
cert-manager.io/cluster-issuer: "letsencrypt-prod"
|
|
||||||
nginx.ingress.kubernetes.io/ssl-redirect: 'true'
|
|
||||||
spec:
|
|
||||||
ingressClassName: nginx
|
|
||||||
tls:
|
|
||||||
- hosts:
|
|
||||||
- dashboard.NETMAKER_BASE_DOMAIN
|
|
||||||
secretName: nm-ui-tls
|
|
||||||
rules:
|
|
||||||
- host: dashboard.NETMAKER_BASE_DOMAIN
|
|
||||||
http:
|
|
||||||
paths:
|
|
||||||
- path: /
|
|
||||||
pathType: Prefix
|
|
||||||
backend:
|
|
||||||
service:
|
|
||||||
name: netmaker-ui
|
|
||||||
port:
|
|
||||||
number: 80
|
|
@@ -1,311 +0,0 @@
|
|||||||
---
|
|
||||||
apiVersion: v1
|
|
||||||
kind: PersistentVolumeClaim
|
|
||||||
metadata:
|
|
||||||
name: rqlite-pvc
|
|
||||||
spec:
|
|
||||||
accessModes:
|
|
||||||
- ReadWriteOnce
|
|
||||||
resources:
|
|
||||||
requests:
|
|
||||||
storage: 1Gi
|
|
||||||
---
|
|
||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: netmaker-backend
|
|
||||||
labels:
|
|
||||||
app: netmaker-backend
|
|
||||||
spec:
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app: netmaker-backend
|
|
||||||
replicas: 1
|
|
||||||
strategy:
|
|
||||||
type: Recreate
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
labels:
|
|
||||||
app: netmaker-backend
|
|
||||||
spec:
|
|
||||||
containers:
|
|
||||||
- name: netmaker-backend
|
|
||||||
image: gravitl/netmaker:v0.7
|
|
||||||
imagePullPolicy: Always
|
|
||||||
ports:
|
|
||||||
- containerPort: 8081
|
|
||||||
securityContext:
|
|
||||||
privileged: true
|
|
||||||
env:
|
|
||||||
- name: SERVER_API_CONN_STRING
|
|
||||||
value: "api.NETMAKER_BASE_DOMAIN:443"
|
|
||||||
- name: COREDNS_ADDR
|
|
||||||
value: "10.152.183.53"
|
|
||||||
- name: POD_IP
|
|
||||||
valueFrom:
|
|
||||||
fieldRef:
|
|
||||||
fieldPath: status.podIP
|
|
||||||
- name: SERVER_HTTP_HOST
|
|
||||||
value: "api.NETMAKER_BASE_DOMAIN"
|
|
||||||
- name: API_PORT
|
|
||||||
value: "8081"
|
|
||||||
- name: CLIENT_MODE
|
|
||||||
value: "off"
|
|
||||||
- name: MASTER_KEY
|
|
||||||
value: "Unkn0wn!"
|
|
||||||
- name: PLATFORM
|
|
||||||
value: "Kubernetes"
|
|
||||||
- name: CORS_ALLOWED_ORIGIN
|
|
||||||
value: "*"
|
|
||||||
volumeMounts:
|
|
||||||
- name: nm-pvc
|
|
||||||
mountPath: /root/config/dnsconfig
|
|
||||||
- name: rqlite
|
|
||||||
image: rqlite/rqlite
|
|
||||||
ports:
|
|
||||||
- containerPort: 4001
|
|
||||||
- containerPort: 4002
|
|
||||||
volumeMounts:
|
|
||||||
- name: rqlitevol
|
|
||||||
mountPath: /rqlite/file/data
|
|
||||||
volumes:
|
|
||||||
- name: rqlitevol
|
|
||||||
persistentVolumeClaim:
|
|
||||||
claimName: rqlite-pvc
|
|
||||||
- name: nm-pvc
|
|
||||||
persistentVolumeClaim:
|
|
||||||
claimName: nm-pvc
|
|
||||||
---
|
|
||||||
apiVersion: v1
|
|
||||||
kind: PersistentVolumeClaim
|
|
||||||
metadata:
|
|
||||||
name: nm-pvc
|
|
||||||
spec:
|
|
||||||
accessModes:
|
|
||||||
- ReadWriteMany
|
|
||||||
resources:
|
|
||||||
requests:
|
|
||||||
storage: 128Mi
|
|
||||||
---
|
|
||||||
apiVersion: v1
|
|
||||||
kind: Service
|
|
||||||
metadata:
|
|
||||||
labels:
|
|
||||||
app: netmaker-backend
|
|
||||||
name: netmaker-api
|
|
||||||
spec:
|
|
||||||
ports:
|
|
||||||
- port: 8081
|
|
||||||
protocol: TCP
|
|
||||||
targetPort: 8081
|
|
||||||
selector:
|
|
||||||
app: netmaker-backend
|
|
||||||
sessionAffinity: None
|
|
||||||
type: ClusterIP
|
|
||||||
---
|
|
||||||
apiVersion: v1
|
|
||||||
kind: Service
|
|
||||||
metadata:
|
|
||||||
labels:
|
|
||||||
app: netmaker-backend
|
|
||||||
name: netmaker-grpc
|
|
||||||
spec:
|
|
||||||
ports:
|
|
||||||
- port: 443
|
|
||||||
protocol: TCP
|
|
||||||
targetPort: 443
|
|
||||||
selector:
|
|
||||||
app: netmaker-backend
|
|
||||||
sessionAffinity: None
|
|
||||||
type: ClusterIP
|
|
||||||
---
|
|
||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: netmaker-dns
|
|
||||||
labels:
|
|
||||||
app: netmaker-dns
|
|
||||||
spec:
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app: netmaker-dns
|
|
||||||
replicas: 1
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
labels:
|
|
||||||
app: netmaker-dns
|
|
||||||
spec:
|
|
||||||
containers:
|
|
||||||
- args:
|
|
||||||
- -conf
|
|
||||||
- /root/dnsconfig/Corefile
|
|
||||||
image: coredns/coredns
|
|
||||||
imagePullPolicy: Always
|
|
||||||
name: netmaker-dns
|
|
||||||
ports:
|
|
||||||
- containerPort: 53
|
|
||||||
name: dns
|
|
||||||
protocol: UDP
|
|
||||||
- containerPort: 53
|
|
||||||
name: dns-tcp
|
|
||||||
protocol: TCP
|
|
||||||
volumeMounts:
|
|
||||||
- mountPath: /root/dnsconfig
|
|
||||||
name: nm-pvc
|
|
||||||
readOnly: true
|
|
||||||
securityContext:
|
|
||||||
allowPrivilegeEscalation: false
|
|
||||||
capabilities:
|
|
||||||
add:
|
|
||||||
- NET_BIND_SERVICE
|
|
||||||
drop:
|
|
||||||
- all
|
|
||||||
dnsPolicy: "None"
|
|
||||||
dnsConfig:
|
|
||||||
nameservers:
|
|
||||||
- 127.0.0.1
|
|
||||||
volumes:
|
|
||||||
- name: nm-pvc
|
|
||||||
persistentVolumeClaim:
|
|
||||||
claimName: nm-pvc
|
|
||||||
---
|
|
||||||
apiVersion: v1
|
|
||||||
kind: Service
|
|
||||||
metadata:
|
|
||||||
labels:
|
|
||||||
app: netmaker-dns
|
|
||||||
name: netmaker-dns
|
|
||||||
spec:
|
|
||||||
ports:
|
|
||||||
- port: 53
|
|
||||||
protocol: UDP
|
|
||||||
targetPort: 53
|
|
||||||
name: udp
|
|
||||||
- port: 53
|
|
||||||
protocol: TCP
|
|
||||||
targetPort: 53
|
|
||||||
name: tcp
|
|
||||||
selector:
|
|
||||||
app: netmaker-dns
|
|
||||||
sessionAffinity: None
|
|
||||||
type: ClusterIP
|
|
||||||
clusterIP: 10.152.183.53
|
|
||||||
---
|
|
||||||
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.7
|
|
||||||
ports:
|
|
||||||
- containerPort: 80
|
|
||||||
env:
|
|
||||||
- name: BACKEND_URL
|
|
||||||
value: "https://api.NETMAKER_BASE_DOMAIN"
|
|
||||||
---
|
|
||||||
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
|
|
||||||
---
|
|
||||||
apiVersion: networking.k8s.io/v1
|
|
||||||
kind: Ingress
|
|
||||||
metadata:
|
|
||||||
name: nm-api-ingress-nginx
|
|
||||||
annotations:
|
|
||||||
nginx.ingress.kubernetes.io/rewrite-target: /
|
|
||||||
cert-manager.io/cluster-issuer: "letsencrypt-prod"
|
|
||||||
nginx.ingress.kubernetes.io/ssl-redirect: 'true'
|
|
||||||
spec:
|
|
||||||
ingressClassName: nginx
|
|
||||||
tls:
|
|
||||||
- hosts:
|
|
||||||
- api.NETMAKER_BASE_DOMAIN
|
|
||||||
secretName: nm-api-tls
|
|
||||||
rules:
|
|
||||||
- host: api.NETMAKER_BASE_DOMAIN
|
|
||||||
http:
|
|
||||||
paths:
|
|
||||||
- path: /
|
|
||||||
pathType: Prefix
|
|
||||||
backend:
|
|
||||||
service:
|
|
||||||
name: netmaker-api
|
|
||||||
port:
|
|
||||||
number: 8081
|
|
||||||
---
|
|
||||||
apiVersion: networking.k8s.io/v1
|
|
||||||
kind: Ingress
|
|
||||||
metadata:
|
|
||||||
name: nm-grpc-ingress-nginx
|
|
||||||
annotations:
|
|
||||||
cert-manager.io/cluster-issuer: "letsencrypt-prod"
|
|
||||||
nginx.ingress.kubernetes.io/ssl-redirect: 'true'
|
|
||||||
nginx.ingress.kubernetes.io/backend-protocol: "GRPC"
|
|
||||||
spec:
|
|
||||||
ingressClassName: nginx
|
|
||||||
tls:
|
|
||||||
- hosts:
|
|
||||||
- grpc.NETMAKER_BASE_DOMAIN
|
|
||||||
secretName: nm-grpc-tls
|
|
||||||
rules:
|
|
||||||
- host: grpc.NETMAKER_BASE_DOMAIN
|
|
||||||
http:
|
|
||||||
paths:
|
|
||||||
- path: /
|
|
||||||
pathType: Prefix
|
|
||||||
backend:
|
|
||||||
service:
|
|
||||||
name: netmaker-grpc
|
|
||||||
port:
|
|
||||||
number: 443
|
|
||||||
---
|
|
||||||
apiVersion: networking.k8s.io/v1
|
|
||||||
kind: Ingress
|
|
||||||
metadata:
|
|
||||||
name: nm-ui-ingress-nginx
|
|
||||||
annotations:
|
|
||||||
nginx.ingress.kubernetes.io/rewrite-target: /
|
|
||||||
cert-manager.io/cluster-issuer: "letsencrypt-prod"
|
|
||||||
nginx.ingress.kubernetes.io/ssl-redirect: 'true'
|
|
||||||
spec:
|
|
||||||
ingressClassName: nginx
|
|
||||||
tls:
|
|
||||||
- hosts:
|
|
||||||
- dashboard.NETMAKER_BASE_DOMAIN
|
|
||||||
secretName: nm-ui-tls
|
|
||||||
rules:
|
|
||||||
- host: dashboard.NETMAKER_BASE_DOMAIN
|
|
||||||
http:
|
|
||||||
paths:
|
|
||||||
- path: /
|
|
||||||
pathType: Prefix
|
|
||||||
backend:
|
|
||||||
service:
|
|
||||||
name: netmaker-ui
|
|
||||||
port:
|
|
||||||
number: 80
|
|
Reference in New Issue
Block a user