adding files 2
This commit is contained in:
94
k8s/remediate-three-errors-command-spec.yaml
Normal file
94
k8s/remediate-three-errors-command-spec.yaml
Normal file
@@ -0,0 +1,94 @@
|
||||
version: 0.1
|
||||
component: command
|
||||
timeoutInSeconds: 1200
|
||||
shell: bash
|
||||
failImmediatelyOnError: true
|
||||
|
||||
env:
|
||||
variables:
|
||||
APP_NAMESPACE: kagent-demo
|
||||
CONFIGMAP_NAME: demo-config
|
||||
PAYMENT_DEPLOYMENT: payment-service
|
||||
PAYMENT_CONTAINER: payment-service
|
||||
IMAGE_PULL_SECRET: ocir-secret
|
||||
ORDER_HPA_NAME: order-service
|
||||
ORDER_MIN_REPLICAS: "3"
|
||||
ORDER_MAX_REPLICAS: "8"
|
||||
ORDER_CPU_TARGET: "65"
|
||||
WAIT_TIMEOUT: 300s
|
||||
|
||||
steps:
|
||||
- type: Command
|
||||
name: Fix business ConfigMap
|
||||
command: |
|
||||
kubectl patch configmap "${CONFIGMAP_NAME}" -n "${APP_NAMESPACE}" \
|
||||
--type merge \
|
||||
-p '{
|
||||
"data": {
|
||||
"ORDER_STUCK_REVIEW_MODE": "false",
|
||||
"ORDER_MANUAL_REVIEW_RATE_THRESHOLD": "70",
|
||||
"ORDER_REVENUE_AT_RISK_THRESHOLD": "15000",
|
||||
"PAYMENT_FORCE_TIMEOUT": "false",
|
||||
"INVENTORY_FORCE_OUTAGE": "false"
|
||||
}
|
||||
}'
|
||||
|
||||
kubectl rollout restart deployment/order-service -n "${APP_NAMESPACE}"
|
||||
|
||||
- type: Command
|
||||
name: Fix payment image pull secret
|
||||
command: |
|
||||
kubectl patch deployment "${PAYMENT_DEPLOYMENT}" -n "${APP_NAMESPACE}" \
|
||||
--type merge \
|
||||
-p "{
|
||||
\"spec\": {
|
||||
\"template\": {
|
||||
\"spec\": {
|
||||
\"imagePullSecrets\": [
|
||||
{\"name\": \"${IMAGE_PULL_SECRET}\"}
|
||||
],
|
||||
\"containers\": [
|
||||
{
|
||||
\"name\": \"${PAYMENT_CONTAINER}\",
|
||||
\"imagePullPolicy\": \"IfNotPresent\"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}"
|
||||
|
||||
kubectl rollout restart deployment/"${PAYMENT_DEPLOYMENT}" -n "${APP_NAMESPACE}"
|
||||
|
||||
- type: Command
|
||||
name: Fix order HPA ceiling
|
||||
command: |
|
||||
kubectl patch hpa "${ORDER_HPA_NAME}" -n "${APP_NAMESPACE}" \
|
||||
--type merge \
|
||||
-p "{
|
||||
\"spec\": {
|
||||
\"minReplicas\": ${ORDER_MIN_REPLICAS},
|
||||
\"maxReplicas\": ${ORDER_MAX_REPLICAS},
|
||||
\"metrics\": [
|
||||
{
|
||||
\"type\": \"Resource\",
|
||||
\"resource\": {
|
||||
\"name\": \"cpu\",
|
||||
\"target\": {
|
||||
\"type\": \"Utilization\",
|
||||
\"averageUtilization\": ${ORDER_CPU_TARGET}
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}"
|
||||
|
||||
- type: Command
|
||||
name: Wait and verify remediation
|
||||
command: |
|
||||
kubectl rollout status deployment/order-service -n "${APP_NAMESPACE}" --timeout="${WAIT_TIMEOUT}"
|
||||
kubectl rollout status deployment/"${PAYMENT_DEPLOYMENT}" -n "${APP_NAMESPACE}" --timeout="${WAIT_TIMEOUT}"
|
||||
kubectl get pods -n "${APP_NAMESPACE}" -o wide
|
||||
kubectl get hpa -n "${APP_NAMESPACE}" -o wide
|
||||
kubectl get configmap "${CONFIGMAP_NAME}" -n "${APP_NAMESPACE}" -o yaml
|
||||
Reference in New Issue
Block a user