Kubernetes部署Redis集群教程介绍Kubernetes如何部署Redis集群?Redis 是一种流行的NoSQL 数据库和支持多种抽象数据结构的内存数据存储。这些包括字符串、列表、散列、集合、流等。Redis 提供了访问可变数据结构的语法,允许多个进程以共享方式读取和写入它们。
Redis 集群是一组 Redis 实例,可自动跨节点对数据进行分片。使用集群使用户能够在节点之间拆分他们的数据集,并在某些节点出现故障时继续运行数据库。
如何在Kubernetes上部署Redis集群?本教程将向你展示如何使用 ConfigMap 和 Helm 在 Kubernetes 上部署 Redis 集群。
先决条件
- 由两个或多个节点组成的Kubernetes 集群
- 安装了 Helm 3
- 已安装 kubectl 1.14 或更高版本
--nodes
在start
命令中添加选项来模拟双节点集群:minikube start --nodes 2
使用 ConfigMap 在 Kubernetes 上部署 RedisKubernetes如何部署Redis集群?以下步骤说明了如何配置 Redis 缓存和包含 Redis 实例的 Pod。
- 使用文本编辑器,创建将存储 Redis 配置的 ConfigMap YAML。
nano redis-conf.yaml
2. 在该
data.redis-config
部分中指定你的 Redis 配置。apiVersion: v1
kind: ConfigMap
metadata:
name: test-redis-config
data:
redis-config: |
maxmemory 2mb
maxmemory-policy allkeys-lru
上面的示例配置设置了
maxmemory
指令并告诉 Redis 为数据集使用最大 2 MB 的存储空间。该maxmemory-policy
指令定义了达到内存限制时要应用的过程。allkeys-lru
首先删除最近较少使用的 (LRU) 键。3. 保存文件并退出。
4. 通过应用 YAML 文件创建 ConfigMap。
kubectl apply -f redis-conf.yaml
系统确认操作成功。
文章图片
5. 创建 Redis pod 清单。
nano redis-pod.yaml
6. Kubernetes部署Redis集群教程:指定你的 pod 配置。
apiVersion: v1
kind: Pod
metadata:
name: redis
spec:
containers:
- name: redis
image: redis:5.0.4
command:
- redis-server
- "/redis-master/redis.conf"
env:
- name: MASTER
value: "true"
ports:
- containerPort: 6379
resources:
limits:
cpu: "0.1"
volumeMounts:
- mountPath: /redis-master-data
name: data
- mountPath: /redis-master
name: config
volumes:
- name: data
emptyDir: {}
- name: config
configMap:
name: test-redis-config
items:
- key: redis-config
path: redis.conf
在上面的示例中,清单定义了
config
卷并将其安装在/redis-master
pod 上的目录中。spec.volumes.items
然后,该部分redis-config
将先前创建的 ConfigMap 中的密钥公开为redis.conf
文件。7. 保存文件并退出。
8. 使用kubectl应用 pod 清单。
kubectl apply -f redis-pod.yaml
系统确认pod创建成功。
文章图片
9. 如何在Kubernetes上部署Redis集群?检查pod状态。
kubectl get pod
文章图片
10. 输入创建的 pod
kubectl exec
。kubectl exec -it redis -- redis-cli
Redis 服务器控制台出现:
文章图片
11.使用PING命令检查服务器是否在线。
PING
文章图片
如果服务器与控制台通信,它将
PONG
作为答案返回。注意:部署Bare Metal Cloud 服务器以确保 Redis 集群的高可用性和最高性能。使用起价仅为 0.10 美元/小时的服务器实现可靠的基础架构!
使用 Helm Chart 在 Kubernetes 上部署 RedisKubernetes如何部署Redis集群?Helm 提供了一种使用预制Helm chart设置 Redis 集群的快速方法。
1.添加包含要安装的 Redis 图表的 Helm 存储库。
helm repo add [
repo-name] [
repo-address]
Kubernetes部署Redis集群教程:本文使用 Bitnami 存储库中提供的 Redis 图表。
文章图片
2. 更新本地 Helm 存储库。
helm repo update
文章图片
3.
helm install
用于安装图表。基本命令如下:helm install redis-test bitnami/redis
重要提示:如果你在 Minikube 上安装图表,
CrashLoopBackOff
由于未绑定的数量声明,pod 卡在事件中的情况并不少见。为了防止这种情况,使用--set
选项,并设置persistence.storageClass
到nfs-client
两个吊舱。如何在Kubernetes上部署Redis集群?由于Redis默认部署了非管理卷权限,Redis pod可能无法与服务器通信。通过设置
volumePermissions
为 来解决此问题true
。最终
helm install
命令应如下所示:helm install redis-test --set persistence.storageClass=nfs-client,redis.replicas.persistence.storageClass=nfs-client bitnami/redis --set volumePermissions.enabled=true
文章图片
4. 将Redis密码导出为环境变量。
export REDIS_PASSWORD=$(kubectl get secret --namespace default redis-test -o jsonpath="{.data.redis-password}" | base64 --decode)
5. 创建一个用于访问数据库的 Redis 客户端 pod。
kubectl run --namespace default redis-client --restart='Never'--env REDIS_PASSWORD=$REDIS_PASSWORD--image docker.io/bitnami/redis:6.2.5-debian-10-r63 --command -- sleep infinity
系统确认
redis-client
pod的创建。文章图片
6. 输入客户端 pod
kubectl exec
。kubectl exec --tty -i redis-client --namespace default -- bash
出现客户端控制台。
文章图片
7. 如何在Kubernetes上部署Redis集群?使用以下
redis-cli
命令访问Redis主实例:redis-cli -h redis-test-master -a $REDIS_PASSWORD
显示主实例的控制台。
文章图片
8. 要访问副本,请使用相同的命令,但更改目标。
redis-cli -h redis-test-replicas -a $REDIS_PASSWORD
9. 使用
PING
命令测试与服务器的连接。PING
文章图片
该
PONG
响应确认服务器监听。Kubernetes部署Redis集群教程结论Kubernetes如何部署Redis集群?完成本教程后,你应该知道如何手动配置 Redis 缓存和 Pod,以及如何使用 Helm 部署 Redis。
【如何在Kubernetes上部署Redis集群(详细分布指南)】有关类似于 Redis 的更流行工具,请阅读我们关于最佳数据管理软件的文章。
推荐阅读
- Docker Compose是什么(如何使用Docker Compose?)
- 如何在Windows上安装Yarn(详细安装步骤教程)
- Bash if elif else语句用法教程(Bash如何使用条件语句())
- 如何在S.0 BMC实例上设置沙盒环境(分步指南)
- 如何在Ubuntu 20.04上安装Ruby(详细安装步骤指南)
- SOAP与REST API有哪些区别(哪个更好?)
- Linux中的AWK命令及示例(如何使用AWK())
- Android拍照摄像方向旋转的问题 代码具体解释
- Android中的动画具体解释系列——飞舞的蝴蝶