Kubernetes 安装Redis集群
2023-09-14 09:08:29 时间
一、Operator
https://github.com/operator-framework/awesome-operators
二、安装Redis集群的operator
# git clone https://github.com/ucloud/redis-cluster-operator.git # kubectl create -f deploy/crds/redis.kun_distributedredisclusters_crd.yaml # kubectl create -f deploy/crds/redis.kun_redisclusterbackups_crd.yaml
以集群模式安装
# kubectl create -f deploy/service_account.yaml # kubectl create -f deploy/cluster/cluster_role.yaml # kubectl create -f deploy/cluster/cluster_role_binding.yaml # kubectl create -f deploy/cluster/operator.yam
可以在service_account和 operator后面加-n 参数指定namespace
三、创建redis集群
kubectl apply -f deploy/example/redis.kun_v1alpha1_distributedrediscluster_cr.yaml
这个yaml文件中使用的资源较高,测试环境可能起不来,可以换一个
kubectl create -f deploy/example/custom-resources.yaml
查看Pod
# kubectl get pods NAME READY STATUS RESTARTS AGE drc-example-distributedrediscluster-0-0 1/1 Running 0 3m33s drc-example-distributedrediscluster-0-1 1/1 Running 0 2m59s drc-example-distributedrediscluster-1-0 1/1 Running 0 3m33s drc-example-distributedrediscluster-1-1 1/1 Running 0 2m54s drc-example-distributedrediscluster-2-0 1/1 Running 0 3m33s drc-example-distributedrediscluster-2-1 1/1 Running 0 2m59s
通过节点 亲和性,确保redis分布在不同节点上
查看service
# kubectl get svc NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE example-distributedrediscluster ClusterIP 10.106.160.212 <none> 6379/TCP,16379/TCP 4m14s example-distributedrediscluster-0 ClusterIP None <none> 6379/TCP,16379/TCP 4m15s example-distributedrediscluster-1 ClusterIP None <none> 6379/TCP,16379/TCP 4m15s example-distributedrediscluster-2 ClusterIP None <none> 6379/TCP,16379/TCP 4m15s
应用程序
四、自定义Redis集群配置
custom-redis.yaml
apiVersion: v1 kind: Secret metadata: annotations: # if your operator run as cluster-scoped, add this annotations redis.kun/scope: cluster-scoped name: mysecret type: Opaque data: password: MWYyZDFlMmU2N2Rm --- apiVersion: redis.kun/v1alpha1 kind: DistributedRedisCluster metadata: annotations: # if your operator run as cluster-scoped, add this annotations redis.kun/scope: cluster-scoped name: example-distributedrediscluster spec: image: redis:5.0.4-alpine masterSize: 3 clusterReplicas: 1 passwordSecret: name: mysecret resources: limits: cpu: 200m memory: 200Mi requests: cpu: 200m memory: 100Mi storage: type: persistent-claim size: 1Gi class: rook-ceph-block deleteClaim: true
修改时区
# kubectl get sts NAME READY AGE drc-example-distributedrediscluster-0 2/2 80m drc-example-distributedrediscluster-1 2/2 80m drc-example-distributedrediscluster-2 2/2 80m
修改statefulset,volumeMounts和volumes
省略其他配置信息
volumeMounts: - mountPath: /usr/share/zoneinfo/Asia/Shanghai name: tz-config - mountPath: /etc/localtime name: tz-config volumes: - hostPath: path: /usr/share/zoneinfo/Asia/Shanghai type: "" name: tz-config
查看
kubectl exec -it drc-example-distributedrediscluster-0-1 -- date Thu Oct 29 16:45:50 CST 2020 redis-cli -a 1f2d1e2e67df
相关文章
- Redis:安装必须劊握好(redis需要安装吗)
- 解决Redis内存不足问题(redis内存不足)
- Redis主备安装全攻略(redis主备安装)
- Centos7安装Redis:一步步搭建Redis服务器(centos7安装redis)
- Linux上Redis的安装与使用(redis安装linux)
- 精通Redis程序设计,构建高性能应用(redis程序设计)
- Redis官方集群,打造高可用高并发数据存储方案。(redis官方集群)
- 攻克Redis,就用鲁班学院(鲁班学院redis面试)
- 菜鸟教程Redis安装快速指南(菜鸟教程 redis安装)
- 自动发现优化Redis性能(自动发现redis)
- 框架中如何使用Redis(框架怎么用redis)
- Redis查询内存占用技巧汇总(查询redis占用命令)
- 监控列表Redis,开启数据安全之旅(监控列表redis)
- 局域网内本地客户端搭建Redis服务(本地客户端连接redis)
- 专用机上安装Redis实现低延迟高吞吐量(专用机安装redis)
- 轻松搭建Yii框架下Redis的安装(yii框架安装redis)
- QPS单台Redis服务器每秒QPS写入性能测试(单台redis每秒写入)
- 安卓手机上快速安装Redis客户端的指南(安卓安装redis客户端)
- 用命令查看Redis键值对的技巧(命令查看redis键值对)
- 如何启动Redis并设置密码(启动redis设置密码)
- 如何快速配置Redis连接(安装好redis怎么连接)
- 灵活利用Redis的默认第一个库(redis 默认第一个库)
- 如何使用非root用户安装Redis(redis非root安装)
- Redis有必要本地安装吗(redis需要本地安装吗)
- Redis 不必安装多个(redis需要安装多个吗)
- Redis解析精要完全指南(redis 详解教程)
- 使用Redis安全加密安装密码保护(redis设置密码并加密)
- 使用Redis集群构建更安全的JWT(redis集群jwt)