Commit 605370d7 authored by Laskaratos Dimitris's avatar Laskaratos Dimitris
Browse files

Fixed deployment file + edge cloud mgt bugs

parent f7057df8
Loading
Loading
Loading
Loading
+0 −7
Original line number Diff line number Diff line
* dev_new_version
  main
  remotes/origin/HEAD -> origin/main
  remotes/origin/dev
  remotes/origin/dev_new_version
  remotes/origin/k8s-extension
  remotes/origin/main
+1 −1
Original line number Diff line number Diff line
@@ -42,5 +42,5 @@ EXPOSE 8080

ENTRYPOINT ["python3"]

CMD ["-m", "swagger_server"]
CMD ["-m", "src"]
+3 −3
Original line number Diff line number Diff line
@@ -22,7 +22,7 @@ and execute:

```
source export_env_par.txt
python3 -m swagger_server
python3 -m src
```

and open your browser to here:
@@ -49,10 +49,10 @@ To run the server on a Docker container, please execute the following from the r

```bash
# building the image
docker build -t swagger_server .
docker build -t src .

# starting up a container
docker run -p 8080:8080 swagger_server
docker run -p 8080:8080 src
```


+0 −76
Original line number Diff line number Diff line
apiVersion: v1
kind: Service
metadata:
  creationTimestamp: "2022-10-14T09:17:41Z"
  labels:
    app.kubernetes.io/component: grafana
    app.kubernetes.io/name: grafana
    app.kubernetes.io/part-of: kube-prometheus
    app.kubernetes.io/version: 8.1.3
  managedFields:
  - apiVersion: v1
    fieldsType: FieldsV1
    fieldsV1:
      f:status:
        f:loadBalancer:
          f:ingress: {}
    manager: controller
    operation: Update
    subresource: status
    time: "2022-10-14T09:48:15Z"
  - apiVersion: v1
    fieldsType: FieldsV1
    fieldsV1:
      f:metadata:
        f:labels:
          .: {}
          f:app.kubernetes.io/component: {}
          f:app.kubernetes.io/name: {}
          f:app.kubernetes.io/part-of: {}
          f:app.kubernetes.io/version: {}
      f:spec:
        f:allocateLoadBalancerNodePorts: {}
        f:externalTrafficPolicy: {}
        f:internalTrafficPolicy: {}
        f:ports:
          .: {}
          k:{"port":3000,"protocol":"TCP"}:
            .: {}
            f:name: {}
            f:port: {}
            f:protocol: {}
            f:targetPort: {}
        f:selector: {}
        f:sessionAffinity: {}
        f:type: {}
    manager: kubectl
    operation: Update
    time: "2022-10-14T09:48:15Z"
  name: grafana
  namespace: monitoring
  resourceVersion: "30269813"
  selfLink: /api/v1/namespaces/monitoring/services/grafana
  uid: 847f8077-58bb-45fa-8327-755fbf0a70c4
spec:
  allocateLoadBalancerNodePorts: true
  externalTrafficPolicy: Cluster
  internalTrafficPolicy: Cluster
  ipFamilies:
  - IPv4
  ipFamilyPolicy: SingleStack
  ports:
  - name: http
    nodePort: 30488
    port: 3000
    protocol: TCP
    targetPort: http
  selector:
    app.kubernetes.io/component: grafana
    app.kubernetes.io/name: grafana
    app.kubernetes.io/part-of: kube-prometheus
  sessionAffinity: None
  type: LoadBalancer
status:
  loadBalancer:
    ingress:
    - ip: 203.0.113.172
+0 −392
Original line number Diff line number Diff line
apiVersion: apps/v1
kind: Deployment
metadata:
  annotations:
    kompose.cmd: kompose convert
    kompose.version: 1.26.0 (40646f47)
  creationTimestamp: null
  labels:
    io.kompose.service: piedgecontroller
  name: piedgecontroller
