add feature server deployment, storage class for influxdb

This commit is contained in:
Dave Horton
2021-11-10 19:34:03 -05:00
parent b4a1f03187
commit a8470bf850
8 changed files with 173 additions and 6 deletions

View File

@@ -32,13 +32,16 @@ spec:
value: "3000"
- name: JAMBONE_API_VERSION
value: v1
- name: JWT_SECRET
value: G=u%-97#TffYf
- name: JAMBONES_CLUSTER_ID
valueFrom:
secretKeyRef:
name: jambonz
key: JAMBONES_CLUSTER_ID
- name: JWT_SECRET
valueFrom:
secretKeyRef:
name: jambonz
key: JWT_SECRET
- name: NODE_ENV
valueFrom:
secretKeyRef:

View File

@@ -0,0 +1,132 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: jambonz-feature-server
labels:
app: jambonz-feature-server
spec:
selector:
matchLabels:
app: jambonz-feature-server
template:
metadata:
labels:
app: jambonz-feature-server
spec:
initContainers:
- args:
- wait
- --for=condition=complete
- --timeout=300s
- job/db-create
image: d3fk/kubectl:v1.18
name: db-create-wait
containers:
- name: drachtio
image: drachtio/drachtio-server:k8s
imagePullPolicy: Always
args: ['drachtio', '--contact', 'sip:*:5060;transport=udp,tcp']
env:
- name: freeswitch
image: drachtio/drachtio-freeswitch-mrf:1.10.5
volumeMounts:
- mountPath: /tmp
name: temp-audio-volume
- name: feature-server
image: jambonz/feature-server:latest
volumeMounts:
- mountPath: /tmp
name: temp-audio-volume
env:
- name: HTTP_PORT
value: "3000"
- name: JAMBONES_FREESWITCH
value: "localhost:8021:JambonzR0ck$"
- name: JAMBONES_LOGLEVEL
valueFrom:
secretKeyRef:
name: jambonz
key: JAMBONES_LOGLEVEL
- name: JAMBONES_CLUSTER_ID
valueFrom:
secretKeyRef:
name: jambonz
key: JAMBONES_CLUSTER_ID
- name: DRACHTIO_HOST
valueFrom:
secretKeyRef:
name: jambonz
key: DRACHTIO_HOST
- name: DRACHTIO_PORT
valueFrom:
secretKeyRef:
name: jambonz
key: DRACHTIO_PORT
- name: DRACHTIO_SECRET
valueFrom:
secretKeyRef:
name: jambonz
key: DRACHTIO_SECRET
- name: JAMBONES_MYSQL_DATABASE
valueFrom:
secretKeyRef:
name: jambonz
key: JAMBONES_MYSQL_DATABASE
- name: JAMBONES_MYSQL_HOST
valueFrom:
secretKeyRef:
name: jambonz
key: JAMBONES_MYSQL_HOST
- name: JAMBONES_MYSQL_PASSWORD
valueFrom:
secretKeyRef:
name: jambonz
key: JAMBONES_MYSQL_PASSWORD
- name: JAMBONES_MYSQL_USER
valueFrom:
secretKeyRef:
name: jambonz
key: JAMBONES_MYSQL_USER
- name: JAMBONES_REDIS_HOST
valueFrom:
secretKeyRef:
name: jambonz
key: JAMBONES_REDIS_HOST
- name: JAMBONES_REDIS_PORT
valueFrom:
secretKeyRef:
name: jambonz
key: JAMBONES_REDIS_PORT
- name: JAMBONES_TIME_SERIES_HOST
valueFrom:
secretKeyRef:
name: jambonz
key: JAMBONES_TIME_SERIES_HOST
- name: ENABLE_METRICS
valueFrom:
secretKeyRef:
name: jambonz
key: ENABLE_METRICS
- name: JAMBONES_NETWORK_CIDR
valueFrom:
secretKeyRef:
name: jambonz
key: JAMBONES_NETWORK_CIDR
- name: JAMBONES_NETWORK_CIDR
valueFrom:
secretKeyRef:
name: jambonz
key: JAMBONES_NETWORK_CIDR
- name: JWT_SECRET
valueFrom:
secretKeyRef:
name: jambonz
key: JWT_SECRET
ports:
- containerPort: 3000
- containerPort: 8021
resources: {}
restartPolicy: Always
volumes:
- name: temp-audio-volume
emptyDir: {}

View File

@@ -46,3 +46,4 @@ spec:
resources:
requests:
storage: 10Gi
storageClassName: influxdbstorageclass

View File

@@ -0,0 +1,15 @@
kind: StorageClass
apiVersion: storage.k8s.io/v1
metadata:
name: influxdbstorageclass
provisioner: kubernetes.io/aws-ebs
parameters:
type: gp2
allowVolumeExpansion: true
volumeBindingMode: WaitForFirstConsumer
allowedTopologies:
- matchLabelExpressions:
- key: failure-domain.beta.kubernetes.io/zone
values:
- us-east-2b # this is the availability zone, will depend on your cloud provider
# multi-az can be added, but that defeats the purpose in our scenario

View File

@@ -17,4 +17,5 @@ JAMBONZ_TAGGED_INBOUND=1
DRACHTIO_SECRET=cymru
DRACHTIO_HOST=127.0.0.1
DRACHTIO_PORT=9022
RTPENGINE_DTMF_LOG_PORT=22223
RTPENGINE_DTMF_LOG_PORT=22223
JWT_SECRET=G=u%-97#TffYf

View File

@@ -12,6 +12,7 @@ resources:
- mysql/mysql-statefulset.yaml
- redis/redis-service.yaml
- redis/redis-statefulset.yaml
- influxdb/influxdb-storageclass.yaml
- influxdb/influxdb-service.yaml
- influxdb/influxdb-statefulset.yaml
- webapp/webapp-deployment.yaml
@@ -23,6 +24,8 @@ resources:
- sbc-sip/sbc-sip-configmap.yaml
- sbc-sip/sbc-sip-daemonset.yaml
- sbc-rtp/sbc-rtp-daemonset.yaml
- feature-server/feature-server-deployment.yaml
secretGenerator:
- name: jambonz
envs:

View File

@@ -23,8 +23,19 @@ spec:
effect: "NoSchedule"
containers:
- name: drachtio
image: drachtio/drachtio-server:0.8.12
args: ['drachtio', '--contact', 'sip:*:5064;transport=udp,tcp', '--port', '9023']
image: drachtio/drachtio-server:k8s
imagePullPolicy: Always
args: ['drachtio', '--cloud-deployment', '--port', '9023']
env:
- name: NO_PUBLIC_IP
value: "1"
- name: DRACHTIO_SIP_PORT
value: "5064"
- name: CLOUD
valueFrom:
secretKeyRef:
name: jambonz
key: CLOUD
- name: rtpengine-sidecar
image: jambonz/rtpengine-sidecar:latest
env:

View File

@@ -31,7 +31,8 @@ spec:
name: db-create-wait
containers:
- name: drachtio
image: drachtio/drachtio-server:0.8.12
image: drachtio/drachtio-server:k8s
imagePullPolicy: Always
args: ['drachtio', '--cloud-deployment', '--loglevel', 'debug']
envFrom:
- secretRef: