diff --git a/trainer-env/axonserver/deployment.yaml b/trainer-env/axonserver/deployment.yaml new file mode 100644 index 0000000..7e70e5b --- /dev/null +++ b/trainer-env/axonserver/deployment.yaml @@ -0,0 +1,119 @@ +--- +apiVersion: v1 +kind: ConfigMap +metadata: + name: axonserver-properties +data: + axonserver.properties: | + axoniq.axonserver.name=Axon Server Node 1 + axoniq.axonserver.hostname=localhost + axoniq.axonserver.devmode.enabled=true + axoniq.axonserver.snapshot.storage=/eventdata + axoniq.axonserver.controldb-path=/data + axoniq.axonserver.pid-file-location=/data + axoniq.axonserver.max-message-size=25000000 + logging.file=/data/axonserver.log + logging.file.max-history=10 + +--- +apiVersion: apps/v1 +kind: StatefulSet +metadata: + name: axonserver + labels: + app: axonserver +spec: + serviceName: axonserver + replicas: 1 + selector: + matchLabels: + app: axonserver + template: + metadata: + labels: + app: axonserver + spec: + containers: + - name: axonserver + image: axoniq/axonserver + imagePullPolicy: Always + ports: + - name: grpc + containerPort: 8124 + protocol: TCP + - name: http + containerPort: 8024 + protocol: TCP + volumeMounts: + - name: eventstore + mountPath: /eventdata + - name: data + mountPath: /data + - name: config + mountPath: /config + readOnly: true + readinessProbe: + httpGet: + port: http + path: /actuator/info + initialDelaySeconds: 30 + periodSeconds: 5 + timeoutSeconds: 1 + livenessProbe: + httpGet: + port: gui + path: /actuator/info + initialDelaySeconds: 60 + periodSeconds: 5 + timeoutSeconds: 1 + volumes: + - name: config + configMap: + name: axonserver-properties + volumeClaimTemplates: + - metadata: + name: eventstore + spec: + accessModes: [ "ReadWriteOnce" ] + resources: + requests: + storage: 5Gi + - metadata: + name: data + spec: + accessModes: [ "ReadWriteOnce" ] + resources: + requests: + storage: 1Gi + +--- +apiVersion: v1 +kind: Service +metadata: + name: axonserver-gui + labels: + app: axonserver +spec: + ports: + - name: gui + port: 8024 + targetPort: 8024 + selector: + app: axonserver + type: LoadBalancer + sessionAffinity: ClientIP +--- +apiVersion: v1 +kind: Service +metadata: + name: axonserver-grpc + labels: + app: axonserver +spec: + ports: + - name: grpc + port: 8124 + targetPort: 8124 + clusterIP: None + selector: + app: axonserver \ No newline at end of file diff --git a/trainer-env/kafka/confluent-platform.yaml b/trainer-env/kafka/confluent-platform.yaml index d890b88..68b6e48 100644 --- a/trainer-env/kafka/confluent-platform.yaml +++ b/trainer-env/kafka/confluent-platform.yaml @@ -67,6 +67,16 @@ metadata: namespace: basic spec: replicas: 1 + podTemplate: + affinity: + nodeAffinity: + requiredDuringSchedulingIgnoredDuringExecution: + nodeSelectorTerms: + - matchExpressions: + - key: kubernetes.io/hostname + operator: In + values: + - bfs-k8snode-10-2-1-7.hetzner.base.beaconfireinc.com image: application: confluentinc/cp-server-connect:7.4.0 init: confluentinc/confluent-init-container:2.6.0 @@ -81,6 +91,16 @@ metadata: namespace: basic spec: replicas: 1 + podTemplate: + affinity: + nodeAffinity: + requiredDuringSchedulingIgnoredDuringExecution: + nodeSelectorTerms: + - matchExpressions: + - key: kubernetes.io/hostname + operator: In + values: + - bfs-k8snode-10-2-1-6.hetzner.base.beaconfireinc.com image: application: confluentinc/cp-ksqldb-server:7.4.0 init: confluentinc/confluent-init-container:2.6.0 @@ -95,6 +115,16 @@ metadata: namespace: basic spec: replicas: 1 + podTemplate: + affinity: + nodeAffinity: + requiredDuringSchedulingIgnoredDuringExecution: + nodeSelectorTerms: + - matchExpressions: + - key: kubernetes.io/hostname + operator: In + values: + - bfs-k8snode-10-2-1-8.hetzner.base.beaconfireinc.com image: application: confluentinc/cp-enterprise-control-center:7.4.0 init: confluentinc/confluent-init-container:2.6.0