使用loki+promtail+grafana搭建日志监控环境时报错
1 首先本地搭建文件服务系统参考地址简单举例
# 在master节点的操作
# 安装nfs server
sudo apt install -y nfs-kernel-server
# 添加共享配置
cat <<EOF | sudo tee -a /etc/exports
/root/nfs/share0 *(insecure,rw,sync,no_root_squash,no_subtree_check)
EOF
# 启用配置
sudo mkdir -p /root/nfs/share0
sudo exportfs -r
# 验证
sudo exportfs
# /root/nfs/share0
# 在worker节点操作
# 安装nfs client
sudo apt install -y nfs-common
# 验证,查看nfs server上的共享目录,任意master网卡的ip均可
showmount -e 10.0.2.51
# 验证,client端创建的文件在server端可见
sudo mkdir -p /root/nfs/share0mount
sudo mount -t nfs 10.0.2.51:/root/nfs/share0 /root/nfs/share0mount
echo "hello nfs server" | sudo tee /root/nfs/share0mount/test.txt
在centos中搭建NFS Server | Kuboard
2 部署loki的配置文件一直处在CrashLoopBackOff状态,查看pod的容器日志以及描述
Defaulted container "loki-sc-rules" out of: loki-sc-rules, loki
查看具体的报错日志
kubectl logs <pod-name> -c loki
得到报错的结果,根据结果修改问题,这里是在创建pvs时权限存在问题。
3 使用案例时报错:
第一个问题是kiali消息报告“Could not fetch Grafana info. Turning off links to Grafana.”,执行命令kubectl -n istio-system edit configmap kiali编辑kiali的配置,在external_services:下加入:
grafana:
url: "http://grafana.istio-system:3000"
然后删除kiali pod,k8s自动拉起的新pod将使用更新后的配置。
第二个问题是workloads界面的loki异常,执行kubectl get pods命令可以看到loki-0处于pending状态,执行命令kubectl describe pod loki-0可以看到是因为无法绑定pvc而调度失败,执行命令kubectl get pvc -n 可以看到对应的pvc处于pending状态,在前面提到loki是有状态应用,使用statefulset对象进行描述,这意味着loki实例调度到其他节点时必须能够访问之前存储的数据,因此这类数据不能与节点绑定,而应该是可以在不同节点访问的,现在这里的问题就是无法找到可共享的持久化数据的提供者,使用kuboard可以更加直接的看到前面提到的情况,这里也通过在kuboard界面的操作来解决这个问题。要让部署的应用申请搭pvs要开启 nfs服务添加客户端共享的文件路径,添加服务的配置文件,并设置允许访问的主机,启动配置,查看配置信息等完成,如果发现创建容器出错或者容器创建成功,一直重复启动失败,那就是共享路径权限出现问题设置路径权限,其他容器访问该路径时才能创建文件。
4 当打开kaili时出,提示信息没有如此服务时,需要重启或者设置大一点的内存