Kubernetes and Docker related changes for support environment variables

This commit is contained in:
Rahul Jagad 2020-08-24 22:17:29 -07:00
parent 202f987014
commit d04a5384a5
10 changed files with 170 additions and 61 deletions

View file

@ -58,10 +58,14 @@ spec:
# Enable datadog tracing # Enable datadog tracing
- name: DATADOG_APM_ENABLED - name: DATADOG_APM_ENABLED
value: "true" value: "true"
- name: DD_LOGS_INJECTION
value: "true"
- name: DD_ENV - name: DD_ENV
value: "prod" value: "prod"
- name: DD_SERVICE - name: DD_SERVICE
value: "checkoutservice" value: "checkoutservice"
- name: DD_VERSION
value: "latest"
- name: DD_LOG_LEVEL - name: DD_LOG_LEVEL
value: "debug" value: "debug"
# Disable default opentracing ? # Disable default opentracing ?

View file

@ -36,10 +36,18 @@ spec:
valueFrom: valueFrom:
fieldRef: fieldRef:
fieldPath: status.hostIP 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 - name: PORT
value: "8080" value: "8080"
# - name: DISABLE_TRACING - name: DISABLE_TRACING
# value: "1" value: "1"
- name: DISABLE_PROFILER - name: DISABLE_PROFILER
value: "1" value: "1"
readinessProbe: readinessProbe:

View file

@ -73,12 +73,16 @@ spec:
fieldPath: status.hostIP fieldPath: status.hostIP
- name: DATADOG_APM_ENABLED - name: DATADOG_APM_ENABLED
value: "true" value: "true"
- name: DD_LOGS_INJECTION
value: "true"
- name: DD_ENV - name: DD_ENV
value: "prod" value: "prod"
- name: DD_SERVICE - name: DD_SERVICE
value: "frontend" value: "frontend"
- name: DD_VERSION
value: "latest"
- name: DD_LOG_LEVEL - name: DD_LOG_LEVEL
value: "debug" value: "info"
- name: DISABLE_TRACING - name: DISABLE_TRACING
value: "1" value: "1"
- name: DISABLE_PROFILER - name: DISABLE_PROFILER

View file

@ -42,10 +42,14 @@ spec:
value: "true" value: "true"
- name: DD_ENV - name: DD_ENV
value: "prod" value: "prod"
- name: DD_LOGS_INJECTION
value: "true"
- name: DD_VERSION
value: "latest"
- name: DD_SERVICE - name: DD_SERVICE
value: "productcatalogservice" value: "productcatalogservice"
- name: DD_LOG_LEVEL - name: DD_LOG_LEVEL
value: "debug" value: "info"
- name: DISABLE_STATS - name: DISABLE_STATS
value: "1" value: "1"
- name: DISABLE_TRACING - name: DISABLE_TRACING

View file

@ -44,6 +44,14 @@ spec:
valueFrom: valueFrom:
fieldRef: fieldRef:
fieldPath: status.hostIP 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 - name: PORT
value: "8080" value: "8080"
- name: PRODUCT_CATALOG_SERVICE_ADDR - name: PRODUCT_CATALOG_SERVICE_ADDR

View file

@ -39,12 +39,16 @@ spec:
fieldPath: status.hostIP fieldPath: status.hostIP
- name: DATADOG_APM_ENABLED - name: DATADOG_APM_ENABLED
value: "true" value: "true"
- name: DD_LOGS_INJECTION
value: "true"
- name: DD_ENV - name: DD_ENV
value: "prod" value: "prod"
- name: DD_SERVICE - name: DD_SERVICE
value: "shippingservice" value: "shippingservice"
- name: DD_VERSION
value: "latest"
- name: DD_LOG_LEVEL - name: DD_LOG_LEVEL
value: "debug" value: "info"
- name: DISABLE_STATS - name: DISABLE_STATS
value: "1" value: "1"
- name: DISABLE_TRACING - name: DISABLE_TRACING

View file

