Created
December 13, 2019 00:55
-
-
Save askmeegs/8df65d22d6a9d33fbb63b1f97f06899f to your computer and use it in GitHub Desktop.
onlineboutique-example.yaml
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
apiVersion: apps/v1 | |
kind: Deployment | |
metadata: | |
name: emailservice | |
spec: | |
selector: | |
matchLabels: | |
app: emailservice | |
template: | |
metadata: | |
labels: | |
app: emailservice | |
spec: | |
terminationGracePeriodSeconds: 5 | |
containers: | |
- name: server | |
image: gcr.io/google-samples/microservices-demo/emailservice:v0.1.2 | |
imagePullPolicy: Always | |
ports: | |
- containerPort: 8080 | |
readinessProbe: | |
periodSeconds: 5 | |
exec: | |
command: ["/bin/grpc_health_probe", "-addr=:8080"] | |
livenessProbe: | |
periodSeconds: 5 | |
exec: | |
command: ["/bin/grpc_health_probe", "-addr=:8080"] | |
resources: | |
requests: | |
cpu: 100m | |
memory: 64Mi | |
limits: | |
cpu: 200m | |
memory: 128Mi | |
--- | |
apiVersion: v1 | |
kind: Service | |
metadata: | |
name: emailservice | |
spec: | |
type: ClusterIP | |
selector: | |
app: emailservice | |
ports: | |
- name: grpc | |
port: 5000 | |
targetPort: 8080 | |
--- | |
apiVersion: apps/v1 | |
kind: Deployment | |
metadata: | |
name: shoppingcartservice | |
spec: | |
selector: | |
matchLabels: | |
app: shoppingcartservice | |
template: | |
metadata: | |
labels: | |
app: shoppingcartservice | |
spec: | |
containers: | |
- name: server | |
image: gcr.io/google-samples/microservices-demo/checkoutservice:v0.1.2 | |
ports: | |
- containerPort: 5050 | |
readinessProbe: | |
exec: | |
command: ["/bin/grpc_health_probe", "-addr=:5050"] | |
livenessProbe: | |
exec: | |
command: ["/bin/grpc_health_probe", "-addr=:5050"] | |
env: | |
- name: PRODUCT_CATALOG_SERVICE_ADDR | |
value: "productcatalogservice:3550" | |
- name: SHIPPING_SERVICE_ADDR | |
value: "shippingservice:50051" | |
- name: PAYMENT_SERVICE_ADDR | |
value: "paymentservice:50051" | |
- name: EMAIL_SERVICE_ADDR | |
value: "emailservice:5000" | |
- name: CURRENCY_SERVICE_ADDR | |
value: "currencyservice:7000" | |
- name: CART_SERVICE_ADDR | |
value: "cartservice:7070" | |
- name: JAEGER_SERVICE_ADDR | |
value: "jaeger-collector:14268" | |
resources: | |
requests: | |
cpu: 100m | |
memory: 64Mi | |
limits: | |
cpu: 200m | |
memory: 128Mi | |
--- | |
apiVersion: v1 | |
kind: Service | |
metadata: | |
name: shoppingcartservice | |
spec: | |
type: ClusterIP | |
selector: | |
app: shoppingcartservice | |
ports: | |
- port: 5050 | |
name: grpc | |
targetPort: 5050 | |
--- | |
apiVersion: apps/v1 | |
kind: Deployment | |
metadata: | |
name: recommendationservice | |
spec: | |
selector: | |
matchLabels: | |
app: recommendationservice | |
template: | |
metadata: | |
labels: | |
app: recommendationservice | |
spec: | |
terminationGracePeriodSeconds: 5 | |
containers: | |
- name: server | |
image: gcr.io/google-samples/microservices-demo/recommendationservice:v0.1.2 | |
imagePullPolicy: Always | |
ports: | |
- containerPort: 8080 | |
readinessProbe: | |
periodSeconds: 5 | |
exec: | |
command: ["/bin/grpc_health_probe", "-addr=:8080"] | |
livenessProbe: | |
periodSeconds: 5 | |
exec: | |
command: ["/bin/grpc_health_probe", "-addr=:8080"] | |
env: | |
- name: PRODUCT_CATALOG_SERVICE_ADDR | |
value: "productcatalogservice:3550" | |
resources: | |
requests: | |
cpu: 100m | |
memory: 220Mi | |
limits: | |
cpu: 200m | |
memory: 450Mi | |
--- | |
apiVersion: v1 | |
kind: Service | |
metadata: | |
name: recommendationservice | |
spec: | |
type: ClusterIP | |
selector: | |
app: recommendationservice | |
ports: | |
- port: 8080 | |
name: grpc | |
targetPort: 8080 | |
--- | |
#Istio | |
apiVersion: apps/v1 | |
kind: Deployment | |
metadata: | |
name: frontend | |
spec: | |
selector: | |
matchLabels: | |
app: frontend | |
template: | |
metadata: | |
labels: | |
app: frontend | |
version: v1 | |
spec: | |
containers: | |
- name: server | |
image: gcr.io/onlineboutique/frontend:v0.1.2 | |
ports: | |
- containerPort: 8080 | |
readinessProbe: | |
initialDelaySeconds: 10 | |
httpGet: | |
path: "/_healthz" | |
port: 8080 | |
httpHeaders: | |
- name: "Cookie" | |
value: "shop_session-id=x-readiness-probe" | |
livenessProbe: | |
initialDelaySeconds: 10 | |
httpGet: | |
path: "/_healthz" | |
port: 8080 | |
httpHeaders: | |
- name: "Cookie" | |
value: "shop_session-id=x-liveness-probe" | |
env: | |
- name: VERSION | |
value: v1 | |
- name: PRODUCT_CATALOG_SERVICE_ADDR | |
value: "productcatalogservice:3550" | |
- name: CURRENCY_SERVICE_ADDR | |
value: "currencyservice:7000" | |
- name: CART_SERVICE_ADDR | |
value: "cartservice:7070" | |
- name: RECOMMENDATION_SERVICE_ADDR | |
value: "recommendationservice:8080" | |
- name: SHIPPING_SERVICE_ADDR | |
value: "shippingservice:50051" | |
- name: CHECKOUT_SERVICE_ADDR | |
value: "shoppingcartservice:5050" | |
- name: AD_SERVICE_ADDR | |
value: "adservice:9555" | |
- name: JAEGER_SERVICE_ADDR | |
value: "jaeger-collector:14268" | |
resources: | |
requests: | |
cpu: 100m | |
memory: 64Mi | |
limits: | |
cpu: 200m | |
memory: 128Mi | |
--- | |
apiVersion: v1 | |
kind: Service | |
metadata: | |
name: frontend | |
spec: | |
type: ClusterIP | |
selector: | |
app: frontend | |
ports: # Istio can detect HTTP! | |
- port: 80 | |
targetPort: 8080 | |
name: http | |
--- | |
apiVersion: apps/v1 | |
kind: Deployment | |
metadata: | |
name: paymentservice | |
spec: | |
selector: | |
matchLabels: | |
app: paymentservice | |
template: | |
metadata: | |
labels: | |
app: paymentservice | |
spec: | |
terminationGracePeriodSeconds: 5 | |
containers: | |
- name: server | |
image: gcr.io/google-samples/microservices-demo/paymentservice:v0.1.2 | |
ports: | |
- containerPort: 50051 | |
env: | |
- name: PORT | |
value: "50051" | |
readinessProbe: | |
exec: | |
command: ["/bin/grpc_health_probe", "-addr=:50051"] | |
livenessProbe: | |
exec: | |
command: ["/bin/grpc_health_probe", "-addr=:50051"] | |
resources: | |
requests: | |
cpu: 100m | |
memory: 64Mi | |
limits: | |
cpu: 200m | |
memory: 128Mi | |
--- | |
apiVersion: v1 | |
kind: Service | |
metadata: | |
name: paymentservice | |
spec: | |
type: ClusterIP | |
selector: | |
app: paymentservice | |
ports: | |
- port: 50051 | |
name: grpc | |
targetPort: 50051 | |
--- | |
apiVersion: apps/v1 | |
kind: Deployment | |
metadata: | |
name: productcatalogservice | |
spec: | |
selector: | |
matchLabels: | |
app: productcatalogservice | |
template: | |
metadata: | |
labels: | |
app: productcatalogservice | |
version: v1 | |
spec: | |
terminationGracePeriodSeconds: 5 | |
containers: | |
- name: server | |
image: gcr.io/onlineboutique/productcatalogservice:v0.1.2 | |
ports: | |
- containerPort: 3550 | |
readinessProbe: | |
exec: | |
command: ["/bin/grpc_health_probe", "-addr=:3550"] | |
livenessProbe: | |
exec: | |
command: ["/bin/grpc_health_probe", "-addr=:3550"] | |
env: | |
- name: JAEGER_SERVICE_ADDR | |
value: "jaeger-collector:14268" | |
resources: | |
requests: | |
cpu: 100m | |
memory: 64Mi | |
limits: | |
cpu: 200m | |
memory: 128Mi | |
--- | |
apiVersion: v1 | |
kind: Service | |
metadata: | |
name: productcatalogservice | |
spec: | |
type: ClusterIP | |
selector: | |
app: productcatalogservice | |
ports: | |
- port: 3550 | |
name: grpc | |
targetPort: 3550 | |
--- | |
apiVersion: apps/v1 | |
kind: Deployment | |
metadata: | |
name: cartservice | |
spec: | |
selector: | |
matchLabels: | |
app: cartservice | |
template: | |
metadata: | |
labels: | |
app: cartservice | |
spec: | |
terminationGracePeriodSeconds: 5 | |
containers: | |
- name: server | |
image: gcr.io/google-samples/microservices-demo/cartservice:v0.1.2 | |
ports: | |
- containerPort: 7070 | |
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=:7070"] | |
livenessProbe: | |
initialDelaySeconds: 15 | |
periodSeconds: 10 | |
exec: | |
command: ["/bin/grpc_health_probe", "-addr=:7070"] | |
--- | |
apiVersion: v1 | |
kind: Service | |
metadata: | |
name: cartservice | |
spec: | |
type: ClusterIP | |
selector: | |
app: cartservice | |
ports: | |
- port: 7070 | |
name: grpc | |
targetPort: 7070 | |
--- | |
apiVersion: apps/v1 | |
kind: Deployment | |
metadata: | |
name: loadgenerator | |
spec: | |
selector: | |
matchLabels: | |
app: loadgenerator | |
replicas: 1 | |
template: | |
metadata: | |
labels: | |
app: loadgenerator | |
spec: | |
terminationGracePeriodSeconds: 5 | |
restartPolicy: Always | |
containers: | |
- name: main | |
image: gcr.io/google-samples/microservices-demo/loadgenerator:v0.1.2 | |
env: | |
- name: FRONTEND_ADDR | |
value: "frontend:80" | |
- name: USERS | |
value: "50" | |
resources: | |
requests: | |
cpu: 300m | |
memory: 256Mi | |
limits: | |
cpu: 500m | |
memory: 512Mi | |
--- | |
apiVersion: apps/v1 | |
kind: Deployment | |
metadata: | |
name: currencyservice | |
spec: | |
selector: | |
matchLabels: | |
app: currencyservice | |
template: | |
metadata: | |
labels: | |
app: currencyservice | |
spec: | |
terminationGracePeriodSeconds: 5 | |
containers: | |
- name: server | |
image: gcr.io/mokeefe/currency:real | |
ports: | |
- containerPort: 7000 | |
env: | |
- name: PORT | |
value: "7000" | |
readinessProbe: | |
exec: | |
command: ["/bin/grpc_health_probe", "-addr=:7000"] | |
livenessProbe: | |
exec: | |
command: ["/bin/grpc_health_probe", "-addr=:7000"] | |
resources: | |
requests: | |
cpu: 100m | |
memory: 64Mi | |
limits: | |
cpu: 200m | |
memory: 128Mi | |
--- | |
apiVersion: v1 | |
kind: Service | |
metadata: | |
name: currencyservice | |
spec: | |
type: ClusterIP | |
selector: | |
app: currencyservice | |
ports: | |
- port: 7000 | |
name: grpc | |
targetPort: 7000 | |
--- | |
apiVersion: apps/v1 | |
kind: Deployment | |
metadata: | |
name: shippingservice | |
spec: | |
selector: | |
matchLabels: | |
app: shippingservice | |
template: | |
metadata: | |
labels: | |
app: shippingservice | |
spec: | |
containers: | |
- name: server | |
image: gcr.io/google-samples/microservices-demo/shippingservice:v0.1.2 | |
ports: | |
- containerPort: 50051 | |
readinessProbe: | |
periodSeconds: 5 | |
exec: | |
command: ["/bin/grpc_health_probe", "-addr=:50051"] | |
livenessProbe: | |
exec: | |
command: ["/bin/grpc_health_probe", "-addr=:50051"] | |
env: | |
- name: JAEGER_SERVICE_ADDR | |
value: "jaeger-collector:14268" | |
resources: | |
requests: | |
cpu: 100m | |
memory: 64Mi | |
limits: | |
cpu: 200m | |
memory: 128Mi | |
--- | |
apiVersion: v1 | |
kind: Service | |
metadata: | |
name: shippingservice | |
spec: | |
type: ClusterIP | |
selector: | |
app: shippingservice | |
ports: | |
- port: 50051 | |
name: grpc | |
targetPort: 50051 | |
--- | |
apiVersion: apps/v1 | |
kind: Deployment | |
metadata: | |
name: redis-cart | |
spec: | |
selector: | |
matchLabels: | |
app: redis-cart | |
template: | |
metadata: | |
labels: | |
app: redis-cart | |
spec: | |
containers: | |
- name: redis | |
image: redis:alpine | |
ports: | |
- containerPort: 6379 | |
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: | |
- port: 6379 | |
name: redis | |
targetPort: 6379 | |
--- | |
apiVersion: apps/v1 | |
kind: Deployment | |
metadata: | |
name: adservice | |
spec: | |
selector: | |
matchLabels: | |
app: adservice | |
template: | |
metadata: | |
labels: | |
app: adservice | |
spec: | |
terminationGracePeriodSeconds: 5 | |
containers: | |
- name: server | |
image: gcr.io/google-samples/microservices-demo/adservice:v0.1.2 | |
ports: | |
- containerPort: 9555 | |
env: | |
- name: PORT | |
value: "9555" | |
- name: JAEGER_SERVICE_ADDR | |
value: "jaeger-collector:14268" | |
resources: | |
requests: | |
cpu: 200m | |
memory: 180Mi | |
limits: | |
cpu: 300m | |
memory: 300Mi | |
readinessProbe: | |
initialDelaySeconds: 20 | |
periodSeconds: 15 | |
exec: | |
command: ["/bin/grpc_health_probe", "-addr=:9555"] | |
livenessProbe: | |
initialDelaySeconds: 20 | |
periodSeconds: 15 | |
exec: | |
command: ["/bin/grpc_health_probe", "-addr=:9555"] | |
--- | |
apiVersion: v1 | |
kind: Service | |
metadata: | |
name: adservice | |
spec: | |
type: ClusterIP | |
selector: | |
app: adservice | |
ports: | |
- port: 9555 | |
name: redis | |
targetPort: 9555 | |
--- | |
#Istio manifests | |
apiVersion: networking.istio.io/v1alpha3 | |
kind: Gateway | |
metadata: | |
name: frontend-gateway | |
spec: | |
selector: | |
istio: ingressgateway # use Istio default gateway implementation | |
servers: | |
- port: | |
number: 80 | |
name: http | |
protocol: HTTP | |
hosts: | |
- "*" | |
--- | |
apiVersion: networking.istio.io/v1alpha3 | |
kind: VirtualService | |
metadata: | |
name: frontend-ingress | |
spec: | |
hosts: | |
- "*" | |
gateways: | |
- frontend-gateway | |
http: | |
- route: | |
- destination: | |
host: frontend | |
port: | |
number: 80 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment