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 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.
|
||||
|
|
|
@ -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*)"
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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:
|
||||
|
|
Loading…
Add table
Reference in a new issue