在 K8S 中快速部署 Redis Cluster & Redisinsight
2022-01-24 14:47
796 查看
Redis Cluster
部署
使用
Bitnami helm chart在 K8S
redis命名空间中一键部署
Redis cluster。
helm repo add bitnami https://charts.bitnami.com/bitnami helm install -n redis staging bitnami/redis-cluster
查看随机生成的 Redis 密码
记住
helm chart deployment将为
Redis cluster生成一个随机密码。您可以通过以下命令行查看密码:
export REDIS_PASSWORD=$(kubectl get secret --namespace redis staging-redis-cluster -o jsonpath="{.data.redis-password}" | base64 --decode)
自定义 values.yaml
为什么要自定义?因为默认的
Redis cluster helm chart配置可能不是您用例的最佳配置。
官方默认配置:
制作
values.yaml的本地副本。您可以修改
values.yaml中的内容,并通过运行以下命令将配置更改应用到
Redis cluster:
helm upgrade -n redis -f values.yaml staging
values.yaml中有很多配置可以自定义。下面是一个简单示例:
cluster: init: true ## nodes:是包括副本在内的节点总数。 ## 这意味着将有 3 个主节点和 3 个副本节点 ##(由于 replicas 默认设置为 1,每个主节点将有 1 个副本)。 ## 因此,nodes = numberOfMasterNodes + numberOfMasterNodes * replicas nodes: 6 replicas: 1
Redisinsight
通过 Redisinsight 访问管理 Redis 集群
尽管我们非常乐意使用
redis-cli命令行工具与
Redis集群进行交互,而且效率很高。但使用
Web UI来实现同样的效果更加直观和高效。我们选择使用由
RedisLab开发的
redisinsight。
Web UI可以作为
Deployment部署到
K8S中。 以下是
RedisLab官方文档提供的稍微修改过的版本。主要区别在于增加了
PVC(持久卷声明),这样配置就不会因为重启而丢失:
--- apiVersion: v1 kind: PersistentVolumeClaim metadata: name: redisinsight-pv-claim labels: app: redisinsight namespace: redis spec: accessModes: - ReadWriteOnce resources: requests: storage: 1Gi --- apiVersion: apps/v1 kind: Deployment metadata: name: redisinsight namespace: redis labels: app: redisinsight spec: replicas: 1 selector: matchLabels: app: redisinsight template: metadata: labels: app: redisinsight spec: containers: - name: redisinsight image: redislabs/redisinsight:1.9.0 imagePullPolicy: IfNotPresent securityContext: runAsUser: 0 volumeMounts: - name: db mountPath: /db ports: - containerPort: 8001 protocol: TCP volumes: - name: db persistentVolumeClaim: claimName: redisinsight-pv-claim
将上述
YAML保存到
redisinsight.yaml中,通过运行以下命令将其部署到
K8S中:
kubectl apply -f redisinsight.yaml
部署完成后,运行端口转发:
kubectl port-forward deployment/redisinsight -n redis 8001
然后,您可以通过在
Web浏览器中打开
http://localhost:8001来访问
redisinsight Web UI。 您可以在
UI中单击
Connect to a Redis Database按钮,将显示以下弹出窗口:
Host将是
K8S控制台中可用的
redis cluster service的
IP值。
Port为默认的
redis端口
6379。
Username默认值为
default。
Name可以是你选择的任何名字。如前一节所述,需要通过
kubectl命令行从
config map中检索密码。点击
ADD REDIS DATABASE按钮后,它会提示你选择所有或任何一个
Redis cluster成员作为种子节点连接到集群。你可以选择全部或其中任何一个。一旦连接配置完成,你应该能够访问一个功能齐全的
web UI来查看和管理你刚刚安装的
Redis cluster。
正如您在上面的屏幕截图中看到的那样,我们刚刚配置的
Redis集群中有
3个主节点和
3个从节点。它还显示每个分区中有多少
key以及正在使用多少
memory。
更多
在 K8S 中快速部署 Redis Cluster & Redisinsight
公众号:黑客下午茶
相关文章推荐
- K8S 上部署 Redis-cluster 三主三从 集群
- redis演练(9) redis Cluster 集群快速部署&failover情况
- 【Redis】- Redis 4.x Cluster 快速部署
- Redis Cluster部署、管理和测试
- Docker方式部署redis-cluster
- redis数据库快速部署
- 如何用docker部署redis cluster
- 开发阶段,将SpringBoot应用快速部署到K8S
- Redis sentinel & cluster 原理分析
- redis集群部署(redis-cluster)
- redis-cluster部署实例
- Redis安装部署&&客户端管理工具使用&&.net客户端测试
- redis —主从&&集群(CLUSTER)
- Centos 7/8 部署Redis Cluster
- redis快速部署
- redis部署bug问题解决:CLUSTERDOWN Hash slot not served
- openstack heat部署redis_cluster
- 在K8s上部署Redis 集群
- MariaDB Galera Cluster 部署(如何快速部署MariaDB集群)
- 使用kubeadm快速部署k8s集群