diff --git a/k8/prod/accessControls/clusterRoleBindings/list-watch-cluster-binding-prod.yaml b/k8/prod/accessControls/clusterRoleBindings/list-watch-cluster-binding-prod.yaml deleted file mode 100644 index 499c29b6..00000000 --- a/k8/prod/accessControls/clusterRoleBindings/list-watch-cluster-binding-prod.yaml +++ /dev/null @@ -1,12 +0,0 @@ -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRoleBinding -metadata: - name: list-watch-cluster-binding-prod -roleRef: - kind: ClusterRole - name: list-watch-cluster-prod - apiGroup: rbac.authorization.k8s.io -subjects: - - kind: ServiceAccount - name: default - namespace: prod \ No newline at end of file diff --git a/k8/prod/accessControls/clusterRoles/list-watch-cluster-prod.yaml b/k8/prod/accessControls/clusterRoles/list-watch-cluster-prod.yaml deleted file mode 100644 index b0da2f5b..00000000 --- a/k8/prod/accessControls/clusterRoles/list-watch-cluster-prod.yaml +++ /dev/null @@ -1,22 +0,0 @@ -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRole -metadata: - name: list-watch-cluster-prod - namespace: prod -rules: - - apiGroups: - - apps - verbs: - - list - - watch - resources: - - statefulsets - - deployments - - daemonsets - - apiGroups: - - batch - resources: - - cronjobs - verbs: - - list - - watch \ No newline at end of file diff --git a/k8/prod/configMaps/matching-service-config-prod.yaml b/k8/prod/configMaps/matching-service-config-prod.yaml deleted file mode 100644 index 14da586e..00000000 --- a/k8/prod/configMaps/matching-service-config-prod.yaml +++ /dev/null @@ -1,8 +0,0 @@ -apiVersion: v1 -kind: ConfigMap -metadata: - name: matching-service-config-prod - namespace: prod -data: - PORT_NUMBER: "8000" - AMQP_URL: amqp://rabbitmq-service-prod.prod.svc.cluster.local:5672 diff --git a/k8/prod/configMaps/matching-service-db-config-prod.yaml b/k8/prod/configMaps/matching-service-db-config-prod.yaml deleted file mode 100644 index aea49404..00000000 --- a/k8/prod/configMaps/matching-service-db-config-prod.yaml +++ /dev/null @@ -1,11 +0,0 @@ -apiVersion: v1 -kind: ConfigMap -metadata: - name: matching-service-db-config-prod - namespace: prod -data: - POSTGRES_HOST: "matching-service-db-headless.prod.svc.cluster.local" - POSTGRES_PORT: "5432" - POSTGRES_USER: "root" - POSTGRES_PASSWORD: "secret" - POSTGRES_DB: "matching-service" diff --git a/k8/prod/configMaps/matching-worker-service-config-prod.yaml b/k8/prod/configMaps/matching-worker-service-config-prod.yaml deleted file mode 100644 index 3f59528b..00000000 --- a/k8/prod/configMaps/matching-worker-service-config-prod.yaml +++ /dev/null @@ -1,8 +0,0 @@ -apiVersion: v1 -kind: ConfigMap -metadata: - name: matching-worker-service-config-prod - namespace: prod -data: - AMQP_URL: amqp://rabbitmq-service-prod.prod.svc.cluster.local:5672 - DATABASE_URL: postgresql://root:secret@matching-service-db-headless.prod.svc.cluster.local:5432/matching_service?schema=public diff --git a/k8/prod/configMaps/postgres-config-prod.yaml b/k8/prod/configMaps/postgres-config-prod.yaml deleted file mode 100644 index 839a14a2..00000000 --- a/k8/prod/configMaps/postgres-config-prod.yaml +++ /dev/null @@ -1,11 +0,0 @@ -apiVersion: v1 -kind: ConfigMap -metadata: - name: postgres-config-prod - namespace: prod -data: - POSTGRES_HOST: "postgres-headless.prod.svc.cluster.local" - POSTGRES_PORT: "5432" - POSTGRES_USERNAME: "postgres" - POSTGRES_PASSWORD: "example" - POSTGRES_DATABASE: "postgres" diff --git a/k8/prod/configMaps/prometheus-config-prod.yaml b/k8/prod/configMaps/prometheus-config-prod.yaml deleted file mode 100644 index 1f8b8279..00000000 --- a/k8/prod/configMaps/prometheus-config-prod.yaml +++ /dev/null @@ -1,16 +0,0 @@ -apiVersion: v1 -kind: ConfigMap -metadata: - name: prometheus-config-prod - namespace: prod -data: - prometheus-config.yml: | - global: - scrape_interval: 15s - evaluation_interval: 15s - retention: "12h" - - scrape_configs: - - job_name: 'prometheus' - static_configs: - - targets: ['localhost:9090'] diff --git a/k8/prod/configMaps/question-service-config-prod.yaml b/k8/prod/configMaps/question-service-config-prod.yaml deleted file mode 100644 index 57c2aa7f..00000000 --- a/k8/prod/configMaps/question-service-config-prod.yaml +++ /dev/null @@ -1,8 +0,0 @@ -apiVersion: v1 -kind: ConfigMap -metadata: - name: question-service-config-prod - namespace: prod -data: - MONGODB_URI: mongodb://mongodb-headless.prod.svc.cluster.local:27017/question-service-api - PORT_NUMBER: "8080" diff --git a/k8/prod/configMaps/rabbitmq-config-prod.yaml b/k8/prod/configMaps/rabbitmq-config-prod.yaml deleted file mode 100644 index cbad315d..00000000 --- a/k8/prod/configMaps/rabbitmq-config-prod.yaml +++ /dev/null @@ -1,8 +0,0 @@ -apiVersion: v1 -kind: ConfigMap -metadata: - name: rabbitmq-config-prod - namespace: prod -data: - RABBITMQ_DEFAULT_USER: "guest" - RABBITMQ_DEFAULT_PASS: "guest" diff --git a/k8/prod/deployment/collaboration-service-deployment.yaml b/k8/prod/deployment/collaboration-service-deployment.yaml new file mode 100644 index 00000000..e09885ef --- /dev/null +++ b/k8/prod/deployment/collaboration-service-deployment.yaml @@ -0,0 +1,167 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + annotations: + autopilot.gke.io/resource-adjustment: '{"input":{"containers":[{"name":"collaboration-service-1"}]},"output":{"containers":[{"limits":{"cpu":"500m","ephemeral-storage":"1Gi","memory":"2Gi"},"requests":{"cpu":"500m","ephemeral-storage":"1Gi","memory":"2Gi"},"name":"collaboration-service-1"}]},"modified":true}' + autopilot.gke.io/warden-version: 2.7.41 + deployment.kubernetes.io/revision: "1" + creationTimestamp: "2023-11-12T15:39:24Z" + generation: 3 + labels: + app: collaboration-service-app + managedFields: + - apiVersion: apps/v1 + fieldsType: FieldsV1 + fieldsV1: + f:spec: + f:replicas: {} + manager: vpa-recommender + operation: Update + subresource: scale + - apiVersion: apps/v1 + fieldsType: FieldsV1 + fieldsV1: + f:metadata: + f:labels: + .: {} + f:app: {} + f:spec: + f:progressDeadlineSeconds: {} + f:revisionHistoryLimit: {} + f:selector: {} + f:strategy: + f:rollingUpdate: + .: {} + f:maxSurge: {} + f:maxUnavailable: {} + f:type: {} + f:template: + f:metadata: + f:labels: + .: {} + f:app: {} + f:spec: + f:containers: + k:{"name":"collaboration-service-1"}: + .: {} + f:image: {} + f:imagePullPolicy: {} + f:name: {} + f:resources: {} + f:terminationMessagePath: {} + f:terminationMessagePolicy: {} + f:dnsPolicy: {} + f:restartPolicy: {} + f:schedulerName: {} + f:securityContext: {} + f:terminationGracePeriodSeconds: {} + manager: GoogleCloudConsole + operation: Update + time: "2023-11-12T15:39:24Z" + - apiVersion: apps/v1 + fieldsType: FieldsV1 + fieldsV1: + f:metadata: + f:annotations: + f:deployment.kubernetes.io/revision: {} + f:status: + f:availableReplicas: {} + f:conditions: + .: {} + k:{"type":"Available"}: + .: {} + f:lastTransitionTime: {} + f:lastUpdateTime: {} + f:message: {} + f:reason: {} + f:status: {} + f:type: {} + k:{"type":"Progressing"}: + .: {} + f:lastTransitionTime: {} + f:lastUpdateTime: {} + f:message: {} + f:reason: {} + f:status: {} + f:type: {} + f:observedGeneration: {} + f:readyReplicas: {} + f:replicas: {} + f:updatedReplicas: {} + manager: kube-controller-manager + operation: Update + subresource: status + time: "2023-11-12T15:45:56Z" + name: collaboration-service-deployment + namespace: default + resourceVersion: "1328049" + uid: e5325edc-42d5-4a61-884c-436bc1e2249a +spec: + progressDeadlineSeconds: 600 + replicas: 1 + revisionHistoryLimit: 10 + selector: + matchLabels: + app: collaboration-service-app + strategy: + rollingUpdate: + maxSurge: 25% + maxUnavailable: 25% + type: RollingUpdate + template: + metadata: + creationTimestamp: null + labels: + app: collaboration-service-app + spec: + containers: + - image: registry.gitlab.com/peerprepgroup51sem1y2023/docker/collaboration-service:latest + imagePullPolicy: Always + name: collaboration-service-1 + resources: + limits: + cpu: 500m + ephemeral-storage: 1Gi + memory: 2Gi + requests: + cpu: 500m + ephemeral-storage: 1Gi + memory: 2Gi + securityContext: + capabilities: + drop: + - NET_RAW + terminationMessagePath: /dev/termination-log + terminationMessagePolicy: File + dnsPolicy: ClusterFirst + restartPolicy: Always + schedulerName: default-scheduler + securityContext: + seccompProfile: + type: RuntimeDefault + terminationGracePeriodSeconds: 30 + tolerations: + - effect: NoSchedule + key: kubernetes.io/arch + operator: Equal + value: amd64 +status: + availableReplicas: 1 + conditions: + - lastTransitionTime: "2023-11-12T15:39:40Z" + lastUpdateTime: "2023-11-12T15:39:40Z" + message: Deployment has minimum availability. + reason: MinimumReplicasAvailable + status: "True" + type: Available + - lastTransitionTime: "2023-11-12T15:39:24Z" + lastUpdateTime: "2023-11-12T15:39:40Z" + message: ReplicaSet "collaboration-service-deployment-77948f9645" has successfully + progressed. + reason: NewReplicaSetAvailable + status: "True" + type: Progressing + observedGeneration: 3 + readyReplicas: 1 + replicas: 1 + updatedReplicas: 1 diff --git a/k8/prod/deployment/front-end-deployment.yaml b/k8/prod/deployment/front-end-deployment.yaml new file mode 100644 index 00000000..7b1e6c77 --- /dev/null +++ b/k8/prod/deployment/front-end-deployment.yaml @@ -0,0 +1,166 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + annotations: + autopilot.gke.io/resource-adjustment: '{"input":{"containers":[{"name":"frontend-1"}]},"output":{"containers":[{"limits":{"cpu":"500m","ephemeral-storage":"1Gi","memory":"2Gi"},"requests":{"cpu":"500m","ephemeral-storage":"1Gi","memory":"2Gi"},"name":"frontend-1"}]},"modified":true}' + autopilot.gke.io/warden-version: 2.7.41 + deployment.kubernetes.io/revision: "2" + creationTimestamp: "2023-11-11T20:13:23Z" + generation: 3 + labels: + app: front-end-app + managedFields: + - apiVersion: apps/v1 + fieldsType: FieldsV1 + fieldsV1: + f:spec: + f:replicas: {} + manager: vpa-recommender + operation: Update + subresource: scale + - apiVersion: apps/v1 + fieldsType: FieldsV1 + fieldsV1: + f:metadata: + f:labels: + .: {} + f:app: {} + f:spec: + f:progressDeadlineSeconds: {} + f:revisionHistoryLimit: {} + f:selector: {} + f:strategy: + f:rollingUpdate: + .: {} + f:maxSurge: {} + f:maxUnavailable: {} + f:type: {} + f:template: + f:metadata: + f:labels: + .: {} + f:app: {} + f:spec: + f:containers: + k:{"name":"frontend-1"}: + .: {} + f:image: {} + f:imagePullPolicy: {} + f:name: {} + f:resources: {} + f:terminationMessagePath: {} + f:terminationMessagePolicy: {} + f:dnsPolicy: {} + f:restartPolicy: {} + f:schedulerName: {} + f:securityContext: {} + f:terminationGracePeriodSeconds: {} + manager: GoogleCloudConsole + operation: Update + time: "2023-11-13T06:17:44Z" + - apiVersion: apps/v1 + fieldsType: FieldsV1 + fieldsV1: + f:metadata: + f:annotations: + f:deployment.kubernetes.io/revision: {} + f:status: + f:availableReplicas: {} + f:conditions: + .: {} + k:{"type":"Available"}: + .: {} + f:lastTransitionTime: {} + f:lastUpdateTime: {} + f:message: {} + f:reason: {} + f:status: {} + f:type: {} + k:{"type":"Progressing"}: + .: {} + f:lastTransitionTime: {} + f:lastUpdateTime: {} + f:message: {} + f:reason: {} + f:status: {} + f:type: {} + f:observedGeneration: {} + f:readyReplicas: {} + f:replicas: {} + f:updatedReplicas: {} + manager: kube-controller-manager + operation: Update + subresource: status + time: "2023-11-13T06:21:32Z" + name: front-end-deployment + namespace: default + resourceVersion: "1947970" + uid: b3d795fb-ffeb-4e0a-9275-bfec593661c6 +spec: + progressDeadlineSeconds: 600 + replicas: 1 + revisionHistoryLimit: 10 + selector: + matchLabels: + app: front-end-app + strategy: + rollingUpdate: + maxSurge: 25% + maxUnavailable: 25% + type: RollingUpdate + template: + metadata: + creationTimestamp: null + labels: + app: front-end-app + spec: + containers: + - image: registry.gitlab.com/peerprepgroup51sem1y2023/docker/frontend-gke:latest + imagePullPolicy: Always + name: frontend-1 + resources: + limits: + cpu: 500m + ephemeral-storage: 1Gi + memory: 2Gi + requests: + cpu: 500m + ephemeral-storage: 1Gi + memory: 2Gi + securityContext: + capabilities: + drop: + - NET_RAW + terminationMessagePath: /dev/termination-log + terminationMessagePolicy: File + dnsPolicy: ClusterFirst + restartPolicy: Always + schedulerName: default-scheduler + securityContext: + seccompProfile: + type: RuntimeDefault + terminationGracePeriodSeconds: 30 + tolerations: + - effect: NoSchedule + key: kubernetes.io/arch + operator: Equal + value: amd64 +status: + availableReplicas: 1 + conditions: + - lastTransitionTime: "2023-11-11T20:13:23Z" + lastUpdateTime: "2023-11-13T06:19:56Z" + message: ReplicaSet "front-end-deployment-55754b9799" has successfully progressed. + reason: NewReplicaSetAvailable + status: "True" + type: Progressing + - lastTransitionTime: "2023-11-13T06:21:32Z" + lastUpdateTime: "2023-11-13T06:21:32Z" + message: Deployment has minimum availability. + reason: MinimumReplicasAvailable + status: "True" + type: Available + observedGeneration: 3 + readyReplicas: 1 + replicas: 1 + updatedReplicas: 1 diff --git a/k8/prod/deployment/matching-service-db-deployment.yaml b/k8/prod/deployment/matching-service-db-deployment.yaml new file mode 100644 index 00000000..551a04bf --- /dev/null +++ b/k8/prod/deployment/matching-service-db-deployment.yaml @@ -0,0 +1,203 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + annotations: + autopilot.gke.io/resource-adjustment: '{"input":{"containers":[{"name":"postgres-1"}]},"output":{"containers":[{"limits":{"cpu":"500m","ephemeral-storage":"1Gi","memory":"2Gi"},"requests":{"cpu":"500m","ephemeral-storage":"1Gi","memory":"2Gi"},"name":"postgres-1"}]},"modified":true}' + autopilot.gke.io/warden-version: 2.7.41 + deployment.kubernetes.io/revision: "1" + creationTimestamp: "2023-11-12T16:01:50Z" + generation: 3 + labels: + app: matching-service-db-app + managedFields: + - apiVersion: apps/v1 + fieldsType: FieldsV1 + fieldsV1: + f:spec: + f:replicas: {} + manager: vpa-recommender + operation: Update + subresource: scale + - apiVersion: apps/v1 + fieldsType: FieldsV1 + fieldsV1: + f:metadata: + f:labels: + .: {} + f:app: {} + f:spec: + f:progressDeadlineSeconds: {} + f:revisionHistoryLimit: {} + f:selector: {} + f:strategy: + f:rollingUpdate: + .: {} + f:maxSurge: {} + f:maxUnavailable: {} + f:type: {} + f:template: + f:metadata: + f:labels: + .: {} + f:app: {} + f:spec: + f:containers: + k:{"name":"postgres-1"}: + .: {} + f:env: + .: {} + k:{"name":"POSTGRES_DB"}: + .: {} + f:name: {} + f:valueFrom: + .: {} + f:configMapKeyRef: {} + k:{"name":"POSTGRES_PASSWORD"}: + .: {} + f:name: {} + f:valueFrom: + .: {} + f:configMapKeyRef: {} + k:{"name":"POSTGRES_USER"}: + .: {} + f:name: {} + f:valueFrom: + .: {} + f:configMapKeyRef: {} + f:image: {} + f:imagePullPolicy: {} + f:name: {} + f:resources: {} + f:terminationMessagePath: {} + f:terminationMessagePolicy: {} + f:dnsPolicy: {} + f:restartPolicy: {} + f:schedulerName: {} + f:securityContext: {} + f:terminationGracePeriodSeconds: {} + manager: GoogleCloudConsole + operation: Update + time: "2023-11-12T16:01:50Z" + - apiVersion: apps/v1 + fieldsType: FieldsV1 + fieldsV1: + f:metadata: + f:annotations: + f:deployment.kubernetes.io/revision: {} + f:status: + f:availableReplicas: {} + f:conditions: + .: {} + k:{"type":"Available"}: + .: {} + f:lastTransitionTime: {} + f:lastUpdateTime: {} + f:message: {} + f:reason: {} + f:status: {} + f:type: {} + k:{"type":"Progressing"}: + .: {} + f:lastTransitionTime: {} + f:lastUpdateTime: {} + f:message: {} + f:reason: {} + f:status: {} + f:type: {} + f:observedGeneration: {} + f:readyReplicas: {} + f:replicas: {} + f:updatedReplicas: {} + manager: kube-controller-manager + operation: Update + subresource: status + time: "2023-11-12T16:15:22Z" + name: matching-service-db-deployment + namespace: default + resourceVersion: "1349531" + uid: 7d3b9e52-3c85-4ecf-9398-fa26d22dfd54 +spec: + progressDeadlineSeconds: 600 + replicas: 1 + revisionHistoryLimit: 10 + selector: + matchLabels: + app: matching-service-db-app + strategy: + rollingUpdate: + maxSurge: 25% + maxUnavailable: 25% + type: RollingUpdate + template: + metadata: + creationTimestamp: null + labels: + app: matching-service-db-app + spec: + containers: + - env: + - name: POSTGRES_USER + valueFrom: + configMapKeyRef: + key: POSTGRES_USER + name: matching-service-db-deployment-config-mw6o + - name: POSTGRES_PASSWORD + valueFrom: + configMapKeyRef: + key: POSTGRES_PASSWORD + name: matching-service-db-deployment-config-mw6o + - name: POSTGRES_DB + valueFrom: + configMapKeyRef: + key: POSTGRES_DB + name: matching-service-db-deployment-config-mw6o + image: postgres:16-alpine + imagePullPolicy: IfNotPresent + name: postgres-1 + resources: + limits: + cpu: 500m + ephemeral-storage: 1Gi + memory: 2Gi + requests: + cpu: 500m + ephemeral-storage: 1Gi + memory: 2Gi + securityContext: + capabilities: + drop: + - NET_RAW + terminationMessagePath: /dev/termination-log + terminationMessagePolicy: File + dnsPolicy: ClusterFirst + restartPolicy: Always + schedulerName: default-scheduler + securityContext: + seccompProfile: + type: RuntimeDefault + terminationGracePeriodSeconds: 30 + tolerations: + - effect: NoSchedule + key: kubernetes.io/arch + operator: Equal + value: amd64 +status: + availableReplicas: 1 + conditions: + - lastTransitionTime: "2023-11-12T16:01:50Z" + lastUpdateTime: "2023-11-12T16:04:07Z" + message: ReplicaSet "matching-service-db-deployment-57877c8db4" has successfully + progressed. + reason: NewReplicaSetAvailable + status: "True" + type: Progressing + - lastTransitionTime: "2023-11-12T16:08:23Z" + lastUpdateTime: "2023-11-12T16:08:23Z" + message: Deployment has minimum availability. + reason: MinimumReplicasAvailable + status: "True" + type: Available + observedGeneration: 3 + readyReplicas: 1 + replicas: 1 + updatedReplicas: 1 diff --git a/k8/prod/deployment/matching-service-deployment.yaml b/k8/prod/deployment/matching-service-deployment.yaml new file mode 100644 index 00000000..470a3956 --- /dev/null +++ b/k8/prod/deployment/matching-service-deployment.yaml @@ -0,0 +1,192 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + annotations: + autopilot.gke.io/resource-adjustment: '{"input":{"containers":[{"name":"matching-service-1"}]},"output":{"containers":[{"limits":{"cpu":"500m","ephemeral-storage":"1Gi","memory":"2Gi"},"requests":{"cpu":"500m","ephemeral-storage":"1Gi","memory":"2Gi"},"name":"matching-service-1"}]},"modified":true}' + autopilot.gke.io/warden-version: 2.7.41 + deployment.kubernetes.io/revision: "1" + creationTimestamp: "2023-11-12T16:17:28Z" + generation: 2 + labels: + app: matching-service-app + managedFields: + - apiVersion: apps/v1 + fieldsType: FieldsV1 + fieldsV1: + f:spec: + f:replicas: {} + manager: vpa-recommender + operation: Update + subresource: scale + - apiVersion: apps/v1 + fieldsType: FieldsV1 + fieldsV1: + f:metadata: + f:labels: + .: {} + f:app: {} + f:spec: + f:progressDeadlineSeconds: {} + f:revisionHistoryLimit: {} + f:selector: {} + f:strategy: + f:rollingUpdate: + .: {} + f:maxSurge: {} + f:maxUnavailable: {} + f:type: {} + f:template: + f:metadata: + f:labels: + .: {} + f:app: {} + f:spec: + f:containers: + k:{"name":"matching-service-1"}: + .: {} + f:env: + .: {} + k:{"name":"AMQP_URL"}: + .: {} + f:name: {} + f:valueFrom: + .: {} + f:configMapKeyRef: {} + k:{"name":"PORT_NUMBER"}: + .: {} + f:name: {} + f:valueFrom: + .: {} + f:configMapKeyRef: {} + f:image: {} + f:imagePullPolicy: {} + f:name: {} + f:resources: {} + f:terminationMessagePath: {} + f:terminationMessagePolicy: {} + f:dnsPolicy: {} + f:restartPolicy: {} + f:schedulerName: {} + f:securityContext: {} + f:terminationGracePeriodSeconds: {} + manager: GoogleCloudConsole + operation: Update + time: "2023-11-12T16:17:28Z" + - apiVersion: apps/v1 + fieldsType: FieldsV1 + fieldsV1: + f:metadata: + f:annotations: + f:deployment.kubernetes.io/revision: {} + f:status: + f:availableReplicas: {} + f:conditions: + .: {} + k:{"type":"Available"}: + .: {} + f:lastTransitionTime: {} + f:lastUpdateTime: {} + f:message: {} + f:reason: {} + f:status: {} + f:type: {} + k:{"type":"Progressing"}: + .: {} + f:lastTransitionTime: {} + f:lastUpdateTime: {} + f:message: {} + f:reason: {} + f:status: {} + f:type: {} + f:observedGeneration: {} + f:readyReplicas: {} + f:replicas: {} + f:updatedReplicas: {} + manager: kube-controller-manager + operation: Update + subresource: status + time: "2023-11-12T17:09:36Z" + name: matching-service-deployment + namespace: default + resourceVersion: "1391651" + uid: 2051b108-dbd2-42dc-a76a-1393696723f2 +spec: + progressDeadlineSeconds: 600 + replicas: 1 + revisionHistoryLimit: 10 + selector: + matchLabels: + app: matching-service-app + strategy: + rollingUpdate: + maxSurge: 25% + maxUnavailable: 25% + type: RollingUpdate + template: + metadata: + creationTimestamp: null + labels: + app: matching-service-app + spec: + containers: + - env: + - name: PORT_NUMBER + valueFrom: + configMapKeyRef: + key: PORT_NUMBER + name: matching-service-deployment-config-rqfs + - name: AMQP_URL + valueFrom: + configMapKeyRef: + key: AMQP_URL + name: matching-service-deployment-config-rqfs + image: registry.gitlab.com/peerprepgroup51sem1y2023/docker/matching-service:latest + imagePullPolicy: Always + name: matching-service-1 + resources: + limits: + cpu: 500m + ephemeral-storage: 1Gi + memory: 2Gi + requests: + cpu: 500m + ephemeral-storage: 1Gi + memory: 2Gi + securityContext: + capabilities: + drop: + - NET_RAW + terminationMessagePath: /dev/termination-log + terminationMessagePolicy: File + dnsPolicy: ClusterFirst + restartPolicy: Always + schedulerName: default-scheduler + securityContext: + seccompProfile: + type: RuntimeDefault + terminationGracePeriodSeconds: 30 + tolerations: + - effect: NoSchedule + key: kubernetes.io/arch + operator: Equal + value: amd64 +status: + availableReplicas: 1 + conditions: + - lastTransitionTime: "2023-11-12T16:17:28Z" + lastUpdateTime: "2023-11-12T16:19:26Z" + message: ReplicaSet "matching-service-deployment-6c475864c8" has successfully + progressed. + reason: NewReplicaSetAvailable + status: "True" + type: Progressing + - lastTransitionTime: "2023-11-12T17:09:36Z" + lastUpdateTime: "2023-11-12T17:09:36Z" + message: Deployment has minimum availability. + reason: MinimumReplicasAvailable + status: "True" + type: Available + observedGeneration: 2 + readyReplicas: 1 + replicas: 1 + updatedReplicas: 1 diff --git a/k8/prod/deployment/matching-worker-service-deployment.yaml b/k8/prod/deployment/matching-worker-service-deployment.yaml new file mode 100644 index 00000000..1df8a516 --- /dev/null +++ b/k8/prod/deployment/matching-worker-service-deployment.yaml @@ -0,0 +1,192 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + annotations: + autopilot.gke.io/resource-adjustment: '{"input":{"containers":[{"name":"matching-worker-service-1"}]},"output":{"containers":[{"limits":{"cpu":"500m","ephemeral-storage":"1Gi","memory":"2Gi"},"requests":{"cpu":"500m","ephemeral-storage":"1Gi","memory":"2Gi"},"name":"matching-worker-service-1"}]},"modified":true}' + autopilot.gke.io/warden-version: 2.7.41 + deployment.kubernetes.io/revision: "1" + creationTimestamp: "2023-11-12T16:49:36Z" + generation: 3 + labels: + app: matching-worker-service-app + managedFields: + - apiVersion: apps/v1 + fieldsType: FieldsV1 + fieldsV1: + f:spec: + f:replicas: {} + manager: vpa-recommender + operation: Update + subresource: scale + - apiVersion: apps/v1 + fieldsType: FieldsV1 + fieldsV1: + f:metadata: + f:labels: + .: {} + f:app: {} + f:spec: + f:progressDeadlineSeconds: {} + f:revisionHistoryLimit: {} + f:selector: {} + f:strategy: + f:rollingUpdate: + .: {} + f:maxSurge: {} + f:maxUnavailable: {} + f:type: {} + f:template: + f:metadata: + f:labels: + .: {} + f:app: {} + f:spec: + f:containers: + k:{"name":"matching-worker-service-1"}: + .: {} + f:env: + .: {} + k:{"name":"AMQP_URL"}: + .: {} + f:name: {} + f:valueFrom: + .: {} + f:configMapKeyRef: {} + k:{"name":"DATABASE_URL"}: + .: {} + f:name: {} + f:valueFrom: + .: {} + f:configMapKeyRef: {} + f:image: {} + f:imagePullPolicy: {} + f:name: {} + f:resources: {} + f:terminationMessagePath: {} + f:terminationMessagePolicy: {} + f:dnsPolicy: {} + f:restartPolicy: {} + f:schedulerName: {} + f:securityContext: {} + f:terminationGracePeriodSeconds: {} + manager: GoogleCloudConsole + operation: Update + time: "2023-11-12T16:49:36Z" + - apiVersion: apps/v1 + fieldsType: FieldsV1 + fieldsV1: + f:metadata: + f:annotations: + f:deployment.kubernetes.io/revision: {} + f:status: + f:availableReplicas: {} + f:conditions: + .: {} + k:{"type":"Available"}: + .: {} + f:lastTransitionTime: {} + f:lastUpdateTime: {} + f:message: {} + f:reason: {} + f:status: {} + f:type: {} + k:{"type":"Progressing"}: + .: {} + f:lastTransitionTime: {} + f:lastUpdateTime: {} + f:message: {} + f:reason: {} + f:status: {} + f:type: {} + f:observedGeneration: {} + f:readyReplicas: {} + f:replicas: {} + f:updatedReplicas: {} + manager: kube-controller-manager + operation: Update + subresource: status + time: "2023-11-12T16:57:22Z" + name: matching-worker-service-deployment + namespace: default + resourceVersion: "1382485" + uid: 7635aea2-9d82-4c00-95b9-521c1047fe3c +spec: + progressDeadlineSeconds: 600 + replicas: 1 + revisionHistoryLimit: 10 + selector: + matchLabels: + app: matching-worker-service-app + strategy: + rollingUpdate: + maxSurge: 25% + maxUnavailable: 25% + type: RollingUpdate + template: + metadata: + creationTimestamp: null + labels: + app: matching-worker-service-app + spec: + containers: + - env: + - name: AMQP_URL + valueFrom: + configMapKeyRef: + key: AMQP_URL + name: matching-worker-service-deployment-config-0isn + - name: DATABASE_URL + valueFrom: + configMapKeyRef: + key: DATABASE_URL + name: matching-worker-service-deployment-config-0isn + image: registry.gitlab.com/peerprepgroup51sem1y2023/docker/matching-worker-service:latest + imagePullPolicy: Always + name: matching-worker-service-1 + resources: + limits: + cpu: 500m + ephemeral-storage: 1Gi + memory: 2Gi + requests: + cpu: 500m + ephemeral-storage: 1Gi + memory: 2Gi + securityContext: + capabilities: + drop: + - NET_RAW + terminationMessagePath: /dev/termination-log + terminationMessagePolicy: File + dnsPolicy: ClusterFirst + restartPolicy: Always + schedulerName: default-scheduler + securityContext: + seccompProfile: + type: RuntimeDefault + terminationGracePeriodSeconds: 30 + tolerations: + - effect: NoSchedule + key: kubernetes.io/arch + operator: Equal + value: amd64 +status: + availableReplicas: 1 + conditions: + - lastTransitionTime: "2023-11-12T16:51:29Z" + lastUpdateTime: "2023-11-12T16:51:29Z" + message: Deployment has minimum availability. + reason: MinimumReplicasAvailable + status: "True" + type: Available + - lastTransitionTime: "2023-11-12T16:49:36Z" + lastUpdateTime: "2023-11-12T16:51:29Z" + message: ReplicaSet "matching-worker-service-deployment-5985cf86ff" has successfully + progressed. + reason: NewReplicaSetAvailable + status: "True" + type: Progressing + observedGeneration: 3 + readyReplicas: 1 + replicas: 1 + updatedReplicas: 1 diff --git a/k8/prod/deployment/mongodb-deployment.yaml b/k8/prod/deployment/mongodb-deployment.yaml new file mode 100644 index 00000000..bd8d6d75 --- /dev/null +++ b/k8/prod/deployment/mongodb-deployment.yaml @@ -0,0 +1,166 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + annotations: + autopilot.gke.io/resource-adjustment: '{"input":{"containers":[{"name":"mongo-1"}]},"output":{"containers":[{"limits":{"cpu":"500m","ephemeral-storage":"1Gi","memory":"2Gi"},"requests":{"cpu":"500m","ephemeral-storage":"1Gi","memory":"2Gi"},"name":"mongo-1"}]},"modified":true}' + autopilot.gke.io/warden-version: 2.7.41 + deployment.kubernetes.io/revision: "1" + creationTimestamp: "2023-11-12T17:04:24Z" + generation: 2 + labels: + app: mongodb-app + managedFields: + - apiVersion: apps/v1 + fieldsType: FieldsV1 + fieldsV1: + f:spec: + f:replicas: {} + manager: vpa-recommender + operation: Update + subresource: scale + - apiVersion: apps/v1 + fieldsType: FieldsV1 + fieldsV1: + f:metadata: + f:labels: + .: {} + f:app: {} + f:spec: + f:progressDeadlineSeconds: {} + f:revisionHistoryLimit: {} + f:selector: {} + f:strategy: + f:rollingUpdate: + .: {} + f:maxSurge: {} + f:maxUnavailable: {} + f:type: {} + f:template: + f:metadata: + f:labels: + .: {} + f:app: {} + f:spec: + f:containers: + k:{"name":"mongo-1"}: + .: {} + f:image: {} + f:imagePullPolicy: {} + f:name: {} + f:resources: {} + f:terminationMessagePath: {} + f:terminationMessagePolicy: {} + f:dnsPolicy: {} + f:restartPolicy: {} + f:schedulerName: {} + f:securityContext: {} + f:terminationGracePeriodSeconds: {} + manager: GoogleCloudConsole + operation: Update + time: "2023-11-12T17:04:24Z" + - apiVersion: apps/v1 + fieldsType: FieldsV1 + fieldsV1: + f:metadata: + f:annotations: + f:deployment.kubernetes.io/revision: {} + f:status: + f:availableReplicas: {} + f:conditions: + .: {} + k:{"type":"Available"}: + .: {} + f:lastTransitionTime: {} + f:lastUpdateTime: {} + f:message: {} + f:reason: {} + f:status: {} + f:type: {} + k:{"type":"Progressing"}: + .: {} + f:lastTransitionTime: {} + f:lastUpdateTime: {} + f:message: {} + f:reason: {} + f:status: {} + f:type: {} + f:observedGeneration: {} + f:readyReplicas: {} + f:replicas: {} + f:updatedReplicas: {} + manager: kube-controller-manager + operation: Update + subresource: status + time: "2023-11-12T17:11:09Z" + name: mongodb-deployment + namespace: default + resourceVersion: "1392925" + uid: 9e5641e6-f14e-4a83-b471-77131f437a91 +spec: + progressDeadlineSeconds: 600 + replicas: 1 + revisionHistoryLimit: 10 + selector: + matchLabels: + app: mongodb-app + strategy: + rollingUpdate: + maxSurge: 25% + maxUnavailable: 25% + type: RollingUpdate + template: + metadata: + creationTimestamp: null + labels: + app: mongodb-app + spec: + containers: + - image: mongo:6.0 + imagePullPolicy: IfNotPresent + name: mongo-1 + resources: + limits: + cpu: 500m + ephemeral-storage: 1Gi + memory: 2Gi + requests: + cpu: 500m + ephemeral-storage: 1Gi + memory: 2Gi + securityContext: + capabilities: + drop: + - NET_RAW + terminationMessagePath: /dev/termination-log + terminationMessagePolicy: File + dnsPolicy: ClusterFirst + restartPolicy: Always + schedulerName: default-scheduler + securityContext: + seccompProfile: + type: RuntimeDefault + terminationGracePeriodSeconds: 30 + tolerations: + - effect: NoSchedule + key: kubernetes.io/arch + operator: Equal + value: amd64 +status: + availableReplicas: 1 + conditions: + - lastTransitionTime: "2023-11-12T17:04:45Z" + lastUpdateTime: "2023-11-12T17:04:45Z" + message: Deployment has minimum availability. + reason: MinimumReplicasAvailable + status: "True" + type: Available + - lastTransitionTime: "2023-11-12T17:04:24Z" + lastUpdateTime: "2023-11-12T17:04:45Z" + message: ReplicaSet "mongodb-deployment-77f9959577" has successfully progressed. + reason: NewReplicaSetAvailable + status: "True" + type: Progressing + observedGeneration: 2 + readyReplicas: 1 + replicas: 1 + updatedReplicas: 1 diff --git a/k8/prod/deployment/postgres-deployment.yaml b/k8/prod/deployment/postgres-deployment.yaml new file mode 100644 index 00000000..448dc5be --- /dev/null +++ b/k8/prod/deployment/postgres-deployment.yaml @@ -0,0 +1,180 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + annotations: + autopilot.gke.io/resource-adjustment: '{"input":{"containers":[{"name":"postgres-1"}]},"output":{"containers":[{"limits":{"cpu":"500m","ephemeral-storage":"1Gi","memory":"2Gi"},"requests":{"cpu":"500m","ephemeral-storage":"1Gi","memory":"2Gi"},"name":"postgres-1"}]},"modified":true}' + autopilot.gke.io/warden-version: 2.7.41 + deployment.kubernetes.io/revision: "1" + creationTimestamp: "2023-11-12T16:19:47Z" + generation: 2 + labels: + app: postgres-app + managedFields: + - apiVersion: apps/v1 + fieldsType: FieldsV1 + fieldsV1: + f:spec: + f:replicas: {} + manager: vpa-recommender + operation: Update + subresource: scale + - apiVersion: apps/v1 + fieldsType: FieldsV1 + fieldsV1: + f:metadata: + f:labels: + .: {} + f:app: {} + f:spec: + f:progressDeadlineSeconds: {} + f:revisionHistoryLimit: {} + f:selector: {} + f:strategy: + f:rollingUpdate: + .: {} + f:maxSurge: {} + f:maxUnavailable: {} + f:type: {} + f:template: + f:metadata: + f:labels: + .: {} + f:app: {} + f:spec: + f:containers: + k:{"name":"postgres-1"}: + .: {} + f:env: + .: {} + k:{"name":"POSTGRES_PASSWORD"}: + .: {} + f:name: {} + f:valueFrom: + .: {} + f:configMapKeyRef: {} + f:image: {} + f:imagePullPolicy: {} + f:name: {} + f:resources: {} + f:terminationMessagePath: {} + f:terminationMessagePolicy: {} + f:dnsPolicy: {} + f:restartPolicy: {} + f:schedulerName: {} + f:securityContext: {} + f:terminationGracePeriodSeconds: {} + manager: GoogleCloudConsole + operation: Update + time: "2023-11-12T16:19:47Z" + - apiVersion: apps/v1 + fieldsType: FieldsV1 + fieldsV1: + f:metadata: + f:annotations: + f:deployment.kubernetes.io/revision: {} + f:status: + f:availableReplicas: {} + f:conditions: + .: {} + k:{"type":"Available"}: + .: {} + f:lastTransitionTime: {} + f:lastUpdateTime: {} + f:message: {} + f:reason: {} + f:status: {} + f:type: {} + k:{"type":"Progressing"}: + .: {} + f:lastTransitionTime: {} + f:lastUpdateTime: {} + f:message: {} + f:reason: {} + f:status: {} + f:type: {} + f:observedGeneration: {} + f:readyReplicas: {} + f:replicas: {} + f:updatedReplicas: {} + manager: kube-controller-manager + operation: Update + subresource: status + time: "2023-11-12T16:52:11Z" + name: postgres-deployment + namespace: default + resourceVersion: "1378469" + uid: c9afb912-64e1-4810-8dbb-0a807f4bf973 +spec: + progressDeadlineSeconds: 600 + replicas: 1 + revisionHistoryLimit: 10 + selector: + matchLabels: + app: postgres-app + strategy: + rollingUpdate: + maxSurge: 25% + maxUnavailable: 25% + type: RollingUpdate + template: + metadata: + creationTimestamp: null + labels: + app: postgres-app + spec: + containers: + - env: + - name: POSTGRES_PASSWORD + valueFrom: + configMapKeyRef: + key: POSTGRES_PASSWORD + name: postgres-deployment-config-yxly + image: postgres + imagePullPolicy: Always + name: postgres-1 + resources: + limits: + cpu: 500m + ephemeral-storage: 1Gi + memory: 2Gi + requests: + cpu: 500m + ephemeral-storage: 1Gi + memory: 2Gi + securityContext: + capabilities: + drop: + - NET_RAW + terminationMessagePath: /dev/termination-log + terminationMessagePolicy: File + dnsPolicy: ClusterFirst + restartPolicy: Always + schedulerName: default-scheduler + securityContext: + seccompProfile: + type: RuntimeDefault + terminationGracePeriodSeconds: 30 + tolerations: + - effect: NoSchedule + key: kubernetes.io/arch + operator: Equal + value: amd64 +status: + availableReplicas: 1 + conditions: + - lastTransitionTime: "2023-11-12T16:19:47Z" + lastUpdateTime: "2023-11-12T16:22:18Z" + message: ReplicaSet "postgres-deployment-f8786969d" has successfully progressed. + reason: NewReplicaSetAvailable + status: "True" + type: Progressing + - lastTransitionTime: "2023-11-12T16:52:11Z" + lastUpdateTime: "2023-11-12T16:52:11Z" + message: Deployment has minimum availability. + reason: MinimumReplicasAvailable + status: "True" + type: Available + observedGeneration: 2 + readyReplicas: 1 + replicas: 1 + updatedReplicas: 1 diff --git a/k8/prod/deployment/profile-service-deployment.yaml b/k8/prod/deployment/profile-service-deployment.yaml new file mode 100644 index 00000000..eb45095f --- /dev/null +++ b/k8/prod/deployment/profile-service-deployment.yaml @@ -0,0 +1,224 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + annotations: + autopilot.gke.io/resource-adjustment: '{"input":{"containers":[{"name":"profile-service-1"}]},"output":{"containers":[{"limits":{"cpu":"500m","ephemeral-storage":"1Gi","memory":"2Gi"},"requests":{"cpu":"500m","ephemeral-storage":"1Gi","memory":"2Gi"},"name":"profile-service-1"}]},"modified":true}' + autopilot.gke.io/warden-version: 2.7.41 + deployment.kubernetes.io/revision: "1" + creationTimestamp: "2023-11-12T16:21:32Z" + generation: 2 + labels: + app: profile-service-app + managedFields: + - apiVersion: apps/v1 + fieldsType: FieldsV1 + fieldsV1: + f:spec: + f:replicas: {} + manager: vpa-recommender + operation: Update + subresource: scale + - apiVersion: apps/v1 + fieldsType: FieldsV1 + fieldsV1: + f:metadata: + f:labels: + .: {} + f:app: {} + f:spec: + f:progressDeadlineSeconds: {} + f:revisionHistoryLimit: {} + f:selector: {} + f:strategy: + f:rollingUpdate: + .: {} + f:maxSurge: {} + f:maxUnavailable: {} + f:type: {} + f:template: + f:metadata: + f:labels: + .: {} + f:app: {} + f:spec: + f:containers: + k:{"name":"profile-service-1"}: + .: {} + f:env: + .: {} + k:{"name":"POSTGRES_DATABASE"}: + .: {} + f:name: {} + f:valueFrom: + .: {} + f:configMapKeyRef: {} + k:{"name":"POSTGRES_HOST"}: + .: {} + f:name: {} + f:valueFrom: + .: {} + f:configMapKeyRef: {} + k:{"name":"POSTGRES_PASSWORD"}: + .: {} + f:name: {} + f:valueFrom: + .: {} + f:configMapKeyRef: {} + k:{"name":"POSTGRES_PORT"}: + .: {} + f:name: {} + f:valueFrom: + .: {} + f:configMapKeyRef: {} + k:{"name":"POSTGRES_USERNAME"}: + .: {} + f:name: {} + f:valueFrom: + .: {} + f:configMapKeyRef: {} + f:image: {} + f:imagePullPolicy: {} + f:name: {} + f:resources: {} + f:terminationMessagePath: {} + f:terminationMessagePolicy: {} + f:dnsPolicy: {} + f:restartPolicy: {} + f:schedulerName: {} + f:securityContext: {} + f:terminationGracePeriodSeconds: {} + manager: GoogleCloudConsole + operation: Update + time: "2023-11-12T16:21:32Z" + - apiVersion: apps/v1 + fieldsType: FieldsV1 + fieldsV1: + f:metadata: + f:annotations: + f:deployment.kubernetes.io/revision: {} + f:status: + f:availableReplicas: {} + f:conditions: + .: {} + k:{"type":"Available"}: + .: {} + f:lastTransitionTime: {} + f:lastUpdateTime: {} + f:message: {} + f:reason: {} + f:status: {} + f:type: {} + k:{"type":"Progressing"}: + .: {} + f:lastTransitionTime: {} + f:lastUpdateTime: {} + f:message: {} + f:reason: {} + f:status: {} + f:type: {} + f:observedGeneration: {} + f:readyReplicas: {} + f:replicas: {} + f:updatedReplicas: {} + manager: kube-controller-manager + operation: Update + subresource: status + time: "2023-11-12T17:37:36Z" + name: profile-service-deployment + namespace: default + resourceVersion: "1412231" + uid: 36d7f1f9-790d-4d49-84c6-759f32b358e0 +spec: + progressDeadlineSeconds: 600 + replicas: 1 + revisionHistoryLimit: 10 + selector: + matchLabels: + app: profile-service-app + strategy: + rollingUpdate: + maxSurge: 25% + maxUnavailable: 25% + type: RollingUpdate + template: + metadata: + creationTimestamp: null + labels: + app: profile-service-app + spec: + containers: + - env: + - name: POSTGRES_HOST + valueFrom: + configMapKeyRef: + key: POSTGRES_HOST + name: profile-service-deployment-config-k7nx + - name: POSTGRES_PORT + valueFrom: + configMapKeyRef: + key: POSTGRES_PORT + name: profile-service-deployment-config-k7nx + - name: POSTGRES_USERNAME + valueFrom: + configMapKeyRef: + key: POSTGRES_USERNAME + name: profile-service-deployment-config-k7nx + - name: POSTGRES_PASSWORD + valueFrom: + configMapKeyRef: + key: POSTGRES_PASSWORD + name: profile-service-deployment-config-k7nx + - name: POSTGRES_DATABASE + valueFrom: + configMapKeyRef: + key: POSTGRES_DATABASE + name: profile-service-deployment-config-k7nx + image: registry.gitlab.com/peerprepgroup51sem1y2023/docker/profile-service:latest + imagePullPolicy: Always + name: profile-service-1 + resources: + limits: + cpu: 500m + ephemeral-storage: 1Gi + memory: 2Gi + requests: + cpu: 500m + ephemeral-storage: 1Gi + memory: 2Gi + securityContext: + capabilities: + drop: + - NET_RAW + terminationMessagePath: /dev/termination-log + terminationMessagePolicy: File + dnsPolicy: ClusterFirst + restartPolicy: Always + schedulerName: default-scheduler + securityContext: + seccompProfile: + type: RuntimeDefault + terminationGracePeriodSeconds: 30 + tolerations: + - effect: NoSchedule + key: kubernetes.io/arch + operator: Equal + value: amd64 +status: + availableReplicas: 1 + conditions: + - lastTransitionTime: "2023-11-12T16:21:32Z" + lastUpdateTime: "2023-11-12T16:23:37Z" + message: ReplicaSet "profile-service-deployment-d5f9ddf" has successfully progressed. + reason: NewReplicaSetAvailable + status: "True" + type: Progressing + - lastTransitionTime: "2023-11-12T17:37:36Z" + lastUpdateTime: "2023-11-12T17:37:36Z" + message: Deployment has minimum availability. + reason: MinimumReplicasAvailable + status: "True" + type: Available + observedGeneration: 2 + readyReplicas: 1 + replicas: 1 + updatedReplicas: 1 diff --git a/k8/prod/deployment/question-service-deployment.yaml b/k8/prod/deployment/question-service-deployment.yaml new file mode 100644 index 00000000..7bede03e --- /dev/null +++ b/k8/prod/deployment/question-service-deployment.yaml @@ -0,0 +1,192 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + annotations: + autopilot.gke.io/resource-adjustment: '{"input":{"containers":[{"name":"question-service-1"}]},"output":{"containers":[{"limits":{"cpu":"500m","ephemeral-storage":"1Gi","memory":"2Gi"},"requests":{"cpu":"500m","ephemeral-storage":"1Gi","memory":"2Gi"},"name":"question-service-1"}]},"modified":true}' + autopilot.gke.io/warden-version: 2.7.41 + deployment.kubernetes.io/revision: "1" + creationTimestamp: "2023-11-12T16:41:47Z" + generation: 2 + labels: + app: question-service-app + managedFields: + - apiVersion: apps/v1 + fieldsType: FieldsV1 + fieldsV1: + f:spec: + f:replicas: {} + manager: vpa-recommender + operation: Update + subresource: scale + - apiVersion: apps/v1 + fieldsType: FieldsV1 + fieldsV1: + f:metadata: + f:labels: + .: {} + f:app: {} + f:spec: + f:progressDeadlineSeconds: {} + f:revisionHistoryLimit: {} + f:selector: {} + f:strategy: + f:rollingUpdate: + .: {} + f:maxSurge: {} + f:maxUnavailable: {} + f:type: {} + f:template: + f:metadata: + f:labels: + .: {} + f:app: {} + f:spec: + f:containers: + k:{"name":"question-service-1"}: + .: {} + f:env: + .: {} + k:{"name":"MONGODB_URI"}: + .: {} + f:name: {} + f:valueFrom: + .: {} + f:configMapKeyRef: {} + k:{"name":"PORT_NUMBER"}: + .: {} + f:name: {} + f:valueFrom: + .: {} + f:configMapKeyRef: {} + f:image: {} + f:imagePullPolicy: {} + f:name: {} + f:resources: {} + f:terminationMessagePath: {} + f:terminationMessagePolicy: {} + f:dnsPolicy: {} + f:restartPolicy: {} + f:schedulerName: {} + f:securityContext: {} + f:terminationGracePeriodSeconds: {} + manager: GoogleCloudConsole + operation: Update + time: "2023-11-12T16:41:47Z" + - apiVersion: apps/v1 + fieldsType: FieldsV1 + fieldsV1: + f:metadata: + f:annotations: + f:deployment.kubernetes.io/revision: {} + f:status: + f:availableReplicas: {} + f:conditions: + .: {} + k:{"type":"Available"}: + .: {} + f:lastTransitionTime: {} + f:lastUpdateTime: {} + f:message: {} + f:reason: {} + f:status: {} + f:type: {} + k:{"type":"Progressing"}: + .: {} + f:lastTransitionTime: {} + f:lastUpdateTime: {} + f:message: {} + f:reason: {} + f:status: {} + f:type: {} + f:observedGeneration: {} + f:readyReplicas: {} + f:replicas: {} + f:updatedReplicas: {} + manager: kube-controller-manager + operation: Update + subresource: status + time: "2023-11-12T17:43:23Z" + name: question-service-deployment + namespace: default + resourceVersion: "1416605" + uid: 9f86c70c-f075-432e-a543-da319b39fb13 +spec: + progressDeadlineSeconds: 600 + replicas: 1 + revisionHistoryLimit: 10 + selector: + matchLabels: + app: question-service-app + strategy: + rollingUpdate: + maxSurge: 25% + maxUnavailable: 25% + type: RollingUpdate + template: + metadata: + creationTimestamp: null + labels: + app: question-service-app + spec: + containers: + - env: + - name: MONGODB_URI + valueFrom: + configMapKeyRef: + key: MONGODB_URI + name: question-service-deployment-config-szw7 + - name: PORT_NUMBER + valueFrom: + configMapKeyRef: + key: PORT_NUMBER + name: question-service-deployment-config-szw7 + image: registry.gitlab.com/peerprepgroup51sem1y2023/docker/question-service:latest + imagePullPolicy: Always + name: question-service-1 + resources: + limits: + cpu: 500m + ephemeral-storage: 1Gi + memory: 2Gi + requests: + cpu: 500m + ephemeral-storage: 1Gi + memory: 2Gi + securityContext: + capabilities: + drop: + - NET_RAW + terminationMessagePath: /dev/termination-log + terminationMessagePolicy: File + dnsPolicy: ClusterFirst + restartPolicy: Always + schedulerName: default-scheduler + securityContext: + seccompProfile: + type: RuntimeDefault + terminationGracePeriodSeconds: 30 + tolerations: + - effect: NoSchedule + key: kubernetes.io/arch + operator: Equal + value: amd64 +status: + availableReplicas: 1 + conditions: + - lastTransitionTime: "2023-11-12T16:41:47Z" + lastUpdateTime: "2023-11-12T16:44:28Z" + message: ReplicaSet "question-service-deployment-7cdffd5659" has successfully + progressed. + reason: NewReplicaSetAvailable + status: "True" + type: Progressing + - lastTransitionTime: "2023-11-12T17:43:23Z" + lastUpdateTime: "2023-11-12T17:43:23Z" + message: Deployment has minimum availability. + reason: MinimumReplicasAvailable + status: "True" + type: Available + observedGeneration: 2 + readyReplicas: 1 + replicas: 1 + updatedReplicas: 1 diff --git a/k8/prod/deployment/rabbitmq-deployment.yaml b/k8/prod/deployment/rabbitmq-deployment.yaml new file mode 100644 index 00000000..529adb5e --- /dev/null +++ b/k8/prod/deployment/rabbitmq-deployment.yaml @@ -0,0 +1,191 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + annotations: + autopilot.gke.io/resource-adjustment: '{"input":{"containers":[{"name":"rabbitmq-1"}]},"output":{"containers":[{"limits":{"cpu":"500m","ephemeral-storage":"1Gi","memory":"2Gi"},"requests":{"cpu":"500m","ephemeral-storage":"1Gi","memory":"2Gi"},"name":"rabbitmq-1"}]},"modified":true}' + autopilot.gke.io/warden-version: 2.7.41 + deployment.kubernetes.io/revision: "1" + creationTimestamp: "2023-11-12T15:59:18Z" + generation: 2 + labels: + app: rabbitmq-app + managedFields: + - apiVersion: apps/v1 + fieldsType: FieldsV1 + fieldsV1: + f:spec: + f:replicas: {} + manager: vpa-recommender + operation: Update + subresource: scale + - apiVersion: apps/v1 + fieldsType: FieldsV1 + fieldsV1: + f:metadata: + f:labels: + .: {} + f:app: {} + f:spec: + f:progressDeadlineSeconds: {} + f:revisionHistoryLimit: {} + f:selector: {} + f:strategy: + f:rollingUpdate: + .: {} + f:maxSurge: {} + f:maxUnavailable: {} + f:type: {} + f:template: + f:metadata: + f:labels: + .: {} + f:app: {} + f:spec: + f:containers: + k:{"name":"rabbitmq-1"}: + .: {} + f:env: + .: {} + k:{"name":"RABBITMQ_DEFAULT_PASS"}: + .: {} + f:name: {} + f:valueFrom: + .: {} + f:configMapKeyRef: {} + k:{"name":"RABBITMQ_DEFAULT_USER"}: + .: {} + f:name: {} + f:valueFrom: + .: {} + f:configMapKeyRef: {} + f:image: {} + f:imagePullPolicy: {} + f:name: {} + f:resources: {} + f:terminationMessagePath: {} + f:terminationMessagePolicy: {} + f:dnsPolicy: {} + f:restartPolicy: {} + f:schedulerName: {} + f:securityContext: {} + f:terminationGracePeriodSeconds: {} + manager: GoogleCloudConsole + operation: Update + time: "2023-11-12T15:59:18Z" + - apiVersion: apps/v1 + fieldsType: FieldsV1 + fieldsV1: + f:metadata: + f:annotations: + f:deployment.kubernetes.io/revision: {} + f:status: + f:availableReplicas: {} + f:conditions: + .: {} + k:{"type":"Available"}: + .: {} + f:lastTransitionTime: {} + f:lastUpdateTime: {} + f:message: {} + f:reason: {} + f:status: {} + f:type: {} + k:{"type":"Progressing"}: + .: {} + f:lastTransitionTime: {} + f:lastUpdateTime: {} + f:message: {} + f:reason: {} + f:status: {} + f:type: {} + f:observedGeneration: {} + f:readyReplicas: {} + f:replicas: {} + f:updatedReplicas: {} + manager: kube-controller-manager + operation: Update + subresource: status + time: "2023-11-12T16:04:33Z" + name: rabbitmq-deployment + namespace: default + resourceVersion: "1341388" + uid: 27f9ddfd-253b-4fe9-8772-60723d1c75bb +spec: + progressDeadlineSeconds: 600 + replicas: 1 + revisionHistoryLimit: 10 + selector: + matchLabels: + app: rabbitmq-app + strategy: + rollingUpdate: + maxSurge: 25% + maxUnavailable: 25% + type: RollingUpdate + template: + metadata: + creationTimestamp: null + labels: + app: rabbitmq-app + spec: + containers: + - env: + - name: RABBITMQ_DEFAULT_USER + valueFrom: + configMapKeyRef: + key: RABBITMQ_DEFAULT_USER + name: rabbitmq-deployment-config-6g2c + - name: RABBITMQ_DEFAULT_PASS + valueFrom: + configMapKeyRef: + key: RABBITMQ_DEFAULT_PASS + name: rabbitmq-deployment-config-6g2c + image: rabbitmq:management + imagePullPolicy: IfNotPresent + name: rabbitmq-1 + resources: + limits: + cpu: 500m + ephemeral-storage: 1Gi + memory: 2Gi + requests: + cpu: 500m + ephemeral-storage: 1Gi + memory: 2Gi + securityContext: + capabilities: + drop: + - NET_RAW + terminationMessagePath: /dev/termination-log + terminationMessagePolicy: File + dnsPolicy: ClusterFirst + restartPolicy: Always + schedulerName: default-scheduler + securityContext: + seccompProfile: + type: RuntimeDefault + terminationGracePeriodSeconds: 30 + tolerations: + - effect: NoSchedule + key: kubernetes.io/arch + operator: Equal + value: amd64 +status: + availableReplicas: 1 + conditions: + - lastTransitionTime: "2023-11-12T15:59:20Z" + lastUpdateTime: "2023-11-12T15:59:20Z" + message: Deployment has minimum availability. + reason: MinimumReplicasAvailable + status: "True" + type: Available + - lastTransitionTime: "2023-11-12T15:59:18Z" + lastUpdateTime: "2023-11-12T15:59:20Z" + message: ReplicaSet "rabbitmq-deployment-7bffb44c89" has successfully progressed. + reason: NewReplicaSetAvailable + status: "True" + type: Progressing + observedGeneration: 2 + readyReplicas: 1 + replicas: 1 + updatedReplicas: 1 diff --git a/k8/prod/deployments/front-end-deployment-prod.yaml b/k8/prod/deployments/front-end-deployment-prod.yaml deleted file mode 100644 index 75bdb4f2..00000000 --- a/k8/prod/deployments/front-end-deployment-prod.yaml +++ /dev/null @@ -1,34 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: front-end-deployment-prod - namespace: prod - annotations: - keel.sh/policy: minor # <-- policy name according to https://semver.org/ - keel.sh/trigger: poll # <-- actively query registry, otherwise defaults to webhooks -spec: - replicas: 1 # minimum num of replicas before HPA is activated - selector: - matchLabels: - app: front-end-app - strategy: - type: RollingUpdate - template: - metadata: - labels: - app: front-end-app - spec: - containers: - - image: registry.gitlab.com/peerprepgroup51sem1y2023/docker/frontend:latest - name: front-end-container - ports: - - containerPort: 3000 - resources: - requests: - memory: "100Mi" # Request 256MB of memory - cpu: "100m" # Request 0.1 CPU (100 milliCPU) - limits: - memory: "100Mi" # Limit memory to 512MB - cpu: "100m" # Limit CPU to 0.2 CPU (200 milliCPU) - restartPolicy: Always -status: {} diff --git a/k8/prod/deployments/keel-deployment-prod.yaml b/k8/prod/deployments/keel-deployment-prod.yaml deleted file mode 100644 index 85d638ec..00000000 --- a/k8/prod/deployments/keel-deployment-prod.yaml +++ /dev/null @@ -1,28 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: keel-deployment - namespace: prod -spec: - replicas: 1 - selector: - matchLabels: - app: keel - strategy: - type: RollingUpdate - template: - metadata: - labels: - app: keel - spec: - containers: - - name: keel - image: keelhq/keel - imagePullPolicy: IfNotPresent # Set your desired pull policy - resources: - limits: - memory: "100Mi" # Adjust resource limits as needed - cpu: "100m" # Request 0.1 CPU (100 milliCPU) - requests: - memory: "100Mi" - cpu: "100m" # Request 0.1 CPU (100 milliCPU) diff --git a/k8/prod/deployments/matching-service-db-statefulset-prod.yaml b/k8/prod/deployments/matching-service-db-statefulset-prod.yaml deleted file mode 100644 index 86c8774d..00000000 --- a/k8/prod/deployments/matching-service-db-statefulset-prod.yaml +++ /dev/null @@ -1,53 +0,0 @@ -apiVersion: apps/v1 -kind: StatefulSet -metadata: - name: matching-service-db-statefulset-prod # The name of the StatefulSet - namespace: prod # The namespace where the StatefulSet will be created - -spec: - replicas: 1 # Number of replica pods to create - serviceName: matching-service-db-headless # A headless service for DNS-based discovery - selector: - matchLabels: - app: matching-service-db # Select pods with the label "app: postgres" - updateStrategy: - type: RollingUpdate - template: - metadata: - labels: - app: matching-service-db # Labels for pods created by the StatefulSet - - spec: - containers: - - name: matching-service-db # Name of the container - image: postgres:16-alpine # Docker image for the Postgres container - ports: - - containerPort: 5432 # Port to expose - resources: - requests: - memory: "100Mi" # Request 256MB of memory - cpu: "100m" # Request 0.1 CPU (100 milliCPU) - limits: - memory: "100Mi" # Limit memory to 512MB - cpu: "100m" # Limit CPU to 0.2 CPU (200 milliCPU) - env: - - name: POSTGRES_USER - valueFrom: - configMapKeyRef: - name: matching-service-db-config-prod - key: POSTGRES_USER - - name: POSTGRES_PASSWORD - valueFrom: - configMapKeyRef: - name: matching-service-db-config-prod - key: POSTGRES_PASSWORD - - name: POSTGRES_DB - valueFrom: - configMapKeyRef: - name: matching-service-db-config-prod - key: POSTGRES_DB - - volumes: - - name: matching-service-db-volume-data - persistentVolumeClaim: - claimName: matching-service-db-pvc-prod diff --git a/k8/prod/deployments/matching-service-deployment-prod.yaml b/k8/prod/deployments/matching-service-deployment-prod.yaml deleted file mode 100644 index 7bd192ad..00000000 --- a/k8/prod/deployments/matching-service-deployment-prod.yaml +++ /dev/null @@ -1,43 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: matching-service-deployment-prod # Name of the deployment - namespace: prod # Namespace in which the deployment will be created -spec: - # replicas: 1 # Number of desired replicas - selector: - matchLabels: - app: matching-service-api # Label selector for the pods controlled by this deployment - strategy: - type: RollingUpdate # Deployment strategy, which recreates all pods when updating - - template: - metadata: - labels: - app: matching-service-api # Label for pods created by this template - spec: - containers: - - name: matching-service-api # Name of the container - image: registry.gitlab.com/peerprepgroup51sem1y2023/docker/matching-service:latest - ports: - - containerPort: 8000 # Port on which the container listens - resources: - requests: - memory: "200Mi" # Request 256MB of memory - cpu: "100m" # Request 0.1 CPU (100 milliCPU) - limits: - memory: "200Mi" # Limit memory to 512MB - cpu: "100m" # Limit CPU to 0.2 CPU (200 milliCPU) - env: - - name: PORT_NUMBER - valueFrom: - configMapKeyRef: - name: matching-service-config-prod - key: PORT_NUMBER - - name: AMQP_URL - valueFrom: - configMapKeyRef: - name: matching-service-config-prod - key: AMQP_URL - # restartPolicy: "OnFailure" # Restart policy for the pods -status: {} # Empty status section diff --git a/k8/prod/deployments/matching-worker-service-deployment-prod.yaml b/k8/prod/deployments/matching-worker-service-deployment-prod.yaml deleted file mode 100644 index 69c55b8c..00000000 --- a/k8/prod/deployments/matching-worker-service-deployment-prod.yaml +++ /dev/null @@ -1,42 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: matching-worker-service-deployment-prod # Name of the deployment - namespace: prod # Namespace in which the deployment will be created -spec: - # replicas: 1 # Number of desired replicas - selector: - matchLabels: - app: matching-worker-service # Label selector for the pods controlled by this deployment - strategy: - type: RollingUpdate # Deployment strategy, which recreates all pods when updating - template: - metadata: - labels: - app: matching-worker-service # Label for pods created by this template - spec: - containers: - - name: matching-worker-service # Name of the container - image: registry.gitlab.com/peerprepgroup51sem1y2023/docker/matching-worker-service:latest - ports: - - containerPort: 8000 # Port on which the container listens - resources: - requests: - memory: "400Mi" # Request 256MB of memory - cpu: "400m" # Request 0.1 CPU (100 milliCPU) - limits: - memory: "400Mi" # Limit memory to 512MB - cpu: "400m" # Limit CPU to 0.2 CPU (200 milliCPU) - env: - - name: AMQP_URL - valueFrom: - configMapKeyRef: - name: matching-worker-service-config-prod - key: AMQP_URL - - name: DATABASE_URL - valueFrom: - configMapKeyRef: - name: matching-worker-service-config-prod - key: DATABASE_URL - # restartPolicy: "OnFailure" # Restart policy for the pods -status: {} # Empty status section diff --git a/k8/prod/deployments/mongodb-statefulset-prod.yaml b/k8/prod/deployments/mongodb-statefulset-prod.yaml deleted file mode 100644 index c780639d..00000000 --- a/k8/prod/deployments/mongodb-statefulset-prod.yaml +++ /dev/null @@ -1,36 +0,0 @@ -apiVersion: apps/v1 -kind: StatefulSet -metadata: - name: mongodb-statefulset-prod # The name of the StatefulSet - namespace: prod # The namespace where the StatefulSet will be created - -spec: - replicas: 1 # Standalone mongodb database - serviceName: mongodb-headless # A headless service for DNS-based discovery - selector: - matchLabels: - app: mongodb # Select pods with the label "app: mongodb" - updateStrategy: - type: RollingUpdate - template: - metadata: - labels: - app: mongodb # Labels for pods created by the StatefulSet - - spec: - containers: - - name: mongodb # Name of the container - image: mongo:6.0 # Docker image for the MongoDB container - ports: - - containerPort: 27017 # Port to expose - resources: - requests: - memory: "100Mi" # Request 256MB of memory - cpu: "100m" # Request 0.1 CPU (100 milliCPU) - limits: - memory: "100Mi" # Limit memory to 512MB - cpu: "100m" # Limit CPU to 0.2 CPU (200 milliCPU) - volumes: - - name: mongodb-volume-data - persistentVolumeClaim: - claimName: mongodb-pvc-prod diff --git a/k8/prod/deployments/postgres-statefulset-prod.yaml b/k8/prod/deployments/postgres-statefulset-prod.yaml deleted file mode 100644 index 9210adbb..00000000 --- a/k8/prod/deployments/postgres-statefulset-prod.yaml +++ /dev/null @@ -1,43 +0,0 @@ -apiVersion: apps/v1 -kind: StatefulSet -metadata: - name: postgres-statefulset-prod # The name of the StatefulSet - namespace: prod # The namespace where the StatefulSet will be created - -spec: - replicas: 1 # Number of replica pods to create - serviceName: postgres-headless # A headless service for DNS-based discovery - selector: - matchLabels: - app: postgres # Select pods with the label "app: postgres" - updateStrategy: - type: RollingUpdate - template: - metadata: - labels: - app: postgres # Labels for pods created by the StatefulSet - - spec: - containers: - - name: postgres # Name of the container - image: postgres:16 # Docker image for the Postgres container - ports: - - containerPort: 5432 # Port to expose - resources: - requests: - memory: "100Mi" # Request 256MB of memory - cpu: "100m" # Request 0.1 CPU (100 milliCPU) - limits: - memory: "100Mi" # Limit memory to 512MB - cpu: "100m" # Limit CPU to 0.2 CPU (200 milliCPU) - env: - - name: POSTGRES_PASSWORD - valueFrom: - configMapKeyRef: - name: postgres-config-prod - key: POSTGRES_PASSWORD - - volumes: - - name: postgres-volume-data - persistentVolumeClaim: - claimName: postgres-pvc-prod diff --git a/k8/prod/deployments/profile-service-deployment-prod.yaml b/k8/prod/deployments/profile-service-deployment-prod.yaml deleted file mode 100644 index d2e80063..00000000 --- a/k8/prod/deployments/profile-service-deployment-prod.yaml +++ /dev/null @@ -1,59 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: profile-service-deployment-prod # Name of the deployment - namespace: prod # Namespace in which the deployment will be created - annotations: - keel.sh/policy: minor # <-- policy name according to https://semver.org/ - keel.sh/trigger: poll # <-- actively query registry, otherwise defaults to webhooks -spec: - replicas: 1 # Number of desired replicas - selector: - matchLabels: - app: profile-service-api # Label selector for the pods controlled by this deployment - strategy: - type: RollingUpdate # Deployment strategy, which recreates all pods when updating - template: - metadata: - labels: - app: profile-service-api # Label for pods created by this template - spec: - containers: - - name: profile-service-api # Name of the container - image: registry.gitlab.com/peerprepgroup51sem1y2023/docker/profile-service:latest # Docker image for the container - ports: - - containerPort: 3100 # Port on which the container listens - resources: - requests: - memory: "200Mi" # Request 256MB of memory - cpu: "300m" # Request 0.1 CPU (100 milliCPU) - limits: - memory: "200Mi" # Limit memory to 512MB - cpu: "300m" # Limit CPU to 0.2 CPU (200 milliCPU) - env: - - name: POSTGRES_HOST - valueFrom: - configMapKeyRef: - name: postgres-config-prod - key: POSTGRES_HOST - - name: POSTGRES_PORT - valueFrom: - configMapKeyRef: - name: postgres-config-prod - key: POSTGRES_PORT - - name: POSTGRES_USERNAME - valueFrom: - configMapKeyRef: - name: postgres-config-prod - key: POSTGRES_USERNAME - - name: POSTGRES_PASSWORD - valueFrom: - configMapKeyRef: - name: postgres-config-prod - key: POSTGRES_PASSWORD - - name: POSTGRES_DATABASE - valueFrom: - configMapKeyRef: - name: postgres-config-prod - key: POSTGRES_DATABASE -status: {} # Empty status section diff --git a/k8/prod/deployments/prometheus-deployment-prod.yaml b/k8/prod/deployments/prometheus-deployment-prod.yaml deleted file mode 100644 index 63b7d84b..00000000 --- a/k8/prod/deployments/prometheus-deployment-prod.yaml +++ /dev/null @@ -1,43 +0,0 @@ -apiVersion: apps/v1 -kind: StatefulSet -metadata: - name: prometheus-deployment-prod - namespace: prod -spec: - serviceName: prometheus - replicas: 1 - selector: - matchLabels: - app: prometheus - template: - metadata: - labels: - app: prometheus - spec: - containers: - - name: prometheus - image: prom/prometheus:v2.33.1 - ports: - - containerPort: 9090 - resources: - requests: - memory: "100Mi" # Request 256MB of memory - cpu: "100m" # Request 0.1 CPU (100 milliCPU) - limits: - memory: "100Mi" # Limit memory to 512MB - cpu: "100m" # Limit CPU to 0.2 CPU (200 milliCPU) - env: - - name: PROMETHEUS_CONFIG - value: | - global: - scrape_interval: 15s - evaluation_interval: 15s - retention: "12h" - scrape_configs: - - job_name: 'prometheus' - static_configs: - - targets: ['localhost:9090'] - volumes: - - name: prometheus-volume-data - persistentVolumeClaim: - claimName: prometheus-pvc-prod diff --git a/k8/prod/deployments/question-service-deployment-prod.yaml b/k8/prod/deployments/question-service-deployment-prod.yaml deleted file mode 100644 index ae81ac76..00000000 --- a/k8/prod/deployments/question-service-deployment-prod.yaml +++ /dev/null @@ -1,45 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: question-service-deployment-prod - namespace: prod - annotations: - keel.sh/policy: minor # <-- policy name according to https://semver.org/ - keel.sh/trigger: poll # <-- actively query registry, otherwise defaults to webhooks -spec: - replicas: 1 - selector: - matchLabels: - app: question-service-api - strategy: - type: RollingUpdate - template: - metadata: - labels: - app: question-service-api - spec: - containers: - - image: registry.gitlab.com/peerprepgroup51sem1y2023/docker/question-service:latest - name: question-service-api - ports: - - containerPort: 8080 - resources: - requests: - memory: "100Mi" # Request 256MB of memory - cpu: "100m" # Request 0.1 CPU (100 milliCPU) - limits: - memory: "100Mi" # Limit memory to 512MB - cpu: "100m" # Limit CPU to 0.2 CPU (200 milliCPU) - env: - - name: MONGODB_URI - valueFrom: - configMapKeyRef: - name: question-service-config-prod - key: MONGODB_URI - - name: PORT_NUMBER - valueFrom: - configMapKeyRef: - name: question-service-config-prod - key: PORT_NUMBER - restartPolicy: Always -status: {} diff --git a/k8/prod/deployments/rabbitmq-deployment-prod.yaml b/k8/prod/deployments/rabbitmq-deployment-prod.yaml deleted file mode 100644 index e4846303..00000000 --- a/k8/prod/deployments/rabbitmq-deployment-prod.yaml +++ /dev/null @@ -1,43 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: rabbitmq-deployment-prod # Name of the deployment - namespace: prod # Namespace in which the deployment will be created -spec: - replicas: 1 # Number of desired replicas - selector: - matchLabels: - app: rabbitmq # Label selector for the pods controlled by this deployment - strategy: - type: RollingUpdate # Deployment strategy, which recreates all pods when updating - template: - metadata: - labels: - app: rabbitmq # Label for pods created by this template - spec: - containers: - - name: rabbitmq # Name of the container - image: rabbitmq # Docker image for the container - ports: - - containerPort: 5672 # Port on which the container listens - - containerPort: 15672 - resources: - requests: - memory: "200Mi" # Request 256MB of memory - cpu: "200m" # Request 0.1 CPU (100 milliCPU) - limits: - memory: "200Mi" # Limit memory to 512MB - cpu: "200m" # Limit CPU to 0.2 CPU (200 milliCPU) - env: - - name: RABBITMQ_DEFAULT_USER - valueFrom: - configMapKeyRef: - name: rabbitmq-config-prod - key: RABBITMQ_DEFAULT_USER - - name: RABBITMQ_DEFAULT_PASS - valueFrom: - configMapKeyRef: - name: rabbitmq-config-prod - key: RABBITMQ_DEFAULT_PASS - restartPolicy: Always # Restart policy for the pods -status: {} # Empty status section diff --git a/k8/prod/ingress/nginx-ingress.yaml b/k8/prod/ingress/nginx-ingress.yaml new file mode 100644 index 00000000..7b61d3e3 --- /dev/null +++ b/k8/prod/ingress/nginx-ingress.yaml @@ -0,0 +1,152 @@ +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + annotations: + ingress.kubernetes.io/backends: '{"k8s1-632f34ab-defaul-collaboration-service-deployme-85-ce162a91":"HEALTHY","k8s1-632f34ab-defaul-matching-service-deployment-s-800-6691abe6":"HEALTHY","k8s1-632f34ab-defaul-profile-service-deployment-se-310-2be4595e":"HEALTHY","k8s1-632f34ab-defaul-question-service-deployment-s-808-fb83050f":"HEALTHY","k8s1-632f34ab-default-front-end-deployment-service-300-2a24e59e":"HEALTHY","k8s1-632f34ab-default-postgres-deployment-service-5432-2fad4624":"UNHEALTHY","k8s1-632f34ab-kube-system-default-http-backend-80-13fcc799":"HEALTHY"}' + ingress.kubernetes.io/forwarding-rule: k8s2-fr-18ezotre-default-my-nginx-ingress-hxitp85q + ingress.kubernetes.io/target-proxy: k8s2-tp-18ezotre-default-my-nginx-ingress-hxitp85q + ingress.kubernetes.io/url-map: k8s2-um-18ezotre-default-my-nginx-ingress-hxitp85q + nginx.ingress.kubernetes.io/affinity: ip + nginx.ingress.kubernetes.io/websocket-services: collaboration-service-deployment-service + creationTimestamp: "2023-11-11T19:54:51Z" + finalizers: + - networking.gke.io/ingress-finalizer-V2 + generation: 21 + managedFields: + - apiVersion: networking.k8s.io/v1 + fieldsType: FieldsV1 + fieldsV1: + f:metadata: + f:annotations: {} + manager: kubectl-client-side-apply + operation: Update + time: "2023-11-11T19:54:51Z" + - apiVersion: networking.k8s.io/v1 + fieldsType: FieldsV1 + fieldsV1: + f:metadata: + f:annotations: + f:nginx.ingress.kubernetes.io/affinity: {} + f:nginx.ingress.kubernetes.io/websocket-services: {} + f:spec: + f:rules: {} + manager: GoogleCloudConsole + operation: Update + time: "2023-11-13T06:33:43Z" + - apiVersion: networking.k8s.io/v1 + fieldsType: FieldsV1 + fieldsV1: + f:metadata: + f:annotations: + f:ingress.kubernetes.io/backends: {} + f:ingress.kubernetes.io/forwarding-rule: {} + f:ingress.kubernetes.io/target-proxy: {} + f:ingress.kubernetes.io/url-map: {} + f:finalizers: + .: {} + v:"networking.gke.io/ingress-finalizer-V2": {} + f:status: + f:loadBalancer: + f:ingress: {} + manager: glbc + operation: Update + subresource: status + time: "2023-11-13T06:35:29Z" + name: my-nginx-ingress + namespace: default + resourceVersion: "1957854" + uid: 1e2d590b-a68b-452c-9c2e-0eb216e9e169 +spec: + rules: + - host: app2.peerprepgroup51sem1y2023.xyz + http: + paths: + - backend: + service: + name: front-end-deployment-service + port: + number: 3000 + path: / + pathType: Prefix + - host: collabk8.peerprepgroup51sem1y2023.xyz + http: + paths: + - backend: + service: + name: collaboration-service-deployment-service + port: + number: 8576 + path: / + pathType: Prefix + - backend: + service: + name: collaboration-service-deployment-service + port: + number: 8576 + path: /healthz + pathType: Prefix + - host: questionsk8.peerprepgroup51sem1y2023.xyz + http: + paths: + - backend: + service: + name: question-service-deployment-service + port: + number: 8080 + path: /api + pathType: Prefix + - backend: + service: + name: question-service-deployment-service + port: + number: 8080 + path: /healthz + pathType: Prefix + - host: usersk8.peerprepgroup51sem1y2023.xyz + http: + paths: + - backend: + service: + name: profile-service-deployment-service + port: + number: 3100 + path: /users + pathType: Prefix + - backend: + service: + name: profile-service-deployment-service + port: + number: 3100 + path: /healthz + pathType: Prefix + - host: matchk8.peerprepgroup51sem1y2023.xyz + http: + paths: + - backend: + service: + name: matching-service-deployment-service + port: + number: 8000 + path: / + pathType: Prefix + - backend: + service: + name: matching-service-deployment-service + port: + number: 8000 + path: /healthz + pathType: Prefix + - host: postgresk8.peerprepgroup51sem1y2023.xyz + http: + paths: + - backend: + service: + name: postgres-deployment-service + port: + number: 5432 + path: / + pathType: Prefix +status: + loadBalancer: + ingress: + - ip: 34.36.130.164 diff --git a/k8/prod/ingresses/nginx-ingress-prod.yaml b/k8/prod/ingresses/nginx-ingress-prod.yaml deleted file mode 100644 index 4ad1eb85..00000000 --- a/k8/prod/ingresses/nginx-ingress-prod.yaml +++ /dev/null @@ -1,47 +0,0 @@ -apiVersion: networking.k8s.io/v1 # API version for Ingress resource -kind: Ingress # Kind of resource, which is an Ingress -metadata: # Metadata for the Ingress resource - name: nginx-ingress-prod # Name of the Ingress resource - namespace: prod -spec: # Specification for the Ingress resource - rules: # List of routing rules - - host: k8.peerprepgroup51sem1y2023.xyz # Hostname to match in incoming requests - http: # Define how to handle HTTP traffic - paths: # List of paths to match - - path: / # Path to match in the request - pathType: Prefix # Type of path matching (Prefix matches paths with this prefix) - backend: # Define where to route the matching requests - service: # Specify a service as the backend - name: front-end-service-prod # Name of the service to route to - port: # Port on the service - number: 3000 # Port number to route to on the service - - path: /user # Match requests with a path prefix of "/user" - pathType: Prefix - backend: - service: - name: profile-service-service-prod - port: - number: 3100 - - path: /question - pathType: Prefix - backend: - service: - name: question-service-service-prod - port: - number: 8080 - - path: /match - pathType: Prefix - backend: - service: - name: matching-service-service-prod - port: - number: 8000 - - # - host: collab.api.peerprepgroup51sem1y2023.xyz - # http: - # paths: - # - path: / - # pathType: Prefix - # backend: - # service: - # name: collaboration-service-service-prod diff --git a/k8/prod/kustomization.yaml b/k8/prod/kustomization.yaml deleted file mode 100644 index fa899138..00000000 --- a/k8/prod/kustomization.yaml +++ /dev/null @@ -1,60 +0,0 @@ -apiVersion: kustomize.config.k8s.io/v1beta1 -kind: Kustomization - -resources: - # Deployments - - ../prod/deployments/front-end-deployment-prod.yaml - - ../prod/deployments/mongodb-statefulset-prod.yaml - - ../prod/deployments/profile-service-deployment-prod.yaml - - ../prod/deployments/question-service-deployment-prod.yaml - - ../prod/deployments/postgres-statefulset-prod.yaml - - ../prod/deployments/keel-deployment-prod.yaml - - ../prod/deployments/matching-service-deployment-prod.yaml - - ../prod/deployments/rabbitmq-deployment-prod.yaml - - ../prod/deployments/matching-worker-service-deployment-prod.yaml - - ../prod/deployments/matching-service-db-statefulset-prod.yaml - - # Ingresses - - ../prod/ingresses/nginx-ingress-prod.yaml - - ../prod/services/nginx-ingress-service-prod.yaml - - # Scalers - - ../prod/scalers/horizontal/front-end-hpa-prod.yaml - - # Services - - ../prod/services/front-end-service-prod.yaml - - ../prod/services/mongodb-service-prod.yaml - - ../prod/services/profile-service-service-prod.yaml - - ../prod/services/question-service-service-prod.yaml - - ../prod/services/postgres-service-prod.yaml - - ../prod/services/matching-service-service-prod.yaml - - ../prod/services/rabbitmq-service-prod.yaml - - ../prod/services/matching-service-db-service-prod.yaml - - # Volumes - ## PVC - - ../prod/volumes/mongodb-pvc-prod.yaml - - ../prod/volumes/postgres-pvc-prod.yaml - - ../prod/volumes/prometheus-pvc-prod.yaml - - ../prod/volumes/matching-service-db-pvc-prod.yaml - - ## PV - - ../prod/volumes/mongodb-pv-prod.yaml - - ../prod/volumes/postgres-pv-prod.yaml - - ../prod/volumes/prometheus-pv-prod.yaml - - ../prod/volumes/matching-service-db-pv-prod.yaml - - # ConfigMaps - - ../prod/configMaps/question-service-config-prod.yaml - - ../prod/configMaps/postgres-config-prod.yaml - - ../prod/configMaps/prometheus-config-prod.yaml - - ../prod/configMaps/matching-service-config-prod.yaml - - ../prod/configMaps/rabbitmq-config-prod.yaml - - ../prod/configMaps/matching-worker-service-config-prod.yaml - - ../prod/configMaps/matching-service-db-config-prod.yaml - - # Cluster Roles - - ../prod/accessControls/clusterRoles/list-watch-cluster-prod.yaml - - # Cluster Bindings - - ../prod/accessControls/clusterRoleBindings/list-watch-cluster-binding-prod.yaml diff --git a/k8/prod/scalers/horizontal/front-end-hpa-prod.yaml b/k8/prod/scalers/horizontal/front-end-hpa-prod.yaml deleted file mode 100644 index 4dce9c94..00000000 --- a/k8/prod/scalers/horizontal/front-end-hpa-prod.yaml +++ /dev/null @@ -1,25 +0,0 @@ -apiVersion: autoscaling/v2 -kind: HorizontalPodAutoscaler -metadata: - name: front-end-hpa-prod # Name of the HPA object - namespace: prod -spec: - scaleTargetRef: - apiVersion: apps/v1 - kind: Deployment - name: front-end-deployment-prod # Target Deployment for autoscaling - minReplicas: 1 # Minimum number of pod replicas to maintain - maxReplicas: 6 # Maximum number of pod replicas to scale up to - metrics: - - type: Resource # Metric type, in this case, resource utilization - resource: - name: cpu # Resource metric to monitor (CPU in this case) - target: - type: Utilization - averageUtilization: 10 - behavior: - scaleDown: - policies: - - type: Pods - value: 1 - periodSeconds: 300 diff --git a/k8/prod/services/collaboration-service-deployment-service.yaml b/k8/prod/services/collaboration-service-deployment-service.yaml new file mode 100644 index 00000000..3ea04bd8 --- /dev/null +++ b/k8/prod/services/collaboration-service-deployment-service.yaml @@ -0,0 +1,64 @@ +apiVersion: v1 +kind: Service +metadata: + annotations: + cloud.google.com/neg: '{"ingress":true}' + cloud.google.com/neg-status: '{"network_endpoint_groups":{"8576":"k8s1-632f34ab-defaul-collaboration-service-deployme-85-ce162a91"},"zones":["asia-southeast1-a","asia-southeast1-c"]}' + creationTimestamp: "2023-11-12T15:39:42Z" + labels: + app: collaboration-service-app + managedFields: + - apiVersion: v1 + fieldsType: FieldsV1 + fieldsV1: + f:metadata: + f:labels: + .: {} + f:app: {} + f:spec: + f:internalTrafficPolicy: {} + f:ports: + .: {} + k:{"port":8576,"protocol":"TCP"}: + .: {} + f:port: {} + f:protocol: {} + f:targetPort: {} + f:selector: {} + f:sessionAffinity: {} + f:type: {} + manager: GoogleCloudConsole + operation: Update + time: "2023-11-12T15:39:42Z" + - apiVersion: v1 + fieldsType: FieldsV1 + fieldsV1: + f:metadata: + f:annotations: + f:cloud.google.com/neg-status: {} + manager: glbc + operation: Update + subresource: status + time: "2023-11-12T16:59:16Z" + name: collaboration-service-deployment-service + namespace: default + resourceVersion: "1384109" + uid: 1512c9cf-7a3a-434f-a437-b062ee6ad1a1 +spec: + clusterIP: 34.118.234.205 + clusterIPs: + - 34.118.234.205 + internalTrafficPolicy: Cluster + ipFamilies: + - IPv4 + ipFamilyPolicy: SingleStack + ports: + - port: 8576 + protocol: TCP + targetPort: 8576 + selector: + app: collaboration-service-app + sessionAffinity: None + type: ClusterIP +status: + loadBalancer: {} diff --git a/k8/prod/services/front-end-deployment-service.yaml b/k8/prod/services/front-end-deployment-service.yaml new file mode 100644 index 00000000..5101e754 --- /dev/null +++ b/k8/prod/services/front-end-deployment-service.yaml @@ -0,0 +1,76 @@ +apiVersion: v1 +kind: Service +metadata: + annotations: + cloud.google.com/neg: '{"ingress":true}' + cloud.google.com/neg-status: '{"network_endpoint_groups":{"3000":"k8s1-632f34ab-default-front-end-deployment-service-300-2a24e59e"},"zones":["asia-southeast1-a","asia-southeast1-c"]}' + creationTimestamp: "2023-11-11T20:13:29Z" + labels: + app: front-end-app + managedFields: + - apiVersion: v1 + fieldsType: FieldsV1 + fieldsV1: + f:metadata: + f:labels: + .: {} + f:app: {} + f:spec: + f:internalTrafficPolicy: {} + f:ports: + .: {} + k:{"port":3000,"protocol":"TCP"}: + .: {} + f:name: {} + f:port: {} + f:protocol: {} + f:targetPort: {} + k:{"port":3000,"protocol":"UDP"}: + .: {} + f:name: {} + f:port: {} + f:protocol: {} + f:targetPort: {} + f:selector: {} + f:sessionAffinity: {} + f:type: {} + manager: GoogleCloudConsole + operation: Update + time: "2023-11-11T20:13:29Z" + - apiVersion: v1 + fieldsType: FieldsV1 + fieldsV1: + f:metadata: + f:annotations: + f:cloud.google.com/neg-status: {} + manager: glbc + operation: Update + subresource: status + time: "2023-11-12T16:59:16Z" + name: front-end-deployment-service + namespace: default + resourceVersion: "1384110" + uid: 4340a607-beff-48b1-843d-05f139c5e78c +spec: + clusterIP: 34.118.233.23 + clusterIPs: + - 34.118.233.23 + internalTrafficPolicy: Cluster + ipFamilies: + - IPv4 + ipFamilyPolicy: SingleStack + ports: + - name: 3000-to-3000-tcp + port: 3000 + protocol: TCP + targetPort: 3000 + - name: 3000-to-3000-udp + port: 3000 + protocol: UDP + targetPort: 3000 + selector: + app: front-end-app + sessionAffinity: None + type: ClusterIP +status: + loadBalancer: {} diff --git a/k8/prod/services/front-end-service-prod.yaml b/k8/prod/services/front-end-service-prod.yaml deleted file mode 100644 index eb50f336..00000000 --- a/k8/prod/services/front-end-service-prod.yaml +++ /dev/null @@ -1,15 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: front-end-service-prod # Name of the Service - namespace: prod -spec: - selector: - app: front-end-app # Select pods with the label 'app: my-app' to include in the Service - ports: - - name: "front-end-port" - port: 3000 - targetPort: 3000 - type: ClusterIP # Service type -status: - loadBalancer: {} diff --git a/k8/prod/services/matching-service-db-deployment-service.yaml b/k8/prod/services/matching-service-db-deployment-service.yaml new file mode 100644 index 00000000..85cf0e50 --- /dev/null +++ b/k8/prod/services/matching-service-db-deployment-service.yaml @@ -0,0 +1,53 @@ +apiVersion: v1 +kind: Service +metadata: + annotations: + cloud.google.com/neg: '{"ingress":true}' + creationTimestamp: "2023-11-12T16:02:52Z" + labels: + app: matching-service-db-app + managedFields: + - apiVersion: v1 + fieldsType: FieldsV1 + fieldsV1: + f:metadata: + f:labels: + .: {} + f:app: {} + f:spec: + f:internalTrafficPolicy: {} + f:ports: + .: {} + k:{"port":5432,"protocol":"TCP"}: + .: {} + f:port: {} + f:protocol: {} + f:targetPort: {} + f:selector: {} + f:sessionAffinity: {} + f:type: {} + manager: GoogleCloudConsole + operation: Update + time: "2023-11-12T16:02:52Z" + name: matching-service-db-deployment-service + namespace: default + resourceVersion: "1340020" + uid: 494ec9bb-7c85-4eb0-9340-b33ed3da5a48 +spec: + clusterIP: 34.118.230.104 + clusterIPs: + - 34.118.230.104 + internalTrafficPolicy: Cluster + ipFamilies: + - IPv4 + ipFamilyPolicy: SingleStack + ports: + - port: 5432 + protocol: TCP + targetPort: 5432 + selector: + app: matching-service-db-app + sessionAffinity: None + type: ClusterIP +status: + loadBalancer: {} diff --git a/k8/prod/services/matching-service-db-service-prod.yaml b/k8/prod/services/matching-service-db-service-prod.yaml deleted file mode 100644 index 05317c3d..00000000 --- a/k8/prod/services/matching-service-db-service-prod.yaml +++ /dev/null @@ -1,12 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: matching-service-db-headless - namespace: prod -spec: - clusterIP: None # This makes it a headless service - selector: - app: matching-service-db # Select the pods by their labels - ports: - - protocol: TCP - port: 5432 # Port used for Postgres diff --git a/k8/prod/services/matching-service-deployment-service.yaml b/k8/prod/services/matching-service-deployment-service.yaml new file mode 100644 index 00000000..1d452653 --- /dev/null +++ b/k8/prod/services/matching-service-deployment-service.yaml @@ -0,0 +1,65 @@ +apiVersion: v1 +kind: Service +metadata: + annotations: + cloud.google.com/neg: '{"ingress":true}' + cloud.google.com/neg-status: '{"network_endpoint_groups":{"8000":"k8s1-632f34ab-defaul-matching-service-deployment-s-800-6691abe6"},"zones":["asia-southeast1-a","asia-southeast1-c"]}' + creationTimestamp: "2023-11-12T16:18:29Z" + labels: + app: matching-service-app + managedFields: + - apiVersion: v1 + fieldsType: FieldsV1 + fieldsV1: + f:metadata: + f:labels: + .: {} + f:app: {} + f:spec: + f:externalTrafficPolicy: {} + f:internalTrafficPolicy: {} + f:ports: + .: {} + k:{"port":8000,"protocol":"TCP"}: + .: {} + f:port: {} + f:protocol: {} + f:targetPort: {} + f:selector: {} + f:sessionAffinity: {} + f:type: {} + manager: GoogleCloudConsole + operation: Update + time: "2023-11-12T16:39:04Z" + - apiVersion: v1 + fieldsType: FieldsV1 + fieldsV1: + f:metadata: + f:annotations: + f:cloud.google.com/neg-status: {} + manager: glbc + operation: Update + subresource: status + time: "2023-11-12T20:22:08Z" + name: matching-service-deployment-service + namespace: default + resourceVersion: "1528286" + uid: 3feb0d72-c295-4f58-b354-cb115832b458 +spec: + clusterIP: 34.118.233.180 + clusterIPs: + - 34.118.233.180 + internalTrafficPolicy: Cluster + ipFamilies: + - IPv4 + ipFamilyPolicy: SingleStack + ports: + - port: 8000 + protocol: TCP + targetPort: 8000 + selector: + app: matching-service-app + sessionAffinity: None + type: ClusterIP +status: + loadBalancer: {} diff --git a/k8/prod/services/matching-service-service-prod.yaml b/k8/prod/services/matching-service-service-prod.yaml deleted file mode 100644 index 276beac0..00000000 --- a/k8/prod/services/matching-service-service-prod.yaml +++ /dev/null @@ -1,15 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: matching-service-service-prod - namespace: prod -spec: - selector: - app: matching-service-api - ports: - - name: "8000" - port: 8000 - targetPort: 8000 - type: NodePort # Use NodePort for localtesting / port forwarding -status: - loadBalancer: {} diff --git a/k8/prod/services/mongodb-deployment-service.yaml b/k8/prod/services/mongodb-deployment-service.yaml new file mode 100644 index 00000000..86fc7110 --- /dev/null +++ b/k8/prod/services/mongodb-deployment-service.yaml @@ -0,0 +1,65 @@ +apiVersion: v1 +kind: Service +metadata: + annotations: + cloud.google.com/neg: '{"ingress":true}' + creationTimestamp: "2023-11-12T17:04:47Z" + labels: + app: mongodb-app + managedFields: + - apiVersion: v1 + fieldsType: FieldsV1 + fieldsV1: + f:metadata: + f:labels: + .: {} + f:app: {} + f:spec: + f:internalTrafficPolicy: {} + f:ports: + .: {} + k:{"port":27017,"protocol":"TCP"}: + .: {} + f:name: {} + f:port: {} + f:protocol: {} + f:targetPort: {} + k:{"port":27017,"protocol":"UDP"}: + .: {} + f:name: {} + f:port: {} + f:protocol: {} + f:targetPort: {} + f:selector: {} + f:sessionAffinity: {} + f:type: {} + manager: GoogleCloudConsole + operation: Update + time: "2023-11-12T17:04:47Z" + name: mongodb-deployment-service + namespace: default + resourceVersion: "1388216" + uid: c471a07a-6d37-48ec-a4aa-62a0e478da9a +spec: + clusterIP: 34.118.230.24 + clusterIPs: + - 34.118.230.24 + internalTrafficPolicy: Cluster + ipFamilies: + - IPv4 + ipFamilyPolicy: SingleStack + ports: + - name: 27017-to-27017-tcp + port: 27017 + protocol: TCP + targetPort: 27017 + - name: 27017-to-27017-udp + port: 27017 + protocol: UDP + targetPort: 27017 + selector: + app: mongodb-app + sessionAffinity: None + type: ClusterIP +status: + loadBalancer: {} diff --git a/k8/prod/services/mongodb-service-prod.yaml b/k8/prod/services/mongodb-service-prod.yaml deleted file mode 100644 index 3c0bff8d..00000000 --- a/k8/prod/services/mongodb-service-prod.yaml +++ /dev/null @@ -1,12 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: mongodb-headless - namespace: prod -spec: - clusterIP: None # This makes it a headless service - selector: - app: mongodb # Select the pods by their labels - ports: - - protocol: TCP - port: 27017 # Port used for MongoDB diff --git a/k8/prod/services/nginx-ingress-service-prod.yaml b/k8/prod/services/nginx-ingress-service-prod.yaml deleted file mode 100644 index 9c4b8107..00000000 --- a/k8/prod/services/nginx-ingress-service-prod.yaml +++ /dev/null @@ -1,20 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: nginx-ingress-service-prod - namespace: prod -spec: - selector: - app: nginx-ingress-prod - ports: - - name: http - protocol: TCP - port: 80 - targetPort: 80 - - name: https - protocol: TCP - port: 443 - targetPort: 443 - type: NodePort - # externalIPs: - # - 10.148.0.9 diff --git a/k8/prod/services/postgres-deployment-service.yaml b/k8/prod/services/postgres-deployment-service.yaml new file mode 100644 index 00000000..5de0d81f --- /dev/null +++ b/k8/prod/services/postgres-deployment-service.yaml @@ -0,0 +1,64 @@ +apiVersion: v1 +kind: Service +metadata: + annotations: + cloud.google.com/neg: '{"ingress":true}' + cloud.google.com/neg-status: '{"network_endpoint_groups":{"5432":"k8s1-632f34ab-default-postgres-deployment-service-5432-2fad4624"},"zones":["asia-southeast1-a","asia-southeast1-c"]}' + creationTimestamp: "2023-11-12T16:20:50Z" + labels: + app: postgres-app + managedFields: + - apiVersion: v1 + fieldsType: FieldsV1 + fieldsV1: + f:metadata: + f:labels: + .: {} + f:app: {} + f:spec: + f:internalTrafficPolicy: {} + f:ports: + .: {} + k:{"port":5432,"protocol":"TCP"}: + .: {} + f:port: {} + f:protocol: {} + f:targetPort: {} + f:selector: {} + f:sessionAffinity: {} + f:type: {} + manager: GoogleCloudConsole + operation: Update + time: "2023-11-12T16:20:50Z" + - apiVersion: v1 + fieldsType: FieldsV1 + fieldsV1: + f:metadata: + f:annotations: + f:cloud.google.com/neg-status: {} + manager: glbc + operation: Update + subresource: status + time: "2023-11-13T06:33:43Z" + name: postgres-deployment-service + namespace: default + resourceVersion: "1956613" + uid: 011faed6-a24f-4c23-ae30-1a8584a09e6f +spec: + clusterIP: 34.118.227.49 + clusterIPs: + - 34.118.227.49 + internalTrafficPolicy: Cluster + ipFamilies: + - IPv4 + ipFamilyPolicy: SingleStack + ports: + - port: 5432 + protocol: TCP + targetPort: 5432 + selector: + app: postgres-app + sessionAffinity: None + type: ClusterIP +status: + loadBalancer: {} diff --git a/k8/prod/services/postgres-service-prod.yaml b/k8/prod/services/postgres-service-prod.yaml deleted file mode 100644 index 39a8f4fc..00000000 --- a/k8/prod/services/postgres-service-prod.yaml +++ /dev/null @@ -1,12 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: postgres-headless - namespace: prod -spec: - clusterIP: None # This makes it a headless service - selector: - app: postgres # Select the pods by their labels - ports: - - protocol: TCP - port: 5432 # Port used for Postgres diff --git a/k8/prod/services/profile-service-deployment-service.yaml b/k8/prod/services/profile-service-deployment-service.yaml new file mode 100644 index 00000000..8b85bad7 --- /dev/null +++ b/k8/prod/services/profile-service-deployment-service.yaml @@ -0,0 +1,64 @@ +apiVersion: v1 +kind: Service +metadata: + annotations: + cloud.google.com/neg: '{"ingress":true}' + cloud.google.com/neg-status: '{"network_endpoint_groups":{"3100":"k8s1-632f34ab-defaul-profile-service-deployment-se-310-2be4595e"},"zones":["asia-southeast1-a","asia-southeast1-c"]}' + creationTimestamp: "2023-11-12T16:22:34Z" + labels: + app: profile-service-app + managedFields: + - apiVersion: v1 + fieldsType: FieldsV1 + fieldsV1: + f:metadata: + f:labels: + .: {} + f:app: {} + f:spec: + f:internalTrafficPolicy: {} + f:ports: + .: {} + k:{"port":3100,"protocol":"TCP"}: + .: {} + f:port: {} + f:protocol: {} + f:targetPort: {} + f:selector: {} + f:sessionAffinity: {} + f:type: {} + manager: GoogleCloudConsole + operation: Update + time: "2023-11-12T16:22:34Z" + - apiVersion: v1 + fieldsType: FieldsV1 + fieldsV1: + f:metadata: + f:annotations: + f:cloud.google.com/neg-status: {} + manager: glbc + operation: Update + subresource: status + time: "2023-11-12T20:12:59Z" + name: profile-service-deployment-service + namespace: default + resourceVersion: "1521876" + uid: 94296f3c-6f19-40f4-8027-523ccb57f517 +spec: + clusterIP: 34.118.236.140 + clusterIPs: + - 34.118.236.140 + internalTrafficPolicy: Cluster + ipFamilies: + - IPv4 + ipFamilyPolicy: SingleStack + ports: + - port: 3100 + protocol: TCP + targetPort: 3100 + selector: + app: profile-service-app + sessionAffinity: None + type: ClusterIP +status: + loadBalancer: {} diff --git a/k8/prod/services/profile-service-service-prod.yaml b/k8/prod/services/profile-service-service-prod.yaml deleted file mode 100644 index ef209dc6..00000000 --- a/k8/prod/services/profile-service-service-prod.yaml +++ /dev/null @@ -1,15 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: profile-service-service-prod - namespace: prod -spec: - selector: - app: profile-service-api # Select pods with the label 'app: my-app' to include in the Service - ports: - - name: "3100" - port: 3100 - targetPort: 3100 - type: ClusterIP # Use ClusterIP to distribute traffic to all replicas -status: - loadBalancer: {} diff --git a/k8/prod/services/question-service-deployment-service.yaml b/k8/prod/services/question-service-deployment-service.yaml new file mode 100644 index 00000000..3da01c86 --- /dev/null +++ b/k8/prod/services/question-service-deployment-service.yaml @@ -0,0 +1,64 @@ +apiVersion: v1 +kind: Service +metadata: + annotations: + cloud.google.com/neg: '{"ingress":true}' + cloud.google.com/neg-status: '{"network_endpoint_groups":{"8080":"k8s1-632f34ab-defaul-question-service-deployment-s-808-fb83050f"},"zones":["asia-southeast1-a","asia-southeast1-c"]}' + creationTimestamp: "2023-11-12T16:42:49Z" + labels: + app: question-service-app + managedFields: + - apiVersion: v1 + fieldsType: FieldsV1 + fieldsV1: + f:metadata: + f:labels: + .: {} + f:app: {} + f:spec: + f:internalTrafficPolicy: {} + f:ports: + .: {} + k:{"port":8080,"protocol":"TCP"}: + .: {} + f:port: {} + f:protocol: {} + f:targetPort: {} + f:selector: {} + f:sessionAffinity: {} + f:type: {} + manager: GoogleCloudConsole + operation: Update + time: "2023-11-12T16:42:48Z" + - apiVersion: v1 + fieldsType: FieldsV1 + fieldsV1: + f:metadata: + f:annotations: + f:cloud.google.com/neg-status: {} + manager: glbc + operation: Update + subresource: status + time: "2023-11-12T17:23:24Z" + name: question-service-deployment-service + namespace: default + resourceVersion: "1402179" + uid: 402a1f46-fa61-4da3-aeb6-fd9e06c3df22 +spec: + clusterIP: 34.118.239.210 + clusterIPs: + - 34.118.239.210 + internalTrafficPolicy: Cluster + ipFamilies: + - IPv4 + ipFamilyPolicy: SingleStack + ports: + - port: 8080 + protocol: TCP + targetPort: 8080 + selector: + app: question-service-app + sessionAffinity: None + type: ClusterIP +status: + loadBalancer: {} diff --git a/k8/prod/services/question-service-service-prod.yaml b/k8/prod/services/question-service-service-prod.yaml deleted file mode 100644 index 811c7cde..00000000 --- a/k8/prod/services/question-service-service-prod.yaml +++ /dev/null @@ -1,15 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: question-service-service-prod - namespace: prod -spec: - selector: - app: question-service-api - ports: - - name: "8080" - port: 8080 - targetPort: 8080 - type: NodePort # Use NodePort for localtesting / port forwarding -status: - loadBalancer: {} diff --git a/k8/prod/services/rabbitmq-deployment-service.yaml b/k8/prod/services/rabbitmq-deployment-service.yaml new file mode 100644 index 00000000..9fd423ef --- /dev/null +++ b/k8/prod/services/rabbitmq-deployment-service.yaml @@ -0,0 +1,65 @@ +apiVersion: v1 +kind: Service +metadata: + annotations: + cloud.google.com/neg: '{"ingress":true}' + creationTimestamp: "2023-11-12T15:59:24Z" + labels: + app: rabbitmq-app + managedFields: + - apiVersion: v1 + fieldsType: FieldsV1 + fieldsV1: + f:metadata: + f:labels: + .: {} + f:app: {} + f:spec: + f:internalTrafficPolicy: {} + f:ports: + .: {} + k:{"port":5672,"protocol":"TCP"}: + .: {} + f:name: {} + f:port: {} + f:protocol: {} + f:targetPort: {} + k:{"port":15672,"protocol":"TCP"}: + .: {} + f:name: {} + f:port: {} + f:protocol: {} + f:targetPort: {} + f:selector: {} + f:sessionAffinity: {} + f:type: {} + manager: GoogleCloudConsole + operation: Update + time: "2023-11-12T15:59:24Z" + name: rabbitmq-deployment-service + namespace: default + resourceVersion: "1337389" + uid: 3d514fee-3072-4fec-97fd-f02743b7a8a5 +spec: + clusterIP: 34.118.236.54 + clusterIPs: + - 34.118.236.54 + internalTrafficPolicy: Cluster + ipFamilies: + - IPv4 + ipFamilyPolicy: SingleStack + ports: + - name: 5672-to-5672-tcp + port: 5672 + protocol: TCP + targetPort: 5672 + - name: 15672-to-15672-tcp + port: 15672 + protocol: TCP + targetPort: 15672 + selector: + app: rabbitmq-app + sessionAffinity: None + type: ClusterIP +status: + loadBalancer: {} diff --git a/k8/prod/services/rabbitmq-service-prod.yaml b/k8/prod/services/rabbitmq-service-prod.yaml deleted file mode 100644 index 928a87a3..00000000 --- a/k8/prod/services/rabbitmq-service-prod.yaml +++ /dev/null @@ -1,16 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: rabbitmq-service-prod - namespace: prod -spec: - selector: - app: rabbitmq - clusterIP: None # Make it a headless service - ports: - - name: "5672" - port: 5672 # Port used for Postgres - - name: "15672" - port: 15672 # Port used for Postgres -status: - loadBalancer: {} diff --git a/k8/prod/volumes/matching-service-db-pv-prod.yaml b/k8/prod/volumes/matching-service-db-pv-prod.yaml deleted file mode 100644 index 91e0203d..00000000 --- a/k8/prod/volumes/matching-service-db-pv-prod.yaml +++ /dev/null @@ -1,13 +0,0 @@ -apiVersion: v1 -kind: PersistentVolume -metadata: - name: matching-service-db-pv-prod - namespace: prod -spec: - capacity: - storage: 1Gi - accessModes: - - ReadWriteOnce - storageClassName: matching-service-storage-prod - hostPath: - path: "/storage/matching-service-data" diff --git a/k8/prod/volumes/matching-service-db-pvc-prod.yaml b/k8/prod/volumes/matching-service-db-pvc-prod.yaml deleted file mode 100644 index 28edd446..00000000 --- a/k8/prod/volumes/matching-service-db-pvc-prod.yaml +++ /dev/null @@ -1,15 +0,0 @@ -apiVersion: v1 -kind: PersistentVolumeClaim -metadata: - name: matching-service-db-pvc-prod - namespace: prod -spec: - accessModes: - - ReadWriteOnce - storageClassName: matching-service-storage-prod - resources: - requests: - storage: 200Mi - limits: - storage: 1Gi -status: {} diff --git a/k8/prod/volumes/mongodb-pv-prod.yaml b/k8/prod/volumes/mongodb-pv-prod.yaml deleted file mode 100644 index 49019f7b..00000000 --- a/k8/prod/volumes/mongodb-pv-prod.yaml +++ /dev/null @@ -1,13 +0,0 @@ -apiVersion: v1 -kind: PersistentVolume -metadata: - name: mongodb-pv-prod - namespace: prod -spec: - capacity: - storage: 1Gi - accessModes: - - ReadWriteOnce - storageClassName: mongodb-storage-prod - hostPath: - path: "/storage/mongodb-data" diff --git a/k8/prod/volumes/mongodb-pvc-prod.yaml b/k8/prod/volumes/mongodb-pvc-prod.yaml deleted file mode 100644 index 2af71b42..00000000 --- a/k8/prod/volumes/mongodb-pvc-prod.yaml +++ /dev/null @@ -1,15 +0,0 @@ -apiVersion: v1 -kind: PersistentVolumeClaim -metadata: - name: mongodb-pvc-prod - namespace: prod -spec: - accessModes: - - ReadWriteOnce - storageClassName: mongodb-storage-prod - resources: - requests: - storage: 200Mi - limits: - storage: 1Gi -status: {} diff --git a/k8/prod/volumes/postgres-pv-prod.yaml b/k8/prod/volumes/postgres-pv-prod.yaml deleted file mode 100644 index 80c5e6be..00000000 --- a/k8/prod/volumes/postgres-pv-prod.yaml +++ /dev/null @@ -1,13 +0,0 @@ -apiVersion: v1 -kind: PersistentVolume -metadata: - name: postgres-pv-prod - namespace: prod -spec: - capacity: - storage: 1Gi - accessModes: - - ReadWriteOnce - storageClassName: postgres-storage-prod - hostPath: - path: "/storage/postgres-data" diff --git a/k8/prod/volumes/postgres-pvc-prod.yaml b/k8/prod/volumes/postgres-pvc-prod.yaml deleted file mode 100644 index 3e6e2673..00000000 --- a/k8/prod/volumes/postgres-pvc-prod.yaml +++ /dev/null @@ -1,15 +0,0 @@ -apiVersion: v1 -kind: PersistentVolumeClaim -metadata: - name: postgres-pvc-prod - namespace: prod -spec: - accessModes: - - ReadWriteOnce - storageClassName: postgres-storage-prod - resources: - requests: - storage: 200Mi - limits: - storage: 1Gi -status: {} diff --git a/k8/prod/volumes/prometheus-pv-prod.yaml b/k8/prod/volumes/prometheus-pv-prod.yaml deleted file mode 100644 index 8848825b..00000000 --- a/k8/prod/volumes/prometheus-pv-prod.yaml +++ /dev/null @@ -1,13 +0,0 @@ -apiVersion: v1 -kind: PersistentVolume -metadata: - name: prometheus-pv-prod - namespace: prod -spec: - capacity: - storage: 1Gi - accessModes: - - ReadWriteOnce - storageClassName: prometheus-storage-prod - hostPath: - path: "/storage/prometheus-data" diff --git a/k8/prod/volumes/prometheus-pvc-prod.yaml b/k8/prod/volumes/prometheus-pvc-prod.yaml deleted file mode 100644 index 8e943149..00000000 --- a/k8/prod/volumes/prometheus-pvc-prod.yaml +++ /dev/null @@ -1,16 +0,0 @@ -apiVersion: v1 -kind: PersistentVolumeClaim -metadata: - name: prometheus-pvc-prod - namespace: prod -spec: - accessModes: - - ReadWriteOnce - storageClassName: prometheus-storage-prod - resources: - requests: - storage: 200Mi - limits: - storage: 1Gi - -status: {}