@ -32,14 +32,27 @@ spec:
terminationGracePeriodSeconds: 5 terminationGracePeriodSeconds: 5
containers: containers:
- name: server - name: server
image: gcr.io/google-samples/microservices-demo/emailservice:v0.2.0 image: gcr.io/relyance-internal/boutique-app/emailservice:latest
ports: ports:
- containerPort: 8080 - containerPort: 8080
env: env:
- name: PORT - name: PORT
value: "8080" value: "8080"
# - name: DISABLE_TRACING # Enable datadog tracing
# 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: "emailservice"
- name: DD_VERSION
value: "latest"
- name: DISABLE_TRACING
value: "1"
- name: DISABLE_PROFILER - name: DISABLE_PROFILER
value: "1" value: "1"
readinessProbe: readinessProbe:
@ -86,7 +99,7 @@ spec:
spec: spec:
containers: containers:
- name: server - name: server
image: gcr.io/google-samples/microservices-demo/checkoutservice:v0.2.0 image: gcr.io/relyance-internal/boutique-app/checkoutservice:latest
ports: ports:
- containerPort: 5050 - containerPort: 5050
readinessProbe: readinessProbe:
@ -110,14 +123,29 @@ spec:
value: "currencyservice:7000" value: "currencyservice:7000"
- name: CART_SERVICE_ADDR - name: CART_SERVICE_ADDR
value: "cartservice:7070" value: "cartservice:7070"
# - name: DISABLE_STATS # Enable datadog tracing
# value: "1" - name: DD_AGENT_HOST
# - name: DISABLE_TRACING valueFrom:
# value: "1" fieldRef:
# - name: DISABLE_PROFILER fieldPath: status.hostIP
# value: "1" - name: DATADOG_APM_ENABLED
# - name: JAEGER_SERVICE_ADDR value: "true"
# value: "jaeger-collector:14268" - 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: resources:
requests: requests:
cpu: 100m cpu: 100m
@ -155,7 +183,7 @@ spec:
terminationGracePeriodSeconds: 5 terminationGracePeriodSeconds: 5
containers: containers:
- name: server - name: server
image: gcr.io/google-samples/microservices-demo/recommendationservice:v0.2.0 image: gcr.io/relyance-internal/boutique-app/recommendationservice:latest
ports: ports:
- containerPort: 8080 - containerPort: 8080
readinessProbe: readinessProbe:
@ -171,12 +199,24 @@ spec:
value: "8080" value: "8080"
- name: PRODUCT_CATALOG_SERVICE_ADDR - name: PRODUCT_CATALOG_SERVICE_ADDR
value: "productcatalogservice:3550" value: "productcatalogservice:3550"
# - name: DISABLE_TRACING - name: DD_AGENT_HOST
# value: "1" valueFrom:
# - name: DISABLE_PROFILER fieldRef:
# value: "1" fieldPath: status.hostIP
# - name: DISABLE_DEBUGGER - name: DD_ENV
# value: "1" 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: resources:
requests: requests:
cpu: 100m cpu: 100m
@ -215,7 +255,7 @@ spec:
spec: spec:
containers: containers:
- name: server - name: server
image: gcr.io/google-samples/microservices-demo/frontend:v0.2.0 image: gcr.io/relyance-internal/boutique-app/frontend:latest
ports: ports:
- containerPort: 8080 - containerPort: 8080
readinessProbe: readinessProbe:
@ -253,12 +293,25 @@ spec:
value: "adservice:9555" value: "adservice:9555"
- name: ENV_PLATFORM - name: ENV_PLATFORM
value: "gcp" value: "gcp"
# - name: DISABLE_TRACING - name: DD_AGENT_HOST
# value: "1" valueFrom:
# - name: DISABLE_PROFILER fieldRef:
# value: "1" fieldPath: status.hostIP
# - name: JAEGER_SERVICE_ADDR # Enable datadog tracing
# value: "jaeger-collector:14268" - 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: resources:
requests: requests:
cpu: 100m cpu: 100m
@ -309,7 +362,7 @@ spec:
terminationGracePeriodSeconds: 5 terminationGracePeriodSeconds: 5
containers: containers:
- name: server - name: server
image: gcr.io/google-samples/microservices-demo/paymentservice:v0.2.0 image: gcr.io/relyance-internal/boutique-app/paymentservice:latest
ports: ports:
- containerPort: 50051 - containerPort: 50051
env: env:
@ -358,20 +411,35 @@ spec:
terminationGracePeriodSeconds: 5 terminationGracePeriodSeconds: 5
containers: containers:
- name: server - name: server
image: gcr.io/google-samples/microservices-demo/productcatalogservice:v0.2.0 image: gcr.io/relyance-internal/boutique-app/productcatalogservice:latest
ports: ports:
- containerPort: 3550 - containerPort: 3550
env: env:
- name: PORT - name: PORT
value: "3550" value: "3550"
# - name: DISABLE_STATS - name: DD_AGENT_HOST
# value: "1" valueFrom:
# - name: DISABLE_TRACING fieldRef:
# value: "1" fieldPath: status.hostIP
# - name: DISABLE_PROFILER # Enable datadog tracing
# value: "1" - name: DATADOG_APM_ENABLED
# - name: JAEGER_SERVICE_ADDR value: "true"
# value: "jaeger-collector:14268" - 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: readinessProbe:
exec: exec:
command: ["/bin/grpc_health_probe", "-addr=:3550"] command: ["/bin/grpc_health_probe", "-addr=:3550"]
@ -415,7 +483,7 @@ spec:
terminationGracePeriodSeconds: 5 terminationGracePeriodSeconds: 5
containers: containers:
- name: server - name: server
image: gcr.io/google-samples/microservices-demo/cartservice:v0.2.0 image: gcr.io/relyance-internal/boutique-app/cartservice:latest
ports: ports:
- containerPort: 7070 - containerPort: 7070
env: env:
@ -475,7 +543,7 @@ spec:
restartPolicy: Always restartPolicy: Always
containers: containers:
- name: main - name: main
image: gcr.io/google-samples/microservices-demo/loadgenerator:v0.2.0 image: gcr.io/relyance-internal/boutique-app/loadgenerator:latest
env: env:
- name: FRONTEND_ADDR - name: FRONTEND_ADDR
value: "frontend:80" value: "frontend:80"
@ -505,7 +573,7 @@ spec:
terminationGracePeriodSeconds: 5 terminationGracePeriodSeconds: 5
containers: containers:
- name: server - name: server
image: gcr.io/google-samples/microservices-demo/currencyservice:v0.2.0 image: gcr.io/relyance-internal/boutique-app/currencyservice:latest
ports: ports:
- name: grpc - name: grpc
containerPort: 7000 containerPort: 7000
@ -560,20 +628,35 @@ spec:
spec: spec:
containers: containers:
- name: server - name: server
image: gcr.io/google-samples/microservices-demo/shippingservice:v0.2.0 image: gcr.io/relyance-internal/boutique-app/shippingservice:latest
ports: ports:
- containerPort: 50051 - containerPort: 50051
env: env:
- name: PORT - name: PORT
value: "50051" value: "50051"
# - name: DISABLE_STATS # Enable datadog tracing
# value: "1" - name: DD_AGENT_HOST
# - name: DISABLE_TRACING valueFrom:
# value: "1" fieldRef:
# - name: DISABLE_PROFILER fieldPath: status.hostIP
# value: "1" - name: DATADOG_APM_ENABLED
# - name: JAEGER_SERVICE_ADDR value: "true"
# value: "jaeger-collector:14268" - 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: readinessProbe:
periodSeconds: 5 periodSeconds: 5
exec: exec:
@ -671,7 +754,7 @@ spec:
terminationGracePeriodSeconds: 5 terminationGracePeriodSeconds: 5
containers: containers:
- name: server - name: server
image: gcr.io/google-samples/microservices-demo/adservice:v0.2.0 image: gcr.io/relyance-internal/boutique-app/adservice:latest
ports: ports:
- containerPort: 9555 - containerPort: 9555
env: env:

