Make namespace and toleration configurable

This commit is contained in:
Dmitry 2020-07-06 14:19:29 -07:00 committed by Dmitrii Anoshin
parent 85242bffd9
commit 74c34776dd
14 changed files with 18 additions and 66 deletions

View file

@ -137,8 +137,6 @@ We offer the following installation methods:
1. Run `kubectl get nodes` to verify you're connected to “Kubernetes on Docker”.
1. Run `kubectl create ns demo-env` to create a namespace to run the app in.
1. Run `skaffold run` (first time will be slow, it can take ~20 minutes).
This will build and deploy the application. If you need to rebuild the images
automatically as you refactor the code, run `skaffold dev` command.

View file

@ -27,6 +27,10 @@ TAG="${TAG:?TAG env variable must be specified}"
REPO_PREFIX="${REPO_PREFIX:?REPO_PREFIX env variable must be specified}"
DOMAIN="${DOMAIN:?DOMAIN env variable must be specified}"
OUT_DIR="${OUT_DIR:-${SCRIPTDIR}/../release}"
NODE_SELECTOR_KEY="${NODE_SELECTOR_KEY:--}"
NODE_SELECTOR_VALUE="${NODE_SELECTOR_VALUE:--}"
TOLERATION_KEY="${TOLERATION_KEY:--}"
TOLERATION_VALUE="${TOLERATION_VALUE:--}"
print_license_header() {
cat "${SCRIPTDIR}/license_header.txt"
@ -79,9 +83,20 @@ mk_kubernetes_manifests() {
done
# insert node selector
if [ ${NODE_SELECTOR_KEY} != "-" ] && [ ${NODE_SELECTOR_VALUE} != "-" ]
then
pattern="^(\s*)nodeSelector:"
replace="\1nodeSelector: \n\1 dedicated: demo-env"
replace="\1nodeSelector: \n\1 ${NODE_SELECTOR_KEY}: ${NODE_SELECTOR_VALUE}"
out_manifest="$(gsed -r "s|$pattern|$replace|g" <(echo "${out_manifest}") )"
fi
# insert toleration
if [ ${TOLERATION_KEY} != "-" ] && [ ${TOLERATION_VALUE} != "-" ]
then
pattern="^(\s*)tolerations:"
replace="\1tolerations: \n\1- key: ${TOLERATION_KEY}\n\1 operator: Equal\n\1 value: ${TOLERATION_VALUE}"
out_manifest="$(gsed -r "s|$pattern|$replace|g" <(echo "${out_manifest}") )"
fi
# substitude loadgenerator port: 8089 -> 80
pattern="^(\s*)port:\s+8089(\s*)"

View file

@ -16,7 +16,6 @@ apiVersion: apps/v1
kind: Deployment
metadata:
name: adservice
namespace: demo-env
spec:
selector:
matchLabels:
@ -28,9 +27,6 @@ spec:
spec:
terminationGracePeriodSeconds: 5
tolerations:
- key: dedicated
operator: Equal
value: demo-env
nodeSelector:
containers:
- name: server
@ -69,7 +65,6 @@ apiVersion: v1
kind: Service
metadata:
name: adservice
namespace: demo-env
spec:
type: ClusterIP
selector:

View file

@ -16,7 +16,6 @@ apiVersion: apps/v1
kind: Deployment
metadata:
name: cartservice
namespace: demo-env
spec:
selector:
matchLabels:
@ -28,9 +27,6 @@ spec:
spec:
terminationGracePeriodSeconds: 5
tolerations:
- key: dedicated
operator: Equal
value: demo-env
nodeSelector:
containers:
- name: server
@ -65,7 +61,6 @@ apiVersion: v1
kind: Service
metadata:
name: cartservice
namespace: demo-env
spec:
type: ClusterIP
selector:

View file

@ -16,7 +16,6 @@ apiVersion: apps/v1
kind: Deployment
metadata:
name: checkoutservice
namespace: demo-env
spec:
selector:
matchLabels:
@ -27,9 +26,6 @@ spec:
app: checkoutservice
spec:
tolerations:
- key: dedicated
operator: Equal
value: demo-env
nodeSelector:
containers:
- name: server
@ -76,7 +72,6 @@ apiVersion: v1
kind: Service
metadata:
name: checkoutservice
namespace: demo-env
spec:
type: ClusterIP
selector:

View file

@ -16,7 +16,6 @@ apiVersion: apps/v1
kind: Deployment
metadata:
name: currencyservice
namespace: demo-env
spec:
selector:
matchLabels:
@ -27,9 +26,6 @@ spec:
app: currencyservice
spec:
tolerations:
- key: dedicated
operator: Equal
value: demo-env
nodeSelector:
terminationGracePeriodSeconds: 5
containers:
@ -65,7 +61,6 @@ apiVersion: v1
kind: Service
metadata:
name: currencyservice
namespace: demo-env
spec:
type: ClusterIP
selector:

View file

@ -16,7 +16,6 @@ apiVersion: apps/v1
kind: Deployment
metadata:
name: emailservice
namespace: demo-env
spec:
selector:
matchLabels:
@ -27,9 +26,6 @@ spec:
app: emailservice
spec:
tolerations:
- key: dedicated
operator: Equal
value: demo-env
nodeSelector:
terminationGracePeriodSeconds: 5
containers:
@ -64,7 +60,6 @@ apiVersion: v1
kind: Service
metadata:
name: emailservice
namespace: demo-env
spec:
type: ClusterIP
selector:

View file

@ -16,7 +16,6 @@ apiVersion: apps/v1
kind: Deployment
metadata:
name: frontend
namespace: demo-env
spec:
selector:
matchLabels:
@ -29,9 +28,6 @@ spec:
sidecar.istio.io/rewriteAppHTTPProbers: "true"
spec:
tolerations:
- key: dedicated
operator: Equal
value: demo-env
nodeSelector:
containers:
- name: server
@ -92,7 +88,6 @@ apiVersion: v1
kind: Service
metadata:
name: frontend
namespace: demo-env
spec:
type: ClusterIP
selector:
@ -106,7 +101,6 @@ apiVersion: v1
kind: Service
metadata:
name: frontend-external
namespace: demo-env
annotations:
service.beta.kubernetes.io/aws-load-balancer-internal: 0.0.0.0/0
service.beta.kubernetes.io/aws-load-balancer-healthcheck-interval: "5"

View file

@ -15,7 +15,6 @@ apiVersion: apps/v1
kind: Deployment
metadata:
name: loadgenerator
namespace: demo-env
spec:
selector:
matchLabels:
@ -29,9 +28,6 @@ spec:
sidecar.istio.io/rewriteAppHTTPProbers: "true"
spec:
tolerations:
- key: dedicated
operator: Equal
value: demo-env
nodeSelector:
terminationGracePeriodSeconds: 5
restartPolicy: Always
@ -57,7 +53,6 @@ apiVersion: v1
kind: Service
metadata:
name: loadgenerator
namespace: demo-env
annotations:
service.beta.kubernetes.io/aws-load-balancer-internal: 0.0.0.0/0
service.beta.kubernetes.io/aws-load-balancer-healthcheck-interval: "5"

View file

@ -16,7 +16,6 @@ apiVersion: apps/v1
kind: Deployment
metadata:
name: paymentservice
namespace: demo-env
spec:
selector:
matchLabels:
@ -27,9 +26,6 @@ spec:
app: paymentservice
spec:
tolerations:
- key: dedicated
operator: Equal
value: demo-env
nodeSelector:
terminationGracePeriodSeconds: 5
containers:
@ -58,7 +54,6 @@ apiVersion: v1
kind: Service
metadata:
name: paymentservice
namespace: demo-env
spec:
type: ClusterIP
selector:

View file

@ -16,7 +16,6 @@ apiVersion: apps/v1
kind: Deployment
metadata:
name: productcatalogservice
namespace: demo-env
spec:
selector:
matchLabels:
@ -27,9 +26,6 @@ spec:
app: productcatalogservice
spec:
tolerations:
- key: dedicated
operator: Equal
value: demo-env
nodeSelector:
terminationGracePeriodSeconds: 5
containers:
@ -65,7 +61,6 @@ apiVersion: v1
kind: Service
metadata:
name: productcatalogservice
namespace: demo-env
spec:
type: ClusterIP
selector:

View file

@ -16,7 +16,6 @@ apiVersion: apps/v1
kind: Deployment
metadata:
name: recommendationservice
namespace: demo-env
spec:
selector:
matchLabels:
@ -27,9 +26,6 @@ spec:
app: recommendationservice
spec:
tolerations:
- key: dedicated
operator: Equal
value: demo-env
nodeSelector:
terminationGracePeriodSeconds: 5
containers:
@ -68,7 +64,6 @@ apiVersion: v1
kind: Service
metadata:
name: recommendationservice
namespace: demo-env
spec:
type: ClusterIP
selector:

View file

@ -16,7 +16,6 @@ apiVersion: apps/v1
kind: Deployment
metadata:
name: redis-cart
namespace: demo-env
spec:
selector:
matchLabels:
@ -27,9 +26,6 @@ spec:
app: redis-cart
spec:
tolerations:
- key: dedicated
operator: Equal
value: demo-env
nodeSelector:
containers:
- name: redis
@ -62,7 +58,6 @@ apiVersion: v1
kind: Service
metadata:
name: redis-cart
namespace: demo-env
spec:
type: ClusterIP
selector:

View file

@ -16,7 +16,6 @@ apiVersion: apps/v1
kind: Deployment
metadata:
name: shippingservice
namespace: demo-env
spec:
selector:
matchLabels:
@ -27,9 +26,6 @@ spec:
app: shippingservice
spec:
tolerations:
- key: dedicated
operator: Equal
value: demo-env
nodeSelector:
containers:
- name: server
@ -65,7 +61,6 @@ apiVersion: v1
kind: Service
metadata:
name: shippingservice
namespace: demo-env
spec:
type: ClusterIP
selector: