我正在我的 Kubernetes minikube 实例上安装 Loki。
当我查看我的豆荚时,我发现三个豆荚中的一个已用完:
default loki-write-0 1/1 Running 0 83m
default loki-write-1 0/1 Pending 0 83m
default loki-write-2 0/1 Pending 0 83m
logs
在 running pod 上给出:
at least 1 live replicas required, could only find 0 - unhealthy instances
describe
在 running pod 上给出:
Readiness probe failed: HTTP probe failed with statuscode: 503
describe
在 dead 豆荚上:
0/1 nodes are available: 1 node(s) didn't match pod anti-affinity rules. preemption: 0/1 nodes are available: 1 No preemption victims found for incoming pod..
如你所见,它需要 3 个 pod,但亲和力无法满足,因为我运行的是 minikube,它是一个节点。
我如何告诉 Loki 仅运行一个实例?
我有这个
variables.yaml
文件指定了一个 pod replication_factor: 1
:
cat values.yaml
loki:
auth_enabled: false
commonConfig:
replication_factor: 1
storage:
bucketNames:
chunks: chunks
ruler: ruler
admin: admin
type: s3
minio:
enabled: true
singleBinary:
replicas: 1
但是正如你所看到的,无论如何它仍然可以制作 3 个豆荚。
我如何告诉它制作一个 pod 并赋予该 pod 亲和力:
nodeSelector:
kubernetes.io/hostname: minikube
这是我用来安装 Loki 的 helm 文件:
helm repo add grafana https://grafana.github.io/helm-charts
helm install --values values.yaml loki grafana/loki
和这里是我首先得到指示的地方。
您在问题中列出的 pod 属于 Loki-write statefulset,它由图表中的不同参数控制,即
write.replicas
(请参阅图表代码中的此参考)。
一旦将此参数更改为 1,应安排写入状态集的单个副本。