#!/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