k8sConfigs/efk_cluster/refreshTokenForKibana.sh
2025-03-24 21:54:05 +08:00

20 lines
825 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-cluster.yaml
# 删除并重新应用 Kibana Deployment
microk8s.kubectl apply -f kibana-cluster.yaml