View file

@ -43,7 +43,7 @@ build:
- image: adservice - image: adservice
context: src/adservice context: src/adservice
tagPolicy: tagPolicy:
gitCommit: {} sha256: {} # the sha256 always tags the images as `latest` (which points to sha256 of the image built)
deploy: deploy:
kubectl: kubectl:
manifests: manifests:

View file

@ -49,8 +49,5 @@ COPY --from=builder /usr/local/lib/python3.7/ /usr/local/lib/python3.7/
# Add the application # Add the application
COPY . . COPY . .
ENV DD_LOGS_INJECTION=true
ENV DD_ENV=prod
ENV DD_SERVICE=emailservice
EXPOSE 8080 EXPOSE 8080
ENTRYPOINT [ "ddtrace-run", "python", "email_server.py" ] ENTRYPOINT [ "ddtrace-run", "python", "email_server.py" ]

View file

@ -18,9 +18,6 @@ RUN apt-get update -qqy && \
rm -rf /var/lib/apt/lists/* rm -rf /var/lib/apt/lists/*
# show python logs as they occur # show python logs as they occur
ENV PYTHONUNBUFFERED=0 ENV PYTHONUNBUFFERED=0
ENV DD_LOGS_INJECTION=true
ENV DD_ENV=prod
ENV DD_SERVICE=recommendationservice
# download the grpc health probe # download the grpc health probe
RUN GRPC_HEALTH_PROBE_VERSION=v0.2.0 && \ RUN GRPC_HEALTH_PROBE_VERSION=v0.2.0 && \