Make namespace and toleration configurable
This commit is contained in:
parent
85242bffd9
commit
74c34776dd
14 changed files with 18 additions and 66 deletions
|
@ -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 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).
|
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
|
This will build and deploy the application. If you need to rebuild the images
|
||||||
automatically as you refactor the code, run `skaffold dev` command.
|
automatically as you refactor the code, run `skaffold dev` command.
|
||||||
|
|
|
@ -27,6 +27,10 @@ TAG="${TAG:?TAG env variable must be specified}"
|
||||||
REPO_PREFIX="${REPO_PREFIX:?REPO_PREFIX env variable must be specified}"
|
REPO_PREFIX="${REPO_PREFIX:?REPO_PREFIX env variable must be specified}"
|
||||||
DOMAIN="${DOMAIN:?DOMAIN env variable must be specified}"
|
DOMAIN="${DOMAIN:?DOMAIN env variable must be specified}"
|
||||||
OUT_DIR="${OUT_DIR:-${SCRIPTDIR}/../release}"
|
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() {
|
print_license_header() {
|
||||||
cat "${SCRIPTDIR}/license_header.txt"
|
cat "${SCRIPTDIR}/license_header.txt"
|
||||||
|
@ -79,9 +83,20 @@ mk_kubernetes_manifests() {
|
||||||
done
|
done
|
||||||
|
|
||||||
# insert node selector
|
# insert node selector
|
||||||
pattern="^(\s*)nodeSelector:"
|
if [ ${NODE_SELECTOR_KEY} != "-" ] && [ ${NODE_SELECTOR_VALUE} != "-" ]
|
||||||
replace="\1nodeSelector: \n\1 dedicated: demo-env"
|
then
|
||||||
out_manifest="$(gsed -r "s|$pattern|$replace|g" <(echo "${out_manifest}") )"
|
pattern="^(\s*)nodeSelector:"
|
||||||
|
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
|
# substitude loadgenerator port: 8089 -> 80
|
||||||
pattern="^(\s*)port:\s+8089(\s*)"
|
pattern="^(\s*)port:\s+8089(\s*)"
|
||||||
|
|
|
@ -16,7 +16,6 @@ apiVersion: apps/v1
|
||||||
kind: Deployment
|
kind: Deployment
|
||||||
metadata:
|
metadata:
|
||||||
name: adservice
|
name: adservice
|
||||||
namespace: demo-env
|
|
||||||
spec:
|
spec:
|
||||||
selector:
|
selector:
|
||||||
matchLabels:
|
matchLabels:
|
||||||
|
@ -28,9 +27,6 @@ spec:
|
||||||
spec:
|
spec:
|
||||||
terminationGracePeriodSeconds: 5
|
terminationGracePeriodSeconds: 5
|
||||||
tolerations:
|
tolerations:
|
||||||
- key: dedicated
|
|
||||||
operator: Equal
|
|
||||||
value: demo-env
|
|
||||||
nodeSelector:
|
nodeSelector:
|
||||||
containers:
|
containers:
|
||||||
- name: server
|
- name: server
|
||||||
|
@ -69,7 +65,6 @@ apiVersion: v1
|
||||||
kind: Service
|
kind: Service
|
||||||
metadata:
|
metadata:
|
||||||
name: adservice
|
name: adservice
|
||||||
namespace: demo-env
|
|
||||||
spec:
|
spec:
|
||||||
type: ClusterIP
|
type: ClusterIP
|
||||||
selector:
|
selector:
|
||||||
|
|
|
@ -16,7 +16,6 @@ apiVersion: apps/v1
|
||||||
kind: Deployment
|
kind: Deployment
|
||||||
metadata:
|
metadata:
|
||||||
name: cartservice
|
name: cartservice
|
||||||
namespace: demo-env
|
|
||||||
spec:
|
spec:
|
||||||
selector:
|
selector:
|
||||||
matchLabels:
|
matchLabels:
|
||||||
|
@ -28,9 +27,6 @@ spec:
|
||||||
spec:
|
spec:
|
||||||
terminationGracePeriodSeconds: 5
|
terminationGracePeriodSeconds: 5
|
||||||
tolerations:
|
tolerations:
|
||||||
- key: dedicated
|
|
||||||
operator: Equal
|
|
||||||
value: demo-env
|
|
||||||
nodeSelector:
|
nodeSelector:
|
||||||
containers:
|
containers:
|
||||||
- name: server
|
- name: server
|
||||||
|
@ -65,7 +61,6 @@ apiVersion: v1
|
||||||
kind: Service
|
kind: Service
|
||||||
metadata:
|
metadata:
|
||||||
name: cartservice
|
name: cartservice
|
||||||
namespace: demo-env
|
|
||||||
spec:
|
spec:
|
||||||
type: ClusterIP
|
type: ClusterIP
|
||||||
selector:
|
selector:
|
||||||
|
|
|
@ -16,7 +16,6 @@ apiVersion: apps/v1
|
||||||
kind: Deployment
|
kind: Deployment
|
||||||
metadata:
|
metadata:
|
||||||
name: checkoutservice
|
name: checkoutservice
|
||||||
namespace: demo-env
|
|
||||||
spec:
|
spec:
|
||||||
selector:
|
selector:
|
||||||
matchLabels:
|
matchLabels:
|
||||||
|
@ -27,9 +26,6 @@ spec:
|
||||||
app: checkoutservice
|
app: checkoutservice
|
||||||
spec:
|
spec:
|
||||||
tolerations:
|
tolerations:
|
||||||
- key: dedicated
|
|
||||||
operator: Equal
|
|
||||||
value: demo-env
|
|
||||||
nodeSelector:
|
nodeSelector:
|
||||||
containers:
|
containers:
|
||||||
- name: server
|
- name: server
|
||||||
|
@ -76,7 +72,6 @@ apiVersion: v1
|
||||||
kind: Service
|
kind: Service
|
||||||
metadata:
|
metadata:
|
||||||
name: checkoutservice
|
name: checkoutservice
|
||||||
namespace: demo-env
|
|
||||||
spec:
|
spec:
|
||||||
type: ClusterIP
|
type: ClusterIP
|
||||||
selector:
|
selector:
|
||||||
|
|
|
@ -16,7 +16,6 @@ apiVersion: apps/v1
|
||||||
kind: Deployment
|
kind: Deployment
|
||||||
metadata:
|
metadata:
|
||||||
name: currencyservice
|
name: currencyservice
|
||||||
namespace: demo-env
|
|
||||||
spec:
|
spec:
|
||||||
selector:
|
selector:
|
||||||
matchLabels:
|
matchLabels:
|
||||||
|
@ -27,9 +26,6 @@ spec:
|
||||||
app: currencyservice
|
app: currencyservice
|
||||||
spec:
|
spec:
|
||||||
tolerations:
|
tolerations:
|
||||||
- key: dedicated
|
|
||||||
operator: Equal
|
|
||||||
value: demo-env
|
|
||||||
nodeSelector:
|
nodeSelector:
|
||||||
terminationGracePeriodSeconds: 5
|
terminationGracePeriodSeconds: 5
|
||||||
containers:
|
containers:
|
||||||
|
@ -65,7 +61,6 @@ apiVersion: v1
|
||||||
kind: Service
|
kind: Service
|
||||||
metadata:
|
metadata:
|
||||||
name: currencyservice
|
name: currencyservice
|
||||||
namespace: demo-env
|
|
||||||
spec:
|
spec:
|
||||||
type: ClusterIP
|
type: ClusterIP
|
||||||
selector:
|
selector:
|
||||||
|
|
|
@ -16,7 +16,6 @@ apiVersion: apps/v1
|
||||||
kind: Deployment
|
kind: Deployment
|
||||||
metadata:
|
metadata:
|
||||||
name: emailservice
|
name: emailservice
|
||||||
namespace: demo-env
|
|
||||||
spec:
|
spec:
|
||||||
selector:
|
selector:
|
||||||
matchLabels:
|
matchLabels:
|
||||||
|
@ -27,9 +26,6 @@ spec:
|
||||||
app: emailservice
|
app: emailservice
|
||||||
spec:
|
spec:
|
||||||
tolerations:
|
tolerations:
|
||||||
- key: dedicated
|
|
||||||
operator: Equal
|
|
||||||
value: demo-env
|
|
||||||
nodeSelector:
|
nodeSelector:
|
||||||
terminationGracePeriodSeconds: 5
|
terminationGracePeriodSeconds: 5
|
||||||
containers:
|
containers:
|
||||||
|
@ -64,7 +60,6 @@ apiVersion: v1
|
||||||
kind: Service
|
kind: Service
|
||||||
metadata:
|
metadata:
|
||||||
name: emailservice
|
name: emailservice
|
||||||
namespace: demo-env
|
|
||||||
spec:
|
spec:
|
||||||
type: ClusterIP
|
type: ClusterIP
|
||||||
selector:
|
selector:
|
||||||
|
|
|
@ -16,7 +16,6 @@ apiVersion: apps/v1
|
||||||
kind: Deployment
|
kind: Deployment
|
||||||
metadata:
|
metadata:
|
||||||
name: frontend
|
name: frontend
|
||||||
namespace: demo-env
|
|
||||||
spec:
|
spec:
|
||||||
selector:
|
selector:
|
||||||
matchLabels:
|
matchLabels:
|
||||||
|
@ -29,9 +28,6 @@ spec:
|
||||||
sidecar.istio.io/rewriteAppHTTPProbers: "true"
|
sidecar.istio.io/rewriteAppHTTPProbers: "true"
|
||||||
spec:
|
spec:
|
||||||
tolerations:
|
tolerations:
|
||||||
- key: dedicated
|
|
||||||
operator: Equal
|
|
||||||
value: demo-env
|
|
||||||
nodeSelector:
|
nodeSelector:
|
||||||
containers:
|
containers:
|
||||||
- name: server
|
- name: server
|
||||||
|
@ -92,7 +88,6 @@ apiVersion: v1
|
||||||
kind: Service
|
kind: Service
|
||||||
metadata:
|
metadata:
|
||||||
name: frontend
|
name: frontend
|
||||||
namespace: demo-env
|
|
||||||
spec:
|
spec:
|
||||||
type: ClusterIP
|
type: ClusterIP
|
||||||
selector:
|
selector:
|
||||||
|
@ -106,7 +101,6 @@ apiVersion: v1
|
||||||
kind: Service
|
kind: Service
|
||||||
metadata:
|
metadata:
|
||||||
name: frontend-external
|
name: frontend-external
|
||||||
namespace: demo-env
|
|
||||||
annotations:
|
annotations:
|
||||||
service.beta.kubernetes.io/aws-load-balancer-internal: 0.0.0.0/0
|
service.beta.kubernetes.io/aws-load-balancer-internal: 0.0.0.0/0
|
||||||
service.beta.kubernetes.io/aws-load-balancer-healthcheck-interval: "5"
|
service.beta.kubernetes.io/aws-load-balancer-healthcheck-interval: "5"
|
||||||
|
|
|
@ -15,7 +15,6 @@ apiVersion: apps/v1
|
||||||
kind: Deployment
|
kind: Deployment
|
||||||
metadata:
|
metadata:
|
||||||
name: loadgenerator
|
name: loadgenerator
|
||||||
namespace: demo-env
|
|
||||||
spec:
|
spec:
|
||||||
selector:
|
selector:
|
||||||
matchLabels:
|
matchLabels:
|
||||||
|
@ -29,9 +28,6 @@ spec:
|
||||||
sidecar.istio.io/rewriteAppHTTPProbers: "true"
|
sidecar.istio.io/rewriteAppHTTPProbers: "true"
|
||||||
spec:
|
spec:
|
||||||
tolerations:
|
tolerations:
|
||||||
- key: dedicated
|
|
||||||
operator: Equal
|
|
||||||
value: demo-env
|
|
||||||
nodeSelector:
|
nodeSelector:
|
||||||
terminationGracePeriodSeconds: 5
|
terminationGracePeriodSeconds: 5
|
||||||
restartPolicy: Always
|
restartPolicy: Always
|
||||||
|
@ -57,7 +53,6 @@ apiVersion: v1
|
||||||
kind: Service
|
kind: Service
|
||||||
metadata:
|
metadata:
|
||||||
name: loadgenerator
|
name: loadgenerator
|
||||||
namespace: demo-env
|
|
||||||
annotations:
|
annotations:
|
||||||
service.beta.kubernetes.io/aws-load-balancer-internal: 0.0.0.0/0
|
service.beta.kubernetes.io/aws-load-balancer-internal: 0.0.0.0/0
|
||||||
service.beta.kubernetes.io/aws-load-balancer-healthcheck-interval: "5"
|
service.beta.kubernetes.io/aws-load-balancer-healthcheck-interval: "5"
|
||||||
|
|
|
@ -16,7 +16,6 @@ apiVersion: apps/v1
|
||||||
kind: Deployment
|
kind: Deployment
|
||||||
metadata:
|
metadata:
|
||||||
name: paymentservice
|
name: paymentservice
|
||||||
namespace: demo-env
|
|
||||||
spec:
|
spec:
|
||||||
selector:
|
selector:
|
||||||
matchLabels:
|
matchLabels:
|
||||||
|
@ -27,9 +26,6 @@ spec:
|
||||||
app: paymentservice
|
app: paymentservice
|
||||||
spec:
|
spec:
|
||||||
tolerations:
|
tolerations:
|
||||||
- key: dedicated
|
|
||||||
operator: Equal
|
|
||||||
value: demo-env
|
|
||||||
nodeSelector:
|
nodeSelector:
|
||||||
terminationGracePeriodSeconds: 5
|
terminationGracePeriodSeconds: 5
|
||||||
containers:
|
containers:
|
||||||
|
@ -58,7 +54,6 @@ apiVersion: v1
|
||||||
kind: Service
|
kind: Service
|
||||||
metadata:
|
metadata:
|
||||||
name: paymentservice
|
name: paymentservice
|
||||||
namespace: demo-env
|
|
||||||
spec:
|
spec:
|
||||||
type: ClusterIP
|
type: ClusterIP
|
||||||
selector:
|
selector:
|
||||||
|
|
|
@ -16,7 +16,6 @@ apiVersion: apps/v1
|
||||||
kind: Deployment
|
kind: Deployment
|
||||||
metadata:
|
metadata:
|
||||||
name: productcatalogservice
|
name: productcatalogservice
|
||||||
namespace: demo-env
|
|
||||||
spec:
|
spec:
|
||||||
selector:
|
selector:
|
||||||
matchLabels:
|
matchLabels:
|
||||||
|
@ -27,9 +26,6 @@ spec:
|
||||||
app: productcatalogservice
|
app: productcatalogservice
|
||||||
spec:
|
spec:
|
||||||
tolerations:
|
tolerations:
|
||||||
- key: dedicated
|
|
||||||
operator: Equal
|
|
||||||
value: demo-env
|
|
||||||
nodeSelector:
|
nodeSelector:
|
||||||
terminationGracePeriodSeconds: 5
|
terminationGracePeriodSeconds: 5
|
||||||
containers:
|
containers:
|
||||||
|
@ -65,7 +61,6 @@ apiVersion: v1
|
||||||
kind: Service
|
kind: Service
|
||||||
metadata:
|
metadata:
|
||||||
name: productcatalogservice
|
name: productcatalogservice
|
||||||
namespace: demo-env
|
|
||||||
spec:
|
spec:
|
||||||
type: ClusterIP
|
type: ClusterIP
|
||||||
selector:
|
selector:
|
||||||
|
|
|
@ -16,7 +16,6 @@ apiVersion: apps/v1
|
||||||
kind: Deployment
|
kind: Deployment
|
||||||
metadata:
|
metadata:
|
||||||
name: recommendationservice
|
name: recommendationservice
|
||||||
namespace: demo-env
|
|
||||||
spec:
|
spec:
|
||||||
selector:
|
selector:
|
||||||
matchLabels:
|
matchLabels:
|
||||||
|
@ -27,9 +26,6 @@ spec:
|
||||||
app: recommendationservice
|
app: recommendationservice
|
||||||
spec:
|
spec:
|
||||||
tolerations:
|
tolerations:
|
||||||
- key: dedicated
|
|
||||||
operator: Equal
|
|
||||||
value: demo-env
|
|
||||||
nodeSelector:
|
nodeSelector:
|
||||||
terminationGracePeriodSeconds: 5
|
terminationGracePeriodSeconds: 5
|
||||||
containers:
|
containers:
|
||||||
|
@ -68,7 +64,6 @@ apiVersion: v1
|
||||||
kind: Service
|
kind: Service
|
||||||
metadata:
|
metadata:
|
||||||
name: recommendationservice
|
name: recommendationservice
|
||||||
namespace: demo-env
|
|
||||||
spec:
|
spec:
|
||||||
type: ClusterIP
|
type: ClusterIP
|
||||||
selector:
|
selector:
|
||||||
|
|
|
@ -16,7 +16,6 @@ apiVersion: apps/v1
|
||||||
kind: Deployment
|
kind: Deployment
|
||||||
metadata:
|
metadata:
|
||||||
name: redis-cart
|
name: redis-cart
|
||||||
namespace: demo-env
|
|
||||||
spec:
|
spec:
|
||||||
selector:
|
selector:
|
||||||
matchLabels:
|
matchLabels:
|
||||||
|
@ -27,9 +26,6 @@ spec:
|
||||||
app: redis-cart
|
app: redis-cart
|
||||||
spec:
|
spec:
|
||||||
tolerations:
|
tolerations:
|
||||||
- key: dedicated
|
|
||||||
operator: Equal
|
|
||||||
value: demo-env
|
|
||||||
nodeSelector:
|
nodeSelector:
|
||||||
containers:
|
containers:
|
||||||
- name: redis
|
- name: redis
|
||||||
|
@ -62,7 +58,6 @@ apiVersion: v1
|
||||||
kind: Service
|
kind: Service
|
||||||
metadata:
|
metadata:
|
||||||
name: redis-cart
|
name: redis-cart
|
||||||
namespace: demo-env
|
|
||||||
spec:
|
spec:
|
||||||
type: ClusterIP
|
type: ClusterIP
|
||||||
selector:
|
selector:
|
||||||
|
|
|
@ -16,7 +16,6 @@ apiVersion: apps/v1
|
||||||
kind: Deployment
|
kind: Deployment
|
||||||
metadata:
|
metadata:
|
||||||
name: shippingservice
|
name: shippingservice
|
||||||
namespace: demo-env
|
|
||||||
spec:
|
spec:
|
||||||
selector:
|
selector:
|
||||||
matchLabels:
|
matchLabels:
|
||||||
|
@ -27,9 +26,6 @@ spec:
|
||||||
app: shippingservice
|
app: shippingservice
|
||||||
spec:
|
spec:
|
||||||
tolerations:
|
tolerations:
|
||||||
- key: dedicated
|
|
||||||
operator: Equal
|
|
||||||
value: demo-env
|
|
||||||
nodeSelector:
|
nodeSelector:
|
||||||
containers:
|
containers:
|
||||||
- name: server
|
- name: server
|
||||||
|
@ -65,7 +61,6 @@ apiVersion: v1
|
||||||
kind: Service
|
kind: Service
|
||||||
metadata:
|
metadata:
|
||||||
name: shippingservice
|
name: shippingservice
|
||||||
namespace: demo-env
|
|
||||||
spec:
|
spec:
|
||||||
type: ClusterIP
|
type: ClusterIP
|
||||||
selector:
|
selector:
|
||||||
|
|
Loading…
Add table
Reference in a new issue