如何在 Kubernetes 上部署 Redis 集群

云计算
Redis 是一个功能强大、用途广泛的开源平台,可以支持广泛的用例,包括作为主数据库运行、充当消息代理或缓存网站内容。

Redis 是一个功能强大、用途广泛的开源平台,可以支持广泛的用例,包括作为主数据库运行、充当消息代理或缓存网站内容。

当您在 Kubernetes (K8) 上运行 Redis 时,该平台会变得更加强大。在 Kubernetes 上安装 Redis 可以简化部署,提高可靠性和性能。

在 Kubernetes 上部署 Redis 的先决条件

在开始 在 Kubernetes 上部署 Redis 的过程之前,您需要满足以下条件:

  • Kubernetes 集群。但任何现代 Kubernetes 发行版都应支持 Redis。
  • Helm。使用 Kubernetes 的包管理器 Helm 安装 Redis。如果您的系统上尚未安装 Helm,请参阅 Helm 文档以获取安装选项。
  • 基本熟悉 Kubernetes。您无需成为 K8s 专家即可在 Kubernetes 上安装 Redis。但是你应该对 kubectl 和 Helm 一定的了解。

在 Kubernetes 上部署 Redis

此示例使用 Redis Helm。

步骤 1

安装 Redis Helm 。

helm install my-release oci://registry-1.docker.io/bitnamicharts/redis-cluster

步骤 2

验证 Redis Pod 是否正在运行。Redis Pod 将在完成 Helm chart 安装后自动启动。要验证 Pod 是否已成功启动,请运行以下命令。

kubectl get pods --all-namespaces

输出应包含 Redis Pod 列表,如下所示。

NAMESPACE     NAME                                      READY   STATUS              RESTARTS       AGE

default       my-release-redis-cluster-2                0/1     ContainerCreating   0              34s

default       my-release-redis-cluster-5                0/1     ContainerCreating   0              34s

default       my-release-redis-cluster-1                0/1     ContainerCreating   0              34s

default       my-release-redis-cluster-0                0/1     ContainerCreating   0              34s

default       my-release-redis-cluster-4                0/1     ContainerCreating   0              34s

default       my-release-redis-cluster-3                0/1     ContainerCreating   0              34s

在输出中,Pod 仍处于 ContainerCreating 状态。如果您等待一两分钟并再次获取 Pod 列表,您应该会看到它们已转换为正在运行。

NAMESPACE     NAME                                      READY   STATUS              RESTARTS       AGE

default       my-release-redis-cluster-5                1/1     Running             0              3m16s

default       my-release-redis-cluster-1                1/1     Running             0              3m16s

default       my-release-redis-cluster-4                1/1     Running             0              3m16s

default       my-release-redis-cluster-0                1/1     Running             0              3m16s

default       my-release-redis-cluster-2                1/1     Running             0              3m16s

default       my-release-redis-cluster-3                1/1     Running             0              3m16s

Pod 需要处于 Running 状态,然后才能继续连接到 Redis 集群。

步骤 3

将集群密码导出为环境变量以连接到新安装的 Redis 集群

export REDIS_PASSWORD=$(kubectl get secret --namespace "default" my-release-redis-cluster -o jsonpath="{.data.redis-password}" | base64 -d)

步骤 4

运行此命令以启动新容器以托管 Redis 客户端。这将启动容器并自动打开其中的 Bash shell。

kubectl run --namespace default my-release-redis-cluster-client --rm --tty -i --restart='Never' \

 --env REDIS_PASSWORD=$REDIS_PASSWORD \

--image docker.io/bitnami/redis-cluster:7.2.4-debian-12-r11 -- bash

步骤 5

从该位置输入以下命令以完成与群集的连接。

redis-cli -c -h my-release-redis-cluster -a $REDIS_PASSWORD

现在,您处于命令提示符处,您可以在其中与 Redis 集群进行交互。例如,如果运行命令 ,则应看到如下所示的输出。CLUSTER INFO

my-release-redis-cluster:6379> CLUSTER INFO

cluster_state:ok

cluster_slots_assigned:16384

cluster_slots_ok:16384

cluster_slots_pfail:0

cluster_slots_fail:0

cluster_known_nodes:6

cluster_size:3

cluster_current_epoch:6

cluster_my_epoch:1

cluster_stats_messages_ping_sent:473

cluster_stats_messages_pong_sent:475


责任编辑:华轩 来源: IT微工场
相关推荐

2021-12-02 08:00:00

Kubernetes集群容器

2021-03-17 10:05:42

KubernetesRedis数据库

2021-12-03 23:21:45

数据库MySQLKubernetes

2021-07-20 08:00:00

集群Elasticsear工具

2021-09-02 08:02:50

深度学习Kubernetes集群管理

2021-03-04 13:10:32

KubernetesRedisLinux

2015-10-10 15:56:22

OpenShiftNodeJS部署PaaS

2015-10-23 17:29:24

AtomicOpenStack 应用部署

2021-05-17 14:51:23

链码区块链网络

2024-07-16 09:41:01

2023-06-25 18:53:03

2020-08-25 07:48:17

Kubernetes集群系统

2017-04-27 11:01:00

云计算

2014-07-28 10:13:59

AWS部署APIEC2

2023-09-05 09:32:07

服务器Redis

2019-07-30 10:33:01

2024-04-12 14:22:35

2023-07-29 11:54:44

KuberneteNFS

2009-08-12 10:45:47

部署ASP+Acces
点赞
收藏

51CTO技术栈公众号