spec:
  replicas: 1
  selector:
    matchLabels:
      io.kompose.service: piedgecontroller
  strategy: {}
  template:
    metadata:
      annotations:
        kompose.cmd: kompose convert
        kompose.version: 1.26.0 (40646f47)
      creationTimestamp: null
      labels:
        #io.kompose.network/netEMPkub: "true"
        io.kompose.service: piedgecontroller
    spec:
      containers:
        - env:
            - name: KUBERNETES_MASTER_HOSTNAME
              #example value
              value: "tanmaster"
            - name: KUBERNETES_MASTER_PASSWORD
              #example value
              value: "T@nd3m164"
            - name: KUBERNETES_MASTER_IP
              #example value
              value: "146.124.106.209"
            - name: KUBERNETES_MASTER_TOKEN
               #example value
              value: TVVGV1FJb3l0alNUOUdEeVRvbnZKdGhZS3FXUXg2aG5mMGVxekRqRnZhWT0K
            - name: EMP_STORAGE_URI
              value: mongodb://mongopiedge:27017
              #value: mongodb://mongoemp:27017
            - name: MONITORING_IP
              value: "146.124.106.209"
            - name: MONITORING_NODE_PORT
              value: "443"
            - name: SYSTEM_DATABASE_PASSWORD
              value: "pslicom"
            - name: SYSTEM_DATABASE_HOST
              value: "postgres"
            - name: MONITORING_SERVICE_PASSWORD
              value: "tandem"
            - name: MEC_PLATFORM_IP
              value: "146.124.106.209"
            - name: MEC_PLATFORM_PORT
              value: "32500"
            - name: MONITORING_IP_PROXY
              value: "146.124.106.220"
            - name: MONITORING_PORT_PROXY
              value: "31000"

          image: papadchar/pi_edge:3.1.20
          name: piedgecontroller
          ports:
            - containerPort: 8080
          resources: {}
          imagePullPolicy: Always
      restartPolicy: Always
status: {}
---
apiVersion: v1
kind: Service
metadata:
  annotations:
    kompose.cmd: kompose convert
    kompose.version: 1.26.0 (40646f47)
  creationTimestamp: null
  labels:
    io.kompose.service: piedgecontroller
  name: piedgecontroller
spec:
  type: NodePort
  ports:
    - name: "8080"
      nodePort: 32415
      port: 8080
      targetPort: 8080
  selector:
    io.kompose.service: piedgecontroller
status:
  loadBalancer: {}
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  creationTimestamp: null
  labels:
    io.kompose.service: mongo-db
  name: mongo-db
spec:
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 100Mi
status: {}
---


apiVersion: apps/v1
kind: Deployment
metadata:
  annotations:
    kompose.cmd: kompose convert
    kompose.version: 1.26.0 (40646f47)
  creationTimestamp: null
  labels:
    io.kompose.service: mongopiedge
  name: mongopiedge
spec:
  replicas: 1
  selector:
    matchLabels:
      io.kompose.service: mongopiedge
  strategy:
    type: Recreate
  template:
    metadata:
      annotations:
        kompose.cmd: kompose convert
        kompose.version: 1.26.0 (40646f47)
      creationTimestamp: null
      labels:
        #io.kompose.network/netEMPkub: "true"
        io.kompose.service: mongopiedge
    spec:
      containers:
        - image: mongo
          name: mongopiedge
          ports:
            - containerPort: 27017
          resources: {}
          volumeMounts:
            - mountPath: /data/db
              name: mongo-db
      restartPolicy: Always
      volumes:
        - name: mongo-db
          persistentVolumeClaim:
            claimName: mongo-db
status: {}
---
apiVersion: v1
kind: Service
metadata:
  annotations:
    kompose.cmd: kompose convert
    kompose.version: 1.26.0 (40646f47)
  creationTimestamp: null
  labels:
    io.kompose.service: mongopiedge
  name: mongopiedge
spec:
  type: NodePort
  ports:
    - name: "27017"
      nodePort: 32411
      port: 27017
      targetPort: 27017
  selector:
    io.kompose.service: mongopiedge
status:
  loadBalancer: {}
---
# apiVersion: networking.k8s.io/v1
# kind: NetworkPolicy
# metadata:
#   creationTimestamp: null
#   name: netEMPkub
# spec:
#   ingress:
#     - from:
#         - podSelector:
#             matchLabels:
#               io.kompose.network/netEMPkub: "true"
#   podSelector:
#     matchLabels:
#       io.kompose.network/netEMPkub: "true"
#---
apiVersion: v1
kind: ConfigMap
metadata:
  name: postgres-config
  labels:
    app: postgres
data:
  POSTGRES_DB: postgresdb
  POSTGRES_USER: admin
  POSTGRES_PASSWORD: pslicom
