diff --git a/playbook/roles/flagger-loadtester/files/setup.sh b/playbook/roles/flagger-loadtester/files/setup.sh index eb42a60f..e55dfa83 100644 --- a/playbook/roles/flagger-loadtester/files/setup.sh +++ b/playbook/roles/flagger-loadtester/files/setup.sh @@ -1,7 +1,47 @@ #!/bin/bash set -x -helm repo add flagger https://flagger.app -kubectl create ns loadtester || true -helm upgrade -i flagger-loadtester flagger/loadtester --namespace=loadtester +# 检查参数是否为空 +check_not_empty() { + if [[ -z $1 ]]; then + echo "Error: $2 is empty. Please provide a value." + exit 1 + fi +} + +# 检查参数是否为空 +check_not_empty "$1" "DOMAIN" && DOMAIN=$3 + +helm repo add flagger https://flagger.app +kubectl create ns monitoring || true +helm upgrade -i flagger-loadtester flagger/loadtester --namespace=monitoring + +cat > flagger-loadtester-ingress.yaml << EOF +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + annotations: + nginx.ingress.kubernetes.io/ssl-redirect: "true" + name: flagger + namespace: monitoring +spec: + ingressClassName: nginx + rules: + - host: flagger-loadtester.${DOMAIN} + http: + paths: + - backend: + service: + name: flagger-loadtester + port: + number: 80 + path: / + pathType: Prefix + tls: + - hosts: + - flagger-loadtester.${DOMAIN} + secretName: obs-tls +EOF + +kubectl apply -f flagger-loadtester-ingress.yaml diff --git a/playbook/roles/flagger-loadtester/tasks/main.yml b/playbook/roles/flagger-loadtester/tasks/main.yml index 6f019800..803e4ebe 100755 --- a/playbook/roles/flagger-loadtester/tasks/main.yml +++ b/playbook/roles/flagger-loadtester/tasks/main.yml @@ -1,4 +1,4 @@ - name: Setup Loadtester Server - script: files/setup.sh + script: files/setup.sh {{ domain }} when: inventory_hostname in groups[group]