k8sConfigs/efk/refreshTokenForKibana.sh
2025-01-23 01:35:27 +08:00

22 lines
834 B
Bash
Executable File

#!/bin/bash
# 获取 elasticsearch 实例的 Pod 名称
ES_POD=$(microk8s.kubectl get pods -n efk -l app=elasticsearch -o jsonpath='{.items[0].metadata.name}')
echo "ES_POD:" ${ES_POD}
# 进入 Elasticsearch Pod 并生成服务账号 token
microk8s.kubectl exec -n efk $ES_POD -- bin/elasticsearch-service-tokens delete elastic/kibana my-token
TOKEN=$(microk8s.kubectl exec -n efk $ES_POD -- bin/elasticsearch-service-tokens create elastic/kibana my-token | grep 'SERVICE_TOKEN' | awk '{print $NF}')
echo "new TOKEN:" ${TOKEN}
microk8s.kubectl delete deployment kibana -n efk
# 更新 Kibana Deployment YAML 文件
cd $(pwd)
# 将 token 设置为环境变量
sed "s/##TOKEN##/$TOKEN/" kibana-deployment.yaml_tmp > kibana-deployment.yaml
# 删除并重新应用 Kibana Deployment
microk8s.kubectl apply -f kibana-deployment.yaml