From 7696e27ffefe44ed2bbbfaa9caf4b1613a9b17c8 Mon Sep 17 00:00:00 2001 From: Galip Tolga Erdem Date: Tue, 12 Oct 2021 09:29:03 +0300 Subject: [PATCH] added infrastructural deployments --- deploy/k8s/authserver.yaml | 75 ++++++++++++++++++++++++++++++++ deploy/k8s/identity-service.yaml | 71 ++++++++++++++++++++++++++++++ deploy/k8s/namespace.yaml | 4 ++ deploy/k8s/rabbitmq.yaml | 55 +++++++++++++++++++++++ deploy/k8s/redis.yaml | 48 ++++++++++++++++++++ deploy/k8s/sqlserver.yaml | 53 ++++++++++++++++++++++ deploy/k8s/start-all.ps1 | 5 +++ deploy/k8s/stop-all.ps1 | 5 +++ 8 files changed, 316 insertions(+) create mode 100644 deploy/k8s/authserver.yaml create mode 100644 deploy/k8s/identity-service.yaml create mode 100644 deploy/k8s/namespace.yaml create mode 100644 deploy/k8s/rabbitmq.yaml create mode 100644 deploy/k8s/redis.yaml create mode 100644 deploy/k8s/sqlserver.yaml create mode 100644 deploy/k8s/start-all.ps1 create mode 100644 deploy/k8s/stop-all.ps1 diff --git a/deploy/k8s/authserver.yaml b/deploy/k8s/authserver.yaml new file mode 100644 index 00000000..cb877f49 --- /dev/null +++ b/deploy/k8s/authserver.yaml @@ -0,0 +1,75 @@ +kind: ConfigMap +apiVersion: v1 +metadata: + name: authserver-cm + namespace: eshop + labels: + app: eshop + service: authserver +data: + ASPNETCORE_ENVIRONMENT: Development + ASPNETCORE_URLS: http://0.0.0.0:80 + ConnectionStrings__IdentityService: Server=localhost,1434;Database=EShopOnAbp_Identity;User Id=sa;password=myPassw0rd;MultipleActiveResultSets=true + DPConnectionString: basketdata + OrchestratorType: K8S + SpaClient: http://localhost:30000 + BasketApiClient: http://basket-api + OrderingApiClient: http://ordering-api + CouponApiClient: http://coupon-api + WebShoppingAggClient: http://webshoppingagg + PATH_BASE: /authserver + UseCustomizationData: "True" + +--- + +kind: Deployment +apiVersion: apps/v1 +metadata: + name: authserver + namespace: eshop + labels: + app: eshop + service: authserver +spec: + replicas: 1 + selector: + matchLabels: + service: authserver + template: + metadata: + labels: + app: eshop + service: authserver + spec: + containers: + - name: authserver + image: eshoponabp/authserver:latest + imagePullPolicy: IfNotPresent + ports: + - name: http + containerPort: 80 + protocol: TCP + envFrom: + - configMapRef: + name: authserver-cm + +--- + +kind: Service +apiVersion: v1 +metadata: + name: authserver + namespace: eshop + labels: + app: eshop + service: authserver +spec: + type: NodePort + ports: + - port: 80 + targetPort: 80 + nodePort: 30008 + protocol: TCP + name: http + selector: + service: authserver diff --git a/deploy/k8s/identity-service.yaml b/deploy/k8s/identity-service.yaml new file mode 100644 index 00000000..62bf0c0a --- /dev/null +++ b/deploy/k8s/identity-service.yaml @@ -0,0 +1,71 @@ +kind: ConfigMap +apiVersion: v1 +metadata: + name: identity-cm + namespace: eshop + labels: + app: eshop + service: identity +data: + ASPNETCORE_ENVIRONMENT: Development + ASPNETCORE_URLS: http://0.0.0.0:80 + App__SelfUrl: https://localhost:44351 + ConnectionStrings__IdentityService: Server=localhost,1434;Database=EShopOnAbp_Identity;User Id=sa;password=myPassw0rd + ConnectionStrings__AdministrationService: Server=localhost,1434;Database=EShopOnAbp_Administration;User Id=sa;password=myPassw0rd + ConnectionStrings__SaasService: Server=localhost,1434;Database=EShopOnAbp_Saas;User Id=sa;password=myPassw0rd + Redis__Configuration: localhost:6379 + RabbitMQ__Connections__Default__HostName: localhost + +--- + +kind: Deployment +apiVersion: apps/v1 +metadata: + name: identity + namespace: eshop + labels: + app: eshop + service: identity +spec: + replicas: 1 + selector: + matchLabels: + service: identity + template: + metadata: + labels: + app: eshop + service: identity + spec: + containers: + - name: identity-api + image: eshoponabp/service-identity:latest + imagePullPolicy: IfNotPresent + ports: + - name: http + containerPort: 80 + protocol: TCP + envFrom: + - configMapRef: + name: identity-cm + +--- + +kind: Service +apiVersion: v1 +metadata: + name: identity-api + namespace: eshop + labels: + app: eshop + service: identity +spec: + type: NodePort + ports: + - port: 80 + targetPort: 80 + nodePort: 30008 + protocol: TCP + name: http + selector: + service: identity diff --git a/deploy/k8s/namespace.yaml b/deploy/k8s/namespace.yaml new file mode 100644 index 00000000..52d97c64 --- /dev/null +++ b/deploy/k8s/namespace.yaml @@ -0,0 +1,4 @@ +apiVersion: v1 +kind: Namespace +metadata: + name: eshop \ No newline at end of file diff --git a/deploy/k8s/rabbitmq.yaml b/deploy/k8s/rabbitmq.yaml new file mode 100644 index 00000000..1e7e0763 --- /dev/null +++ b/deploy/k8s/rabbitmq.yaml @@ -0,0 +1,55 @@ +kind: Deployment +apiVersion: apps/v1 +metadata: + name: rabbitmq + namespace: eshop + labels: + app: eshop + service: redis +spec: + replicas: 1 + selector: + matchLabels: + service: rabbitmq + template: + metadata: + labels: + app: eshop + service: rabbitmq + spec: + containers: + - name: rabbitmq + image: rabbitmq:3-management-alpine + imagePullPolicy: IfNotPresent + ports: + - name: amqp + containerPort: 5672 + protocol: TCP + - name: http + containerPort: 15672 + protocol: TCP +--- + +kind: Service +apiVersion: v1 +metadata: + name: rabbitmq + namespace: eshop + labels: + app: eshop + service: rabbitmq +spec: + type: NodePort + ports: + - port: 5672 + targetPort: 5672 + nodePort: 32672 + protocol: TCP + name: amqp + - port: 15672 + targetPort: 15672 + nodePort: 32673 + protocol: TCP + name: http + selector: + service: rabbitmq diff --git a/deploy/k8s/redis.yaml b/deploy/k8s/redis.yaml new file mode 100644 index 00000000..5222fcb0 --- /dev/null +++ b/deploy/k8s/redis.yaml @@ -0,0 +1,48 @@ +kind: Deployment +apiVersion: apps/v1 +metadata: + name: redis + namespace: eshop + labels: + app: eshop + service: redis +spec: + replicas: 1 + selector: + matchLabels: + service: redis + template: + metadata: + labels: + app: eshop + service: redis + spec: + containers: + - name: redis + image: redis:alpine + imagePullPolicy: IfNotPresent + ports: + - name: http + containerPort: 6379 + protocol: TCP + +--- + +kind: Service +apiVersion: v1 +metadata: + name: redis + namespace: eshop + labels: + app: eshop + service: redis +spec: + type: NodePort + ports: + - port: 6379 + targetPort: 6379 + nodePort: 30379 + protocol: TCP + name: redis + selector: + service: redis diff --git a/deploy/k8s/sqlserver.yaml b/deploy/k8s/sqlserver.yaml new file mode 100644 index 00000000..f5aafdfe --- /dev/null +++ b/deploy/k8s/sqlserver.yaml @@ -0,0 +1,53 @@ +kind: Deployment +apiVersion: apps/v1 +metadata: + name: sqldb + namespace: eshop + labels: + app: eshop + service: sqldb +spec: + replicas: 1 + selector: + matchLabels: + service: sqldb + template: + metadata: + labels: + app: eshop + service: sqldb + spec: + containers: + - name: sqldb + image: mcr.microsoft.com/mssql/server + imagePullPolicy: IfNotPresent + ports: + - name: sqlserver + containerPort: 1433 + protocol: TCP + env: + - name: SA_PASSWORD + value: Pass@word + - name: ACCEPT_EULA + value: "Y" + +--- + +kind: Service +apiVersion: v1 +metadata: + name: sqldb + namespace: eshop + labels: + app: eshop + service: sqldb +spec: + type: NodePort + ports: + - port: 1433 + targetPort: 1434 + nodePort: 31433 + protocol: TCP + name: tds + selector: + service: sqldb \ No newline at end of file diff --git a/deploy/k8s/start-all.ps1 b/deploy/k8s/start-all.ps1 new file mode 100644 index 00000000..f669da7b --- /dev/null +++ b/deploy/k8s/start-all.ps1 @@ -0,0 +1,5 @@ +kubectl apply ` + -f ./namespace.yaml ` + -f ./rabbitmq.yaml ` + -f ./redis.yaml ` + -f ./sqlserver.yaml \ No newline at end of file diff --git a/deploy/k8s/stop-all.ps1 b/deploy/k8s/stop-all.ps1 new file mode 100644 index 00000000..38506a61 --- /dev/null +++ b/deploy/k8s/stop-all.ps1 @@ -0,0 +1,5 @@ +kubectl delete ` + -f ./namespace.yaml ` + -f ./rabbitmq.yaml ` + -f ./redis.yaml ` + -f ./sqlserver.yaml \ No newline at end of file