From ceff7a841200e3674b9ea98217354bcdd47878af Mon Sep 17 00:00:00 2001 From: Tony Pujals Date: Mon, 27 Jul 2020 13:29:58 -0700 Subject: [PATCH] knative specs --- knative/loadgenerator.yaml | 43 +++++ knative/redis-cart.yaml | 52 ++++++ knative/services.yaml | 362 +++++++++++++++++++++++++++++++++++++ 3 files changed, 457 insertions(+) create mode 100644 knative/loadgenerator.yaml create mode 100644 knative/redis-cart.yaml create mode 100644 knative/services.yaml diff --git a/knative/loadgenerator.yaml b/knative/loadgenerator.yaml new file mode 100644 index 0000000..9924118 --- /dev/null +++ b/knative/loadgenerator.yaml @@ -0,0 +1,43 @@ +apiVersion: extensions/v1beta1 +kind: Deployment +metadata: + name: loadgenerator +spec: + replicas: 1 + template: + metadata: + labels: + app: loadgenerator + spec: + terminationGracePeriodSeconds: 5 + restartPolicy: Always + initContainers: + - name: wait-frontend + image: alpine:3.6 + command: [ + "sh", + "-c", + 'set -x; apk add --no-cache curl && + until timeout -t 2 curl -f "http://${FRONTEND_ADDR}"; do + echo "waiting for http://${FRONTEND_ADDR}"; + sleep 2; + done;', + ] + env: + - name: FRONTEND_ADDR + value: "frontend.default:80" + containers: + - name: main + image: gcr.io/google-samples/microservices-demo/loadgenerator:v0.1.0 + env: + - name: FRONTEND_ADDR + value: "frontend.default:80" + - name: USERS + value: "10" + resources: + requests: + cpu: 300m + memory: 256Mi + limits: + cpu: 500m + memory: 512Mi \ No newline at end of file diff --git a/knative/redis-cart.yaml b/knative/redis-cart.yaml new file mode 100644 index 0000000..9cc155d --- /dev/null +++ b/knative/redis-cart.yaml @@ -0,0 +1,52 @@ +apiVersion: extensions/v1beta1 +kind: Deployment +metadata: + name: redis-cart +spec: + template: + metadata: + annotations: + sidecar.istio.io/inject: "true" + labels: + app: redis-cart + spec: + containers: + - name: redis + image: redis:alpine + ports: + - containerPort: 6379 + name: redis + readinessProbe: + periodSeconds: 5 + tcpSocket: + port: 6379 + livenessProbe: + periodSeconds: 5 + tcpSocket: + port: 6379 + volumeMounts: + - mountPath: /data + name: redis-data + resources: + limits: + memory: 256Mi + cpu: 125m + requests: + cpu: 70m + memory: 200Mi + volumes: + - name: redis-data + emptyDir: {} +--- +apiVersion: v1 +kind: Service +metadata: + name: redis-cart +spec: + type: ClusterIP + selector: + app: redis-cart + ports: + - name: redis + port: 6379 + targetPort: 6379 \ No newline at end of file diff --git a/knative/services.yaml b/knative/services.yaml new file mode 100644 index 0000000..5de5b7a --- /dev/null +++ b/knative/services.yaml @@ -0,0 +1,362 @@ +apiVersion: serving.knative.dev/v1alpha1 +kind: Service +metadata: + name: emailservice + labels: + serving.knative.dev/visibility: cluster-local +spec: + runLatest: + configuration: + revisionTemplate: + spec: + terminationGracePeriodSeconds: 5 + container: + image: gcr.io/google-samples/microservices-demo/emailservice:v0.1.0 + ports: + - containerPort: 8080 + name: h2c + readinessProbe: + periodSeconds: 5 + exec: + command: ["/bin/grpc_health_probe", "-addr=:$(PORT)"] + livenessProbe: + periodSeconds: 5 + exec: + command: ["/bin/grpc_health_probe", "-addr=:$(PORT)"] + resources: + requests: + cpu: 100m + memory: 64Mi + limits: + cpu: 200m + memory: 128Mi +--- +apiVersion: serving.knative.dev/v1alpha1 +kind: Service +metadata: + name: checkoutservice + labels: + serving.knative.dev/visibility: cluster-local +spec: + runLatest: + configuration: + revisionTemplate: + spec: + container: + image: gcr.io/google-samples/microservices-demo/checkoutservice:v0.1.0 + ports: + - containerPort: 8080 + name: h2c + readinessProbe: + exec: + command: ["/bin/grpc_health_probe", "-addr=:$(PORT)"] + livenessProbe: + exec: + command: ["/bin/grpc_health_probe", "-addr=:$(PORT)"] + env: + - name: PRODUCT_CATALOG_SERVICE_ADDR + value: "productcatalogservice.default:80" + - name: SHIPPING_SERVICE_ADDR + value: "shippingservice.default:80" + - name: PAYMENT_SERVICE_ADDR + value: "paymentservice.default:80" + - name: EMAIL_SERVICE_ADDR + value: "emailservice.default:80" + - name: CURRENCY_SERVICE_ADDR + value: "currencyservice.default:80" + - name: CART_SERVICE_ADDR + value: "cartservice.default:80" + resources: + requests: + cpu: 100m + memory: 64Mi + limits: + cpu: 200m + memory: 128Mi +--- +apiVersion: serving.knative.dev/v1alpha1 +kind: Service +metadata: + name: recommendationservice + labels: + serving.knative.dev/visibility: cluster-local +spec: + runLatest: + configuration: + revisionTemplate: + spec: + terminationGracePeriodSeconds: 5 + container: + image: gcr.io/google-samples/microservices-demo/recommendationservice:v0.1.0 + ports: + - containerPort: 8080 + name: h2c + readinessProbe: + periodSeconds: 5 + exec: + command: ["/bin/grpc_health_probe", "-addr=:$(PORT)"] + livenessProbe: + periodSeconds: 5 + exec: + command: ["/bin/grpc_health_probe", "-addr=:$(PORT)"] + env: + - name: PRODUCT_CATALOG_SERVICE_ADDR + value: "productcatalogservice.default:80" + resources: + requests: + cpu: 100m + memory: 220Mi + limits: + cpu: 200m + memory: 450Mi +--- +apiVersion: serving.knative.dev/v1alpha1 +kind: Service +metadata: + name: frontend +spec: + runLatest: + configuration: + revisionTemplate: + spec: + container: + image: gcr.io/google-samples/microservices-demo/frontend:v0.1.0 + readinessProbe: + initialDelaySeconds: 10 + httpGet: + path: "/_healthz" + httpHeaders: + - name: "Cookie" + value: "shop_session-id=x-readiness-probe" + livenessProbe: + initialDelaySeconds: 10 + httpGet: + path: "/_healthz" + httpHeaders: + - name: "Cookie" + value: "shop_session-id=x-liveness-probe" + env: + - name: PRODUCT_CATALOG_SERVICE_ADDR + value: "productcatalogservice.default:80" + - name: CURRENCY_SERVICE_ADDR + value: "currencyservice.default:80" + - name: CART_SERVICE_ADDR + value: "cartservice.default:80" + - name: RECOMMENDATION_SERVICE_ADDR + value: "recommendationservice.default:80" + - name: SHIPPING_SERVICE_ADDR + value: "shippingservice.default:80" + - name: CHECKOUT_SERVICE_ADDR + value: "checkoutservice.default:80" + - name: AD_SERVICE_ADDR + value: "adservice.default:80" + resources: + requests: + cpu: 100m + memory: 64Mi + limits: + cpu: 200m + memory: 128Mi +--- +apiVersion: serving.knative.dev/v1alpha1 +kind: Service +metadata: + name: paymentservice + labels: + serving.knative.dev/visibility: cluster-local +spec: + runLatest: + configuration: + revisionTemplate: + spec: + terminationGracePeriodSeconds: 5 + container: + image: gcr.io/google-samples/microservices-demo/paymentservice:v0.1.0 + ports: + - containerPort: 8080 + name: h2c + readinessProbe: + exec: + command: ["/bin/grpc_health_probe", "-addr=:$(PORT)"] + livenessProbe: + exec: + command: ["/bin/grpc_health_probe", "-addr=:$(PORT)"] + resources: + requests: + cpu: 100m + memory: 64Mi + limits: + cpu: 200m + memory: 128Mi +--- +apiVersion: serving.knative.dev/v1alpha1 +kind: Service +metadata: + name: productcatalogservice + labels: + serving.knative.dev/visibility: cluster-local +spec: + runLatest: + configuration: + revisionTemplate: + spec: + terminationGracePeriodSeconds: 5 + container: + image: gcr.io/google-samples/microservices-demo/productcatalogservice:v0.1.0 + ports: + - containerPort: 3550 + name: h2c + readinessProbe: + exec: + command: ["/bin/grpc_health_probe", "-addr=:$(PORT)"] + livenessProbe: + exec: + command: ["/bin/grpc_health_probe", "-addr=:$(PORT)"] + resources: + requests: + cpu: 100m + memory: 64Mi + limits: + cpu: 200m + memory: 128Mi +--- +apiVersion: serving.knative.dev/v1alpha1 +kind: Service +metadata: + name: cartservice + labels: + serving.knative.dev/visibility: cluster-local +spec: + runLatest: + configuration: + revisionTemplate: + spec: + terminationGracePeriodSeconds: 5 + container: + image: gcr.io/google-samples/microservices-demo/cartservice:v0.1.0 + args: ["-p", "$(PORT)"] + ports: + - containerPort: 8080 + name: h2c + env: + - name: REDIS_ADDR + value: "redis-cart:6379" + - name: PORT + value: "7070" + - name: LISTEN_ADDR + value: "0.0.0.0" + resources: + requests: + cpu: 200m + memory: 64Mi + limits: + cpu: 300m + memory: 128Mi + readinessProbe: + initialDelaySeconds: 15 + exec: + command: ["/bin/grpc_health_probe", "-addr=:$(PORT)"] + livenessProbe: + initialDelaySeconds: 15 + periodSeconds: 10 + exec: + command: ["/bin/grpc_health_probe", "-addr=:$(PORT)"] +--- +apiVersion: serving.knative.dev/v1alpha1 +kind: Service +metadata: + name: currencyservice + labels: + serving.knative.dev/visibility: cluster-local +spec: + runLatest: + configuration: + revisionTemplate: + metadata: + annotations: + spec: + terminationGracePeriodSeconds: 5 + container: + image: gcr.io/google-samples/microservices-demo/currencyservice:v0.1.0 + ports: + - containerPort: 7000 + name: h2c + readinessProbe: + exec: + command: ["/bin/grpc_health_probe", "-addr=:$(PORT)"] + livenessProbe: + exec: + command: ["/bin/grpc_health_probe", "-addr=:$(PORT)"] + resources: + requests: + cpu: 100m + memory: 64Mi + limits: + cpu: 200m + memory: 128Mi +--- +apiVersion: serving.knative.dev/v1alpha1 +kind: Service +metadata: + name: shippingservice + labels: + serving.knative.dev/visibility: cluster-local +spec: + runLatest: + configuration: + revisionTemplate: + spec: + container: + image: gcr.io/google-samples/microservices-demo/shippingservice:v0.1.0 + ports: + - containerPort: 50051 + name: h2c + readinessProbe: + periodSeconds: 5 + exec: + command: ["/bin/grpc_health_probe", "-addr=:$(PORT)"] + livenessProbe: + exec: + command: ["/bin/grpc_health_probe", "-addr=:$(PORT)"] + resources: + requests: + cpu: 100m + memory: 64Mi + limits: + cpu: 200m + memory: 128Mi +--- +apiVersion: serving.knative.dev/v1alpha1 +kind: Service +metadata: + name: adservice + labels: + serving.knative.dev/visibility: cluster-local +spec: + runLatest: + configuration: + revisionTemplate: + spec: + terminationGracePeriodSeconds: 5 + container: + image: gcr.io/google-samples/microservices-demo/adservice:v0.1.0 + ports: + - containerPort: 8080 + name: h2c + resources: + requests: + cpu: 200m + memory: 180Mi + limits: + cpu: 300m + memory: 300Mi + readinessProbe: + initialDelaySeconds: 20 + periodSeconds: 15 + exec: + command: ["/bin/grpc_health_probe", "-addr=:$(PORT)"] + livenessProbe: + initialDelaySeconds: 20 + periodSeconds: 15 + exec: + command: ["/bin/grpc_health_probe", "-addr=:$(PORT)"] \ No newline at end of file