From fa8e939d95926d227b8f4bf2a1d2e2733e9abeea Mon Sep 17 00:00:00 2001 From: Dat Tang Date: Thu, 4 Nov 2021 16:29:20 +0100 Subject: [PATCH] feat: Add K8S manifest to deploy Jambonz using Kustomize --- kubernetes/README.md | 3 ++ .../api-server/api-server-deployment.yaml | 29 +++++++++++++++++++ .../call-router/call-router-deployment.yaml | 21 ++++++++++++++ .../call-router/call-router-service.yaml | 5 +++- .../drachtio-sbc/drachtio-sbc-service.yaml | 2 +- kubernetes/kustomization.yaml | 10 +++++++ kubernetes/mysql/mysql-service.yaml | 2 +- kubernetes/redis/redis-service.yaml | 2 +- kubernetes/rtpengine/rtpengine-service.yaml | 5 +++- kubernetes/webapp/webapp-deployment.yaml | 7 +++++ kubernetes/webapp/webapp-ingress.yaml | 2 +- 11 files changed, 82 insertions(+), 6 deletions(-) diff --git a/kubernetes/README.md b/kubernetes/README.md index cb79dbb..cbaf86a 100644 --- a/kubernetes/README.md +++ b/kubernetes/README.md @@ -1,9 +1,12 @@ This is the first draft of deploying Jambonz on Kubernetes (K8S). The K8S manifests are built based on the Docker compose file in the same repository. +<<<<<<< HEAD # Notes - The Ingresses are set up to work with [Traefik v1.7](https://doc.traefik.io/traefik/v1.7/). Please adapt it to work with the Ingress Controller of your cluster +======= +>>>>>>> feat: Add K8S manifest to deploy Jambonz using Kustomize # Manual steps - Setup MySQL databases and tables diff --git a/kubernetes/api-server/api-server-deployment.yaml b/kubernetes/api-server/api-server-deployment.yaml index 3a0d1cb..e8a7b94 100644 --- a/kubernetes/api-server/api-server-deployment.yaml +++ b/kubernetes/api-server/api-server-deployment.yaml @@ -14,6 +14,7 @@ spec: labels: app: api-server spec: +<<<<<<< HEAD nodeSelector: kubernetes.io/arch: amd64 initContainers: @@ -33,6 +34,34 @@ spec: value: "3000" - name: JAMBONE_API_VERSION value: v1 +======= + containers: + - env: + - name: ENABLE_METRICS + value: "0" + - name: HTTP_PORT + value: "3000" + - name: JAMBONES_CLUSTER_ID + value: jb + - name: JAMBONES_LOGLEVEL + value: info + - name: JAMBONES_MYSQL_DATABASE + value: jambones + - name: JAMBONES_MYSQL_HOST + value: mysql + - name: JAMBONES_MYSQL_PASSWORD + value: jambones + - name: JAMBONES_MYSQL_USER + value: jambones + - name: JAMBONES_REDIS_HOST + value: redis + - name: JAMBONES_REDIS_PORT + value: "6379" + - name: JAMBONE_API_VERSION + value: v1 + - name: NODE_ENV + value: production +>>>>>>> feat: Add K8S manifest to deploy Jambonz using Kustomize image: jambonz/jambonz-api-server:latest name: api-server ports: diff --git a/kubernetes/call-router/call-router-deployment.yaml b/kubernetes/call-router/call-router-deployment.yaml index 4602ffc..3be66f1 100644 --- a/kubernetes/call-router/call-router-deployment.yaml +++ b/kubernetes/call-router/call-router-deployment.yaml @@ -14,6 +14,7 @@ spec: labels: app: call-router spec: +<<<<<<< HEAD nodeSelector: kubernetes.io/arch: amd64 containers: @@ -23,6 +24,26 @@ spec: env: - name: HTTP_PORT value: "4000" +======= + containers: + - env: + - name: ENABLE_METRICS + value: "0" + - name: HTTP_PORT + value: "4000" + - name: JAMBONES_INBOUND_ROUTE + value: 127.0.0.1:4002 + - name: JAMBONES_LOGLEVEL + value: info + - name: JAMBONES_NETWORK_CIDR + value: 100.0.0.0/8 + - name: JAMBONES_OUTBOUND_ROUTE + value: 127.0.0.1:4003 + - name: JAMBONZ_TAGGED_INBOUND + value: "1" + - name: NODE_ENV + value: production +>>>>>>> feat: Add K8S manifest to deploy Jambonz using Kustomize image: jambonz/sbc-call-router:latest name: call-router resources: {} diff --git a/kubernetes/call-router/call-router-service.yaml b/kubernetes/call-router/call-router-service.yaml index f8cb298..eab6633 100644 --- a/kubernetes/call-router/call-router-service.yaml +++ b/kubernetes/call-router/call-router-service.yaml @@ -12,4 +12,7 @@ spec: targetPort: 4000 selector: app: call-router - clusterIP: None \ No newline at end of file +<<<<<<< HEAD + clusterIP: None +======= +>>>>>>> feat: Add K8S manifest to deploy Jambonz using Kustomize diff --git a/kubernetes/drachtio-sbc/drachtio-sbc-service.yaml b/kubernetes/drachtio-sbc/drachtio-sbc-service.yaml index 44a81d3..3b68b92 100644 --- a/kubernetes/drachtio-sbc/drachtio-sbc-service.yaml +++ b/kubernetes/drachtio-sbc/drachtio-sbc-service.yaml @@ -16,4 +16,4 @@ spec: targetPort: 5060 selector: app: drachtio-sbc - clusterIP: None \ No newline at end of file + clusterIP: None diff --git a/kubernetes/kustomization.yaml b/kubernetes/kustomization.yaml index ba28834..abd5f37 100644 --- a/kubernetes/kustomization.yaml +++ b/kubernetes/kustomization.yaml @@ -1,11 +1,18 @@ apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization +<<<<<<< HEAD namespace: jambonz resources: - namespace.yaml - db/db-create.yaml +======= +namespace: default # Replace by your namespace here + +resources: +- namespace.yaml +>>>>>>> feat: Add K8S manifest to deploy Jambonz using Kustomize - mysql/mysql-service.yaml - mysql/mysql-statefulset.yaml - redis/redis-service.yaml @@ -26,7 +33,10 @@ resources: - sbc-inbound/sbc-inbound-deployment.yaml - sbc-outbound/sbc-outbound-deployment.yaml - registrar/registrar-deployment.yaml +<<<<<<< HEAD secretGenerator: - envs: - jambonz.env name: jambonz +======= +>>>>>>> feat: Add K8S manifest to deploy Jambonz using Kustomize diff --git a/kubernetes/mysql/mysql-service.yaml b/kubernetes/mysql/mysql-service.yaml index 0c8ecb0..c291bff 100644 --- a/kubernetes/mysql/mysql-service.yaml +++ b/kubernetes/mysql/mysql-service.yaml @@ -11,4 +11,4 @@ spec: targetPort: 3306 selector: app: mysql - clusterIP: None \ No newline at end of file + clusterIP: None diff --git a/kubernetes/redis/redis-service.yaml b/kubernetes/redis/redis-service.yaml index 1f10c3c..5ee7c01 100644 --- a/kubernetes/redis/redis-service.yaml +++ b/kubernetes/redis/redis-service.yaml @@ -11,4 +11,4 @@ spec: targetPort: 6379 selector: app: redis - clusterIP: None \ No newline at end of file + clusterIP: None diff --git a/kubernetes/rtpengine/rtpengine-service.yaml b/kubernetes/rtpengine/rtpengine-service.yaml index 6ae1ab4..e5cf006 100644 --- a/kubernetes/rtpengine/rtpengine-service.yaml +++ b/kubernetes/rtpengine/rtpengine-service.yaml @@ -416,4 +416,7 @@ spec: # targetPort: 40100 selector: app: rtpengine - clusterIP: None \ No newline at end of file +<<<<<<< HEAD + clusterIP: None +======= +>>>>>>> feat: Add K8S manifest to deploy Jambonz using Kustomize diff --git a/kubernetes/webapp/webapp-deployment.yaml b/kubernetes/webapp/webapp-deployment.yaml index ba98633..db97dd2 100644 --- a/kubernetes/webapp/webapp-deployment.yaml +++ b/kubernetes/webapp/webapp-deployment.yaml @@ -14,15 +14,22 @@ spec: labels: app: webapp spec: +<<<<<<< HEAD nodeSelector: kubernetes.io/arch: amd64 +======= +>>>>>>> feat: Add K8S manifest to deploy Jambonz using Kustomize containers: - env: - name: REACT_APP_API_BASE_URL value: https://api-server/v1 - name: NODE_OPTIONS value: '--openssl-legacy-provider' +<<<<<<< HEAD image: jambonz/webapp:latest +======= + image: cognigydevelopment.azurecr.io/jambonzwebapp:8473 # {"$imagepolicy": "flux-system:jambonzwebapp"} +>>>>>>> feat: Add K8S manifest to deploy Jambonz using Kustomize name: webapp ports: - containerPort: 3001 diff --git a/kubernetes/webapp/webapp-ingress.yaml b/kubernetes/webapp/webapp-ingress.yaml index bd02ac3..1d34ee4 100644 --- a/kubernetes/webapp/webapp-ingress.yaml +++ b/kubernetes/webapp/webapp-ingress.yaml @@ -12,4 +12,4 @@ spec: - path: / backend: serviceName: webapp - servicePort: 3001 \ No newline at end of file + servicePort: 3001