---
kind: PersistentVolume
apiVersion: v1
metadata:
  name: postgres-pv-volume-pi-edge  # Sets PV's name
  labels:
    type: local  # Sets PV's type to local
    app: postgres
spec:
  storageClassName: manual
  capacity:
    storage: 200Mi # Sets PV Volume
  accessModes:
    - ReadWriteMany
  hostPath:
    path: "/mnt/data/data"
---
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
  name: postgres-pv-claim-pi-edge  # Sets name of PVC
  labels:
    app: postgres
spec:
  storageClassName: manual
  accessModes:
    - ReadWriteMany  # Sets read and write access
  resources:
    requests:
      storage: 200Mi  # Sets volume size
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: postgres  # Sets Deployment name
spec:
  replicas: 1
  selector:
    matchLabels:
      app: postgres
  template:
    metadata:
      labels:
        app: postgres
    spec:
      containers:
        - name: postgres
          image: postgres:10.1 # Sets Image
          imagePullPolicy: "IfNotPresent"
          ports:
            - containerPort: 5432  # Exposes container port
          envFrom:
            - configMapRef:
                name: postgres-config
          volumeMounts:
            - mountPath: /var/lib/postgresql/data
              name: postgredb
      volumes:
        - name: postgredb
          persistentVolumeClaim:
            claimName: postgres-pv-claim-pi-edge
---
apiVersion: v1
kind: Service
metadata:
  name: postgres # Sets service name
  labels:
    app: postgres # Labels and Selectors
spec:
  type: NodePort # Sets service type
  ports:
    - port: 5432 # Sets port to run the postgres application
  selector:
    app: postgres

---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: ccm  # Sets Deployment name
spec:
  replicas: 1
  selector:
    matchLabels:
      app: ccm
  template:
    metadata:
      labels:
        app: ccm
    spec:
      containers:
        - name: ccm
          image: postgres:10.1 # Sets Image
          imagePullPolicy: "IfNotPresent"
          ports:
            - containerPort: 5000  # Exposes container port
          env:
          - name: KUBERNETES_MASTER_HOSTNAME
              #example value
              value: "tanmaster"
# GNNs
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: gnn-inference
 # namespace: default  # The desired namespace for the CRD
spec:
  replicas: 1
  selector:
    matchLabels:
      app: gnn-inference
  template:
    metadata:
      labels:
        app: gnn-inference
    spec:
      containers:
      - name: gnn-inference
        image: piedge/gnn-inference
        imagePullPolicy: Always
        env:
        - name: NAMESPACE
          value: "default" # namsepace where netma config map is e.g. "default"
        - name: GNN_MODELS_PATH
          value: "/mnt/path" # path where trained_models folder is e.g. "/mnt/path"
        - name: GNN_OUTPUT
          value: "/mnt/path/output" # path where GNNs output files should be written e.g. "/mnt/path/output"
        ports:
        - name: app
          containerPort: 5000
          protocol: TCP
        volumeMounts:
            - mountPath: /mnt/path
              name: gnn-models-volume
            - mountPath: /mnt/path/output
              name: forecasts-volume
      volumes:
        - name: gnn-models-volume
          hostPath:
            path: ./trained_models #define absolute path to the trained_models folder
        - name: forecasts-volume
          hostPath:
            path: ./gnn_models #define absolute path to which the forecasts.csv files should be written


---
apiVersion: v1
kind: Service
metadata:
  name: gnn-inference-service
  labels:
    app: gnn-inference
spec:
  type: NodePort
  ports:
  - port: 32000
  selector:
    app: gnn-inference

---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: gnn-controller
  namespace: default
spec:
  replicas: 1
  selector:
    matchLabels:
      app: gnn-controller
  template:
    metadata:
      labels:
        app: gnn-controller
    spec:
      containers:
        - name: gnn-controller
          image: piedge/gnn-control
          imagePullPolicy: Always
          env:
          - name: DATA_PATH
            value: "/mnt/path/data_dp.csv"
          - name: NAMESPACE
            value: "default"
          volumeMounts:
            - mountPath: /mnt/path
              name: gzorro-volume
      volumes:
        - name: gzorro-volume
          hostPath:
            path: ./synthetic-data-generator/data-extractor
 No newline at end of file
Loading