Last active
March 15, 2020 06:09
-
-
Save ihcsim/4b89e43929d98ffd65658356e761f868 to your computer and use it in GitHub Desktop.
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
| # all resource requirements are removed from the deployments | |
| # to ensure better utilization of nodes rsources. | |
| # otherwise, I ended with many nodes that barely utilized 2% of the CPU | |
| # and are unable to host more pods due to their resource requirements. | |
| apiVersion: v1 | |
| kind: Namespace | |
| metadata: | |
| name: emojivoto | |
| --- | |
| apiVersion: v1 | |
| kind: ServiceAccount | |
| metadata: | |
| name: emoji | |
| namespace: emojivoto | |
| --- | |
| apiVersion: v1 | |
| kind: ServiceAccount | |
| metadata: | |
| name: voting | |
| namespace: emojivoto | |
| --- | |
| apiVersion: v1 | |
| kind: ServiceAccount | |
| metadata: | |
| name: web | |
| namespace: emojivoto | |
| --- | |
| apiVersion: v1 | |
| kind: Service | |
| metadata: | |
| name: emoji-svc | |
| namespace: emojivoto | |
| spec: | |
| ports: | |
| - name: grpc | |
| port: 8080 | |
| targetPort: 8080 | |
| selector: | |
| app: emoji-svc | |
| --- | |
| apiVersion: v1 | |
| kind: Service | |
| metadata: | |
| name: voting-svc | |
| namespace: emojivoto | |
| spec: | |
| ports: | |
| - name: grpc | |
| port: 8080 | |
| targetPort: 8080 | |
| selector: | |
| app: voting-svc | |
| --- | |
| apiVersion: v1 | |
| kind: Service | |
| metadata: | |
| name: web-svc | |
| namespace: emojivoto | |
| spec: | |
| ports: | |
| - name: http | |
| port: 80 | |
| targetPort: 8080 | |
| selector: | |
| app: web-svc | |
| type: LoadBalancer | |
| --- | |
| apiVersion: apps/v1 | |
| kind: Deployment | |
| metadata: | |
| name: emoji | |
| namespace: emojivoto | |
| spec: | |
| replicas: 1 | |
| selector: | |
| matchLabels: | |
| app: emoji-svc | |
| template: | |
| metadata: | |
| labels: | |
| app: emoji-svc | |
| spec: | |
| containers: | |
| - env: | |
| - name: GRPC_PORT | |
| value: "8080" | |
| image: buoyantio/emojivoto-emoji-svc:v9 | |
| name: emoji-svc | |
| ports: | |
| - containerPort: 8080 | |
| name: grpc | |
| serviceAccountName: emoji | |
| --- | |
| apiVersion: apps/v1 | |
| kind: Deployment | |
| metadata: | |
| name: vote-bot | |
| namespace: emojivoto | |
| spec: | |
| replicas: 1 | |
| selector: | |
| matchLabels: | |
| app: vote-bot | |
| template: | |
| metadata: | |
| labels: | |
| app: vote-bot | |
| spec: | |
| containers: | |
| - command: | |
| - emojivoto-vote-bot | |
| env: | |
| - name: WEB_HOST | |
| value: web-svc.emojivoto:80 | |
| image: buoyantio/emojivoto-web:v9 | |
| name: vote-bot | |
| --- | |
| apiVersion: apps/v1 | |
| kind: Deployment | |
| metadata: | |
| name: voting | |
| namespace: emojivoto | |
| spec: | |
| replicas: 1 | |
| selector: | |
| matchLabels: | |
| app: voting-svc | |
| template: | |
| metadata: | |
| labels: | |
| app: voting-svc | |
| spec: | |
| containers: | |
| - env: | |
| - name: GRPC_PORT | |
| value: "8080" | |
| image: buoyantio/emojivoto-voting-svc:v9 | |
| name: voting-svc | |
| ports: | |
| - containerPort: 8080 | |
| name: grpc | |
| serviceAccountName: voting | |
| --- | |
| apiVersion: apps/v1 | |
| kind: Deployment | |
| metadata: | |
| name: web | |
| namespace: emojivoto | |
| spec: | |
| replicas: 1 | |
| selector: | |
| matchLabels: | |
| app: web-svc | |
| template: | |
| metadata: | |
| labels: | |
| app: web-svc | |
| spec: | |
| containers: | |
| - env: | |
| - name: WEB_PORT | |
| value: "8080" | |
| - name: EMOJISVC_HOST | |
| value: emoji-svc.emojivoto:8080 | |
| - name: VOTINGSVC_HOST | |
| value: voting-svc.emojivoto:8080 | |
| - name: INDEX_BUNDLE | |
| value: dist/index_bundle.js | |
| image: buoyantio/emojivoto-web:v9 | |
| name: web-svc | |
| ports: | |
| - containerPort: 8080 | |
| name: http | |
| serviceAccountName: web |
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
| #!/bin/bash | |
| linkerd_path="${1:-linkerd}" | |
| linkerd_namespace="${2:-linkerd}" | |
| replicas="${replicas:-5}" | |
| root_dir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )" | |
| # download emojivoto YAML, remove the namespace resource | |
| emojivoto=$(cat "$root_dir"/emojivoto.yaml) | |
| emojivoto=$(echo "$emojivoto" | tail -n +6) | |
| emojins='namespace: emojivoto' | |
| emojivoto="${emojivoto//$emojins/}" | |
| # remove references to namespace in the service DNS, in the containers arguments | |
| emojins='.emojivoto:' | |
| newns=':' | |
| emojivoto="${emojivoto//$emojins/$newns}" | |
| # inject the emojivoto with the Linkerd proxy | |
| emojivoto=$(echo "$emojivoto" | "$linkerd_path" -l "$linkerd_namespace" inject -) | |
| ns_start_index="1" | |
| ns_end_index="50" | |
| for i in $(eval echo "{$ns_start_index..$ns_end_index}"); do | |
| emojins=$linkerd_namespace-emoji-$i | |
| kubectl create ns "$emojins" | |
| echo "$emojivoto" | kubectl apply -n "$emojins" -f - | |
| kubectl -n "$emojins" label deploy/emoji deploy/voting deploy/web deploy/vote-bot app=emojivoto | |
| kubectl -n "$emojins" scale --replicas="$replicas" deploy/emoji deploy/voting deploy/web deploy/vote-bot | |
| echo "" | |
| done | |
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: kustomize.config.k8s.io/v1beta1 | |
| kind: Kustomization | |
| resources: | |
| #- linkerd-edge-19.12.1.yaml | |
| - linkerd-dev.yaml | |
| patchesStrategicMerge: | |
| - resources-and-toleration.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: linkerd-identity | |
| namespace: linkerd | |
| spec: | |
| template: | |
| spec: | |
| nodeSelector: | |
| linkerd.io/control-plane-component: "true" | |
| tolerations: | |
| - key: "linkerd.io/control-plane-component" | |
| operator: "Equal" | |
| value: "true" | |
| effect: "NoSchedule" | |
| containers: | |
| - name: identity | |
| resources: | |
| limits: | |
| cpu: "1" | |
| memory: "250Mi" | |
| requests: | |
| cpu: "100m" | |
| memory: "10Mi" | |
| - name: linkerd-proxy | |
| resources: | |
| limits: | |
| cpu: "1" | |
| memory: "250Mi" | |
| requests: | |
| cpu: "100m" | |
| memory: "20Mi" | |
| --- | |
| apiVersion: apps/v1 | |
| kind: Deployment | |
| metadata: | |
| name: linkerd-controller | |
| namespace: linkerd | |
| spec: | |
| template: | |
| spec: | |
| nodeSelector: | |
| linkerd.io/control-plane-component: "true" | |
| tolerations: | |
| - key: "linkerd.io/control-plane-component" | |
| operator: "Equal" | |
| value: "true" | |
| effect: "NoSchedule" | |
| containers: | |
| - name: public-api | |
| resources: | |
| limits: | |
| cpu: "1" | |
| memory: "250Mi" | |
| requests: | |
| cpu: "100m" | |
| memory: "10Mi" | |
| - name: linkerd-proxy | |
| resources: | |
| limits: | |
| cpu: "1" | |
| memory: "250Mi" | |
| requests: | |
| cpu: "100m" | |
| memory: "20Mi" | |
| --- | |
| apiVersion: apps/v1 | |
| kind: Deployment | |
| metadata: | |
| name: linkerd-destination | |
| namespace: linkerd | |
| spec: | |
| template: | |
| spec: | |
| nodeSelector: | |
| linkerd.io/control-plane-component: "true" | |
| tolerations: | |
| - key: "linkerd.io/control-plane-component" | |
| operator: "Equal" | |
| value: "true" | |
| effect: "NoSchedule" | |
| containers: | |
| - name: destination | |
| resources: | |
| limits: | |
| cpu: "1" | |
| memory: "250Mi" | |
| requests: | |
| cpu: "100m" | |
| memory: "10Mi" | |
| - name: linkerd-proxy | |
| resources: | |
| limits: | |
| cpu: "1" | |
| memory: "250Mi" | |
| requests: | |
| cpu: "100m" | |
| memory: "20Mi" | |
| --- | |
| apiVersion: apps/v1 | |
| kind: Deployment | |
| metadata: | |
| name: linkerd-grafana | |
| namespace: linkerd | |
| spec: | |
| template: | |
| spec: | |
| nodeSelector: | |
| linkerd.io/control-plane-component: "true" | |
| tolerations: | |
| - key: "linkerd.io/control-plane-component" | |
| operator: "Equal" | |
| value: "true" | |
| effect: "NoSchedule" | |
| containers: | |
| - name: grafana | |
| resources: | |
| limits: | |
| cpu: "1" | |
| memory: "250Mi" | |
| requests: | |
| cpu: "100m" | |
| memory: "10Mi" | |
| - name: linkerd-proxy | |
| resources: | |
| limits: | |
| cpu: "1" | |
| memory: "250Mi" | |
| requests: | |
| cpu: "100m" | |
| memory: "20Mi" | |
| --- | |
| apiVersion: apps/v1 | |
| kind: Deployment | |
| metadata: | |
| name: linkerd-web | |
| namespace: linkerd | |
| spec: | |
| template: | |
| spec: | |
| nodeSelector: | |
| linkerd.io/control-plane-component: "true" | |
| tolerations: | |
| - key: "linkerd.io/control-plane-component" | |
| operator: "Equal" | |
| value: "true" | |
| effect: "NoSchedule" | |
| containers: | |
| - name: web | |
| resources: | |
| limits: | |
| cpu: "1" | |
| memory: "250Mi" | |
| requests: | |
| cpu: "100m" | |
| memory: "10Mi" | |
| - name: linkerd-proxy | |
| resources: | |
| limits: | |
| cpu: "1" | |
| memory: "250Mi" | |
| requests: | |
| cpu: "100m" | |
| memory: "20Mi" | |
| --- | |
| apiVersion: apps/v1 | |
| kind: Deployment | |
| metadata: | |
| name: linkerd-prometheus | |
| namespace: linkerd | |
| spec: | |
| template: | |
| spec: | |
| nodeSelector: | |
| linkerd.io/control-plane-component: prometheus | |
| tolerations: | |
| - key: "linkerd.io/control-plane-component" | |
| operator: "Equal" | |
| value: "prometheus" | |
| effect: "NoSchedule" | |
| containers: | |
| - name: prometheus | |
| resources: | |
| requests: | |
| cpu: "1" | |
| memory: "1Gi" | |
| limits: | |
| cpu: "4" | |
| memory: "14Gi" | |
| - name: linkerd-proxy | |
| resources: | |
| limits: | |
| cpu: "1" | |
| memory: "250Mi" | |
| requests: | |
| cpu: "100m" | |
| memory: "20Mi" | |
| --- | |
| apiVersion: apps/v1 | |
| kind: Deployment | |
| metadata: | |
| name: linkerd-proxy-injector | |
| namespace: linkerd | |
| spec: | |
| template: | |
| spec: | |
| nodeSelector: | |
| linkerd.io/control-plane-component: "true" | |
| tolerations: | |
| - key: "linkerd.io/control-plane-component" | |
| operator: "Equal" | |
| value: "true" | |
| effect: "NoSchedule" | |
| containers: | |
| - name: proxy-injector | |
| resources: | |
| limits: | |
| cpu: "1" | |
| memory: "250Mi" | |
| requests: | |
| cpu: "100m" | |
| memory: "10Mi" | |
| - name: linkerd-proxy | |
| resources: | |
| limits: | |
| cpu: "1" | |
| memory: "250Mi" | |
| requests: | |
| cpu: "100m" | |
| memory: "20Mi" | |
| --- | |
| apiVersion: apps/v1 | |
| kind: Deployment | |
| metadata: | |
| name: linkerd-sp-validator | |
| namespace: linkerd | |
| spec: | |
| template: | |
| spec: | |
| nodeSelector: | |
| linkerd.io/control-plane-component: "true" | |
| tolerations: | |
| - key: "linkerd.io/control-plane-component" | |
| operator: "Equal" | |
| value: "true" | |
| effect: "NoSchedule" | |
| containers: | |
| - name: sp-validator | |
| resources: | |
| limits: | |
| cpu: "1" | |
| memory: "250Mi" | |
| requests: | |
| cpu: "100m" | |
| memory: "10Mi" | |
| - name: linkerd-proxy | |
| resources: | |
| limits: | |
| cpu: "1" | |
| memory: "250Mi" | |
| requests: | |
| cpu: "100m" | |
| memory: "20Mi" | |
| --- | |
| apiVersion: apps/v1 | |
| kind: Deployment | |
| metadata: | |
| name: linkerd-tap | |
| namespace: linkerd | |
| spec: | |
| template: | |
| spec: | |
| nodeSelector: | |
| linkerd.io/control-plane-component: "true" | |
| tolerations: | |
| - key: "linkerd.io/control-plane-component" | |
| operator: "Equal" | |
| value: "true" | |
| effect: "NoSchedule" | |
| containers: | |
| - name: tap | |
| resources: | |
| limits: | |
| cpu: "1" | |
| memory: "250Mi" | |
| requests: | |
| cpu: "100m" | |
| memory: "10Mi" | |
| - name: linkerd-proxy | |
| resources: | |
| limits: | |
| cpu: "1" | |
| memory: "250Mi" | |
| requests: | |
| cpu: "100m" | |
| memory: "20Mi" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment