默认下载的yanl文件是不带资源配置信息,需要在redis-values.yaml文件中指定资源配置
master:
resources:
requests:
memory: "512Mi"
cpu: "200m"
limits:
memory: "1Gi"
cpu: "500m"
replica:
resources:
requests:
memory: "256Mi"
cpu: "100m"
limits:
memory: "512Mi"
cpu: "200m"
安装时可以指定已经存在的pvc
helm install my-release --set master.persistence.existingClaim=redis/PVC_NAME oci://REGISTRY_NAME/REPOSITORY_NAME/redis --namespace redis
为多个节点指定pvc
如果既需要为 Redis 主节点 (master) 又需要为副本节点 (replica) 指定 PersistentVolumeClaim
(PVC),那么需要同时设置
master.persistence.existingClaim
和 replica.persistence.existingClaim
,当然master、replica可以共用一个pvc,同样这些配置也可以写在yaml文件中。
helm install redis \
--set master.persistence.existingClaim=redis/redis-pvc \
--set replica.persistence.existingClaim=redis/redis-pvc \
oci://registry-1.docker.io/bitnamicharts/redis \
--namespace redis
如果获取了yaml文件到本地可以执行下面的命令
如果 PVC 名称包含命名空间前缀 redis/,请去掉该前缀,因为 PVC 名称不应包含命名空间前缀。
helm install redis \
-f redis-values.yaml \
--set master.persistence.existingClaim=redis-pvc \
--set replica.persistence.existingClaim=redis-pvc \
bitnami/redis \
--namespace redis
总结下 执行install之前需要在redis-values.yaml
中指定master、replica的resource、然后安装的时候指定pvc,当然不指定pvc会系统自动生成。
排查问题
如果出现部署成功但是pod处于pending
或CrashLoopBackOff
,可以查看日志检查错误,同时检查pv、pvc状态及空间分配是否不合理
如果不合理可以删除现有的pv、pvc,注意需要先删pvc再删除pv,
可以先检查卸载掉部署的redis
helm list -n namespace
helm uninstall name -n namespace
检查容器的日志以获取更多信息。可以使用以下命令查看容器日志。排查日志是一项必修课
kubectl logs redis-master-0 -n redis
日志可能会提供有关容器为何失败的更多详细信息。
比如下面的报错
翻阅项目文档会发现
redis重启启动加载数据的时候会提示 :Can’t open the append-only file: Permission denied
这时可以检查redis-values.yaml
文件该字段
可以修改属性为no
appendonly: no
再次执行安装并检查pod状态
root@k8smaster1:~# kubectl get pods -n redis -o wide
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
redis-client 1/1 Running 0 24m 10.244.185.208 k8snode2 <none> <none>
redis-master-0 1/1 Running 0 30m 10.244.249.11 k8snode1 <none> <none>
redis-replicas-0 1/1 Running 0 30m 10.244.185.206 k8snode2 <none> <none>
redis-replicas-1 1/1 Running 0 29m 10.244.249.12 k8snode1 <none> <none>
redis-replicas-2 1/1 Running 0 29m 10.244.185.207 k8snode2 <none> <none>
至此安装完毕!