From d04a5384a552de0d5890842a09d0bc9b30e121d5 Mon Sep 17 00:00:00 2001 From: Rahul Jagad Date: Mon, 24 Aug 2020 22:17:29 -0700 Subject: [PATCH] Kubernetes and Docker related changes for support environment variables --- kubernetes-manifests/checkoutservice.yaml | 4 + kubernetes-manifests/emailservice.yaml | 12 +- kubernetes-manifests/frontend.yaml | 6 +- .../productcatalogservice.yaml | 6 +- .../recommendationservice.yaml | 8 + kubernetes-manifests/shippingservice.yaml | 6 +- release/kubernetes-manifests.yaml | 181 +++++++++++++----- skaffold.yaml | 2 +- src/emailservice/Dockerfile | 3 - src/recommendationservice/Dockerfile | 3 - 10 files changed, 170 insertions(+), 61 deletions(-) diff --git a/kubernetes-manifests/checkoutservice.yaml b/kubernetes-manifests/checkoutservice.yaml index 25b6f60..912083e 100644 --- a/kubernetes-manifests/checkoutservice.yaml +++ b/kubernetes-manifests/checkoutservice.yaml @@ -58,10 +58,14 @@ spec: # Enable datadog tracing - name: DATADOG_APM_ENABLED value: "true" + - name: DD_LOGS_INJECTION + value: "true" - name: DD_ENV value: "prod" - name: DD_SERVICE value: "checkoutservice" + - name: DD_VERSION + value: "latest" - name: DD_LOG_LEVEL value: "debug" # Disable default opentracing ? diff --git a/kubernetes-manifests/emailservice.yaml b/kubernetes-manifests/emailservice.yaml index 5569009..b7873c4 100644 --- a/kubernetes-manifests/emailservice.yaml +++ b/kubernetes-manifests/emailservice.yaml @@ -36,10 +36,18 @@ spec: valueFrom: fieldRef: fieldPath: status.hostIP + - name: DD_ENV + value: "prod" + - name: DD_LOGS_INJECTION + value: "true" + - name: DD_SERVICE + value: "emailservice" + - name: DD_VERSION + value: "latest" - name: PORT value: "8080" - # - name: DISABLE_TRACING - # value: "1" + - name: DISABLE_TRACING + value: "1" - name: DISABLE_PROFILER value: "1" readinessProbe: diff --git a/kubernetes-manifests/frontend.yaml b/kubernetes-manifests/frontend.yaml index 2ef974b..e2b91a7 100644 --- a/kubernetes-manifests/frontend.yaml +++ b/kubernetes-manifests/frontend.yaml @@ -73,12 +73,16 @@ spec: fieldPath: status.hostIP - name: DATADOG_APM_ENABLED value: "true" + - name: DD_LOGS_INJECTION + value: "true" - name: DD_ENV value: "prod" - name: DD_SERVICE value: "frontend" + - name: DD_VERSION + value: "latest" - name: DD_LOG_LEVEL - value: "debug" + value: "info" - name: DISABLE_TRACING value: "1" - name: DISABLE_PROFILER diff --git a/kubernetes-manifests/productcatalogservice.yaml b/kubernetes-manifests/productcatalogservice.yaml index 69ec164..e8efd1e 100644 --- a/kubernetes-manifests/productcatalogservice.yaml +++ b/kubernetes-manifests/productcatalogservice.yaml @@ -42,10 +42,14 @@ spec: value: "true" - name: DD_ENV value: "prod" + - name: DD_LOGS_INJECTION + value: "true" + - name: DD_VERSION + value: "latest" - name: DD_SERVICE value: "productcatalogservice" - name: DD_LOG_LEVEL - value: "debug" + value: "info" - name: DISABLE_STATS value: "1" - name: DISABLE_TRACING diff --git a/kubernetes-manifests/recommendationservice.yaml b/kubernetes-manifests/recommendationservice.yaml index 7e71d80..6d74837 100644 --- a/kubernetes-manifests/recommendationservice.yaml +++ b/kubernetes-manifests/recommendationservice.yaml @@ -44,6 +44,14 @@ spec: valueFrom: fieldRef: fieldPath: status.hostIP + - name: DD_ENV + value: "prod" + - name: DD_LOGS_INJECTION + value: "true" + - name: DD_SERVICE + value: "recommendationservice" + - name: DD_VERSION + value: "latest" - name: PORT value: "8080" - name: PRODUCT_CATALOG_SERVICE_ADDR diff --git a/kubernetes-manifests/shippingservice.yaml b/kubernetes-manifests/shippingservice.yaml index aaa4dbf..29b54e6 100644 --- a/kubernetes-manifests/shippingservice.yaml +++ b/kubernetes-manifests/shippingservice.yaml @@ -39,12 +39,16 @@ spec: fieldPath: status.hostIP - name: DATADOG_APM_ENABLED value: "true" + - name: DD_LOGS_INJECTION + value: "true" - name: DD_ENV value: "prod" - name: DD_SERVICE value: "shippingservice" + - name: DD_VERSION + value: "latest" - name: DD_LOG_LEVEL - value: "debug" + value: "info" - name: DISABLE_STATS value: "1" - name: DISABLE_TRACING diff --git a/release/kubernetes-manifests.yaml b/release/kubernetes-manifests.yaml index eb29927..49b77ef 100644 --- a/release/kubernetes-manifests.yaml +++ b/release/kubernetes-manifests.yaml @@ -32,14 +32,27 @@ spec: terminationGracePeriodSeconds: 5 containers: - name: server - image: gcr.io/google-samples/microservices-demo/emailservice:v0.2.0 + image: gcr.io/relyance-internal/boutique-app/emailservice:latest ports: - containerPort: 8080 env: - name: PORT value: "8080" - # - name: DISABLE_TRACING - # value: "1" + # Enable datadog tracing + - name: DD_AGENT_HOST + valueFrom: + fieldRef: + fieldPath: status.hostIP + - name: DD_ENV + value: "prod" + - name: DD_LOGS_INJECTION + value: "true" + - name: DD_SERVICE + value: "emailservice" + - name: DD_VERSION + value: "latest" + - name: DISABLE_TRACING + value: "1" - name: DISABLE_PROFILER value: "1" readinessProbe: @@ -86,7 +99,7 @@ spec: spec: containers: - name: server - image: gcr.io/google-samples/microservices-demo/checkoutservice:v0.2.0 + image: gcr.io/relyance-internal/boutique-app/checkoutservice:latest ports: - containerPort: 5050 readinessProbe: @@ -110,14 +123,29 @@ spec: value: "currencyservice:7000" - name: CART_SERVICE_ADDR value: "cartservice:7070" - # - name: DISABLE_STATS - # value: "1" - # - name: DISABLE_TRACING - # value: "1" - # - name: DISABLE_PROFILER - # value: "1" - # - name: JAEGER_SERVICE_ADDR - # value: "jaeger-collector:14268" + # Enable datadog tracing + - name: DD_AGENT_HOST + valueFrom: + fieldRef: + fieldPath: status.hostIP + - name: DATADOG_APM_ENABLED + value: "true" + - name: DD_LOGS_INJECTION + value: "true" + - name: DD_ENV + value: "prod" + - name: DD_SERVICE + value: "checkoutservice" + - name: DD_VERSION + value: "latest" + - name: DISABLE_STATS + value: "1" + - name: DISABLE_TRACING + value: "1" + - name: DISABLE_PROFILER + value: "1" + - name: JAEGER_SERVICE_ADDR + value: "jaeger-collector:14268" resources: requests: cpu: 100m @@ -155,7 +183,7 @@ spec: terminationGracePeriodSeconds: 5 containers: - name: server - image: gcr.io/google-samples/microservices-demo/recommendationservice:v0.2.0 + image: gcr.io/relyance-internal/boutique-app/recommendationservice:latest ports: - containerPort: 8080 readinessProbe: @@ -171,12 +199,24 @@ spec: value: "8080" - name: PRODUCT_CATALOG_SERVICE_ADDR value: "productcatalogservice:3550" - # - name: DISABLE_TRACING - # value: "1" - # - name: DISABLE_PROFILER - # value: "1" - # - name: DISABLE_DEBUGGER - # value: "1" + - name: DD_AGENT_HOST + valueFrom: + fieldRef: + fieldPath: status.hostIP + - name: DD_ENV + value: "prod" + - name: DD_LOGS_INJECTION + value: "true" + - name: DD_SERVICE + value: "recommendationservice" + - name: DD_VERSION + value: "latest" + - name: DISABLE_TRACING + value: "1" + - name: DISABLE_PROFILER + value: "1" + - name: DISABLE_DEBUGGER + value: "1" resources: requests: cpu: 100m @@ -215,7 +255,7 @@ spec: spec: containers: - name: server - image: gcr.io/google-samples/microservices-demo/frontend:v0.2.0 + image: gcr.io/relyance-internal/boutique-app/frontend:latest ports: - containerPort: 8080 readinessProbe: @@ -253,12 +293,25 @@ spec: value: "adservice:9555" - name: ENV_PLATFORM value: "gcp" - # - name: DISABLE_TRACING - # value: "1" - # - name: DISABLE_PROFILER - # value: "1" - # - name: JAEGER_SERVICE_ADDR - # value: "jaeger-collector:14268" + - name: DD_AGENT_HOST + valueFrom: + fieldRef: + fieldPath: status.hostIP + # Enable datadog tracing + - name: DATADOG_APM_ENABLED + value: "true" + - name: DD_ENV + value: "prod" + - name: DD_SERVICE + value: "frontend" + - name: DD_VERSION + value: "latest" + - name: DISABLE_TRACING + value: "1" + - name: DISABLE_PROFILER + value: "1" + - name: JAEGER_SERVICE_ADDR + value: "jaeger-collector:14268" resources: requests: cpu: 100m @@ -309,7 +362,7 @@ spec: terminationGracePeriodSeconds: 5 containers: - name: server - image: gcr.io/google-samples/microservices-demo/paymentservice:v0.2.0 + image: gcr.io/relyance-internal/boutique-app/paymentservice:latest ports: - containerPort: 50051 env: @@ -358,20 +411,35 @@ spec: terminationGracePeriodSeconds: 5 containers: - name: server - image: gcr.io/google-samples/microservices-demo/productcatalogservice:v0.2.0 + image: gcr.io/relyance-internal/boutique-app/productcatalogservice:latest ports: - containerPort: 3550 env: - name: PORT value: "3550" - # - name: DISABLE_STATS - # value: "1" - # - name: DISABLE_TRACING - # value: "1" - # - name: DISABLE_PROFILER - # value: "1" - # - name: JAEGER_SERVICE_ADDR - # value: "jaeger-collector:14268" + - name: DD_AGENT_HOST + valueFrom: + fieldRef: + fieldPath: status.hostIP + # Enable datadog tracing + - name: DATADOG_APM_ENABLED + value: "true" + - name: DD_LOGS_INJECTION + value: "true" + - name: DD_ENV + value: "prod" + - name: DD_SERVICE + value: "productcatalogservice" + - name: DD_VERSION + value: "latest" + - name: DISABLE_STATS + value: "1" + - name: DISABLE_TRACING + value: "1" + - name: DISABLE_PROFILER + value: "1" + - name: JAEGER_SERVICE_ADDR + value: "jaeger-collector:14268" readinessProbe: exec: command: ["/bin/grpc_health_probe", "-addr=:3550"] @@ -415,7 +483,7 @@ spec: terminationGracePeriodSeconds: 5 containers: - name: server - image: gcr.io/google-samples/microservices-demo/cartservice:v0.2.0 + image: gcr.io/relyance-internal/boutique-app/cartservice:latest ports: - containerPort: 7070 env: @@ -475,7 +543,7 @@ spec: restartPolicy: Always containers: - name: main - image: gcr.io/google-samples/microservices-demo/loadgenerator:v0.2.0 + image: gcr.io/relyance-internal/boutique-app/loadgenerator:latest env: - name: FRONTEND_ADDR value: "frontend:80" @@ -505,7 +573,7 @@ spec: terminationGracePeriodSeconds: 5 containers: - name: server - image: gcr.io/google-samples/microservices-demo/currencyservice:v0.2.0 + image: gcr.io/relyance-internal/boutique-app/currencyservice:latest ports: - name: grpc containerPort: 7000 @@ -560,20 +628,35 @@ spec: spec: containers: - name: server - image: gcr.io/google-samples/microservices-demo/shippingservice:v0.2.0 + image: gcr.io/relyance-internal/boutique-app/shippingservice:latest ports: - containerPort: 50051 env: - name: PORT value: "50051" - # - name: DISABLE_STATS - # value: "1" - # - name: DISABLE_TRACING - # value: "1" - # - name: DISABLE_PROFILER - # value: "1" - # - name: JAEGER_SERVICE_ADDR - # value: "jaeger-collector:14268" + # Enable datadog tracing + - name: DD_AGENT_HOST + valueFrom: + fieldRef: + fieldPath: status.hostIP + - name: DATADOG_APM_ENABLED + value: "true" + - name: DD_LOGS_INJECTION + value: "true" + - name: DD_ENV + value: "prod" + - name: DD_SERVICE + value: "shippingservice" + - name: DD_VERSION + value: "latest" + - name: DISABLE_STATS + value: "1" + - name: DISABLE_TRACING + value: "1" + - name: DISABLE_PROFILER + value: "1" + - name: JAEGER_SERVICE_ADDR + value: "jaeger-collector:14268" readinessProbe: periodSeconds: 5 exec: @@ -671,7 +754,7 @@ spec: terminationGracePeriodSeconds: 5 containers: - name: server - image: gcr.io/google-samples/microservices-demo/adservice:v0.2.0 + image: gcr.io/relyance-internal/boutique-app/adservice:latest ports: - containerPort: 9555 env: diff --git a/skaffold.yaml b/skaffold.yaml index dfd6aeb..127436c 100644 --- a/skaffold.yaml +++ b/skaffold.yaml @@ -43,7 +43,7 @@ build: - image: adservice context: src/adservice tagPolicy: - gitCommit: {} + sha256: {} # the sha256 always tags the images as `latest` (which points to sha256 of the image built) deploy: kubectl: manifests: diff --git a/src/emailservice/Dockerfile b/src/emailservice/Dockerfile index a3679fe..26be3de 100644 --- a/src/emailservice/Dockerfile +++ b/src/emailservice/Dockerfile @@ -49,8 +49,5 @@ COPY --from=builder /usr/local/lib/python3.7/ /usr/local/lib/python3.7/ # Add the application COPY . . -ENV DD_LOGS_INJECTION=true -ENV DD_ENV=prod -ENV DD_SERVICE=emailservice EXPOSE 8080 ENTRYPOINT [ "ddtrace-run", "python", "email_server.py" ] diff --git a/src/recommendationservice/Dockerfile b/src/recommendationservice/Dockerfile index 4e0d44c..e906745 100644 --- a/src/recommendationservice/Dockerfile +++ b/src/recommendationservice/Dockerfile @@ -18,9 +18,6 @@ RUN apt-get update -qqy && \ rm -rf /var/lib/apt/lists/* # show python logs as they occur ENV PYTHONUNBUFFERED=0 -ENV DD_LOGS_INJECTION=true -ENV DD_ENV=prod -ENV DD_SERVICE=recommendationservice # download the grpc health probe RUN GRPC_HEALTH_PROBE_VERSION=v0.2.0 && \