From e44cacba75eae04591af282b81091d315d35846a Mon Sep 17 00:00:00 2001 From: Saverio Proto Date: Thu, 22 Aug 2024 14:47:57 +0200 Subject: [PATCH 1/4] Add yaml definition for AKS store without ingress for app-routing doc page --- aks-store-deployments-and-services.yaml | 226 ++++++++++++++++++++++++ 1 file changed, 226 insertions(+) create mode 100644 aks-store-deployments-and-services.yaml diff --git a/aks-store-deployments-and-services.yaml b/aks-store-deployments-and-services.yaml new file mode 100644 index 00000000..8dd38a2a --- /dev/null +++ b/aks-store-deployments-and-services.yaml @@ -0,0 +1,226 @@ +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: rabbitmq +spec: + replicas: 1 + selector: + matchLabels: + app: rabbitmq + template: + metadata: + labels: + app: rabbitmq + spec: + nodeSelector: + "kubernetes.io/os": linux + containers: + - name: rabbitmq + image: mcr.microsoft.com/mirror/docker/library/rabbitmq:3.10-management-alpine + ports: + - containerPort: 5672 + name: rabbitmq-amqp + - containerPort: 15672 + name: rabbitmq-http + env: + - name: RABBITMQ_DEFAULT_USER + value: "username" + - name: RABBITMQ_DEFAULT_PASS + value: "password" + resources: + requests: + cpu: 10m + memory: 128Mi + limits: + cpu: 250m + memory: 256Mi + volumeMounts: + - name: rabbitmq-enabled-plugins + mountPath: /etc/rabbitmq/enabled_plugins + subPath: enabled_plugins + volumes: + - name: rabbitmq-enabled-plugins + configMap: + name: rabbitmq-enabled-plugins + items: + - key: rabbitmq_enabled_plugins + path: enabled_plugins +--- +apiVersion: v1 +data: + rabbitmq_enabled_plugins: | + [rabbitmq_management,rabbitmq_prometheus,rabbitmq_amqp1_0]. +kind: ConfigMap +metadata: + name: rabbitmq-enabled-plugins +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: order-service +spec: + replicas: 1 + selector: + matchLabels: + app: order-service + template: + metadata: + labels: + app: order-service + spec: + nodeSelector: + "kubernetes.io/os": linux + containers: + - name: order-service + image: ghcr.io/azure-samples/aks-store-demo/order-service:latest + ports: + - containerPort: 3000 + env: + - name: ORDER_QUEUE_HOSTNAME + value: "rabbitmq" + - name: ORDER_QUEUE_PORT + value: "5672" + - name: ORDER_QUEUE_USERNAME + value: "username" + - name: ORDER_QUEUE_PASSWORD + value: "password" + - name: ORDER_QUEUE_NAME + value: "orders" + - name: FASTIFY_ADDRESS + value: "0.0.0.0" + resources: + requests: + cpu: 1m + memory: 50Mi + limits: + cpu: 75m + memory: 128Mi + initContainers: + - name: wait-for-rabbitmq + image: busybox + command: ['sh', '-c', 'until nc -zv rabbitmq 5672; do echo waiting for rabbitmq; sleep 2; done;'] + resources: + requests: + cpu: 1m + memory: 50Mi + limits: + cpu: 75m + memory: 128Mi +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: product-service +spec: + replicas: 1 + selector: + matchLabels: + app: product-service + template: + metadata: + labels: + app: product-service + spec: + nodeSelector: + "kubernetes.io/os": linux + containers: + - name: product-service + image: ghcr.io/azure-samples/aks-store-demo/product-service:latest + ports: + - containerPort: 3002 + resources: + requests: + cpu: 1m + memory: 1Mi + limits: + cpu: 1m + memory: 7Mi +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: store-front +spec: + replicas: 1 + selector: + matchLabels: + app: store-front + template: + metadata: + labels: + app: store-front + spec: + nodeSelector: + "kubernetes.io/os": linux + containers: + - name: store-front + image: ghcr.io/azure-samples/aks-store-demo/store-front:latest + ports: + - containerPort: 8080 + name: store-front + env: + - name: VUE_APP_ORDER_SERVICE_URL + value: "http://order-service:3000/" + - name: VUE_APP_PRODUCT_SERVICE_URL + value: "http://product-service:3002/" + resources: + requests: + cpu: 1m + memory: 200Mi + limits: + cpu: 1000m + memory: 512Mi +--- +apiVersion: v1 +kind: Service +metadata: + name: rabbitmq +spec: + selector: + app: rabbitmq + ports: + - name: rabbitmq-amqp + port: 5672 + targetPort: 5672 + - name: rabbitmq-http + port: 15672 + targetPort: 15672 + type: ClusterIP +--- +apiVersion: v1 +kind: Service +metadata: + name: order-service +spec: + type: ClusterIP + ports: + - name: http + port: 3000 + targetPort: 3000 + selector: + app: order-service +--- +apiVersion: v1 +kind: Service +metadata: + name: product-service +spec: + type: ClusterIP + ports: + - name: http + port: 3002 + targetPort: 3002 + selector: + app: product-service +--- +apiVersion: v1 +kind: Service +metadata: + name: store-front +spec: + ports: + - port: 80 + targetPort: 8080 + selector: + app: store-front \ No newline at end of file From b0055e931dcb2d113e4a8044d92c7fb500ce23b3 Mon Sep 17 00:00:00 2001 From: Saverio Proto Date: Thu, 22 Aug 2024 17:49:52 +0200 Subject: [PATCH 2/4] Move to folder sample-manifests/docs/app-routing --- .../docs/app-routing/aks-store-deployments-and-services.yaml | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename aks-store-deployments-and-services.yaml => sample-manifests/docs/app-routing/aks-store-deployments-and-services.yaml (100%) diff --git a/aks-store-deployments-and-services.yaml b/sample-manifests/docs/app-routing/aks-store-deployments-and-services.yaml similarity index 100% rename from aks-store-deployments-and-services.yaml rename to sample-manifests/docs/app-routing/aks-store-deployments-and-services.yaml From 584f1dad99d793e65a8d68d1d5108592563dd94e Mon Sep 17 00:00:00 2001 From: Saverio Proto Date: Thu, 22 Aug 2024 17:58:43 +0200 Subject: [PATCH 3/4] Add comment about where the file is used --- .../docs/app-routing/aks-store-deployments-and-services.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/sample-manifests/docs/app-routing/aks-store-deployments-and-services.yaml b/sample-manifests/docs/app-routing/aks-store-deployments-and-services.yaml index 8dd38a2a..77333c3c 100644 --- a/sample-manifests/docs/app-routing/aks-store-deployments-and-services.yaml +++ b/sample-manifests/docs/app-routing/aks-store-deployments-and-services.yaml @@ -1,3 +1,4 @@ +# This file is used at https://learn.microsoft.com/en-us/azure/aks/app-routing --- apiVersion: apps/v1 kind: Deployment From 57dcfccc6137675cf5c5711a9d57f6f30118f864 Mon Sep 17 00:00:00 2001 From: Saverio Proto Date: Thu, 22 Aug 2024 17:59:02 +0200 Subject: [PATCH 4/4] Using normalized resource limits https://argo-cd.readthedocs.io/en/stable/faq/#why-are-my-resource-limits-out-of-sync --- .../docs/app-routing/aks-store-deployments-and-services.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sample-manifests/docs/app-routing/aks-store-deployments-and-services.yaml b/sample-manifests/docs/app-routing/aks-store-deployments-and-services.yaml index 77333c3c..287e03a7 100644 --- a/sample-manifests/docs/app-routing/aks-store-deployments-and-services.yaml +++ b/sample-manifests/docs/app-routing/aks-store-deployments-and-services.yaml @@ -170,7 +170,7 @@ spec: cpu: 1m memory: 200Mi limits: - cpu: 1000m + cpu: "1" memory: 512Mi --- apiVersion: v1