]# helm version
version.BuildInfo{Version:"v3.11.3", GitCommit:"323249351482b3bbfc9f5004f65d400aa70f9ae7", GitTreeState:"clean", GoVersion:"go1.20.3"}
2.2、仓库配置
2.2.1、官方源配置
helm repo add brigade https://brigadecore.github.io/charts
# 查询仓库
]# helm repo list
NAME URL
brigade https://brigadecore.github.io/charts
]# helm search repo kash
NAME CHART VERSION APP VERSION DESCRIPTION
brigade/kashti 0.7.0 v0.4.0 A Helm chart for Kubernetes
2.2.2、第三方源配置
]# helm repo list
NAME URL
bitnami https://charts.bitnami.com/bitnami
prometheus-community https://prometheus-community.github.io/helm-charts
# 如查询redis
]# helm search repo redis
NAME CHART VERSION APP VERSION DESCRIPTION
bitnami/redis 17.9.37.0.10 Redis(R) is an open source, advanced key-value ...
bitnami/redis-cluster 8.4.37.0.10 Redis(R) is an open source, scalable, distribut...
2.4、helm显示管理
2.4.1、查看chart的信息
]# helm show chart bitnami/redis
annotations:
category: Database
licenses: Apache-2.0
apiVersion: v2
appVersion: 7.0.10
dependencies:
- name: common
repository: https://charts.bitnami.com/bitnami tags:
- bitnami-common
version: 2.x.x
description: Redis(R) is an open source, advanced key-value store. It is often referred
to as a data structure server since keys can contain strings, hashes, lists, sets
and sorted sets.
home: https://github.com/bitnami/charts/tree/main/bitnami/redis
icon: https://bitnami.com/assets/stacks/redis/img/redis-stack-220x234.pngkeywords:
- redis
- keyvalue
- database
maintainers:
- name: Bitnami
url: https://github.com/bitnami/chartsname: redis
sources:
- https://github.com/bitnami/containers/tree/main/bitnami/redis
version: 17.9.3
]# helm show --help
...
Available Commands:
all show all information of the chart
chart show the chart's definition
crds show the chart's CRDs
readme show the chart's README
values show the chart's values
]# helm install my-helm-redis bitnami/redis
NAME: my-helm-redis
LAST DEPLOYED: Thu Apr 1314:08:032023
NAMESPACE: default
STATUS: deployed
REVISION: 1
TEST SUITE: None
NOTES:
CHART NAME: redis
CHART VERSION: 17.9.3
APP VERSION: 7.0.10
** Please be patient while the chart is being deployed **
#1、 redis主从的域名访问
my-helm-redis-master.default.svc.cluster.local for read/write operations (port 6379)
my-helm-redis-replicas.default.svc.cluster.local for read-only operations (port 6379)
#2、 获取运行的登陆密码
export REDIS_PASSWORD=$(kubectl get secret --namespace default my-helm-redis -o jsonpath="{.data.redis-password}" | base64 -d)
To connect to your Redis® server:
# 3、运行一个redis客户端
kubectl run --namespace default redis-client --restart='Never' --env REDIS_PASSWORD=$REDIS_PASSWORD --image docker.io/bitnami/redis:7.0.10-debian-11-r4 --command -- sleep infinity
# 4、进入pod
kubectl exec --tty -i redis-client --namespace default -- bash
# 5、pod连接主从redis服务
REDISCLI_AUTH="$REDIS_PASSWORD" redis-cli -h my-helm-redis-master
REDISCLI_AUTH="$REDIS_PASSWORD" redis-cli -h my-helm-redis-replicas
# 6、要从集群外部连接到数据库,请执行以下命令
kubectl port-forward --namespace default svc/my-helm-redis-master 6379:6379 &
REDISCLI_AUTH="$REDIS_PASSWORD" redis-cli -h 127.0.0.1 -p 6379
3.2.3、查询helm状态
]# helm list
NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION
my-helm-redis default 12023-04-1314:08:03.113305603 +0800 CST deployed redis-17.9.37.0.10
3.2.4、查询redis运行pod状态
]# kubectl get pod
NAME READY STATUS RESTARTS AGE
my-helm-redis-master-00/1 Pending 0 10m
my-helm-redis-replicas-00/1 Pending 0 10m
values.yaml 就是当前redis应用的各种属性的定制
redis]# vi values.yaml
## @section Global parameters
## Global Docker image parameters
## Please, note that this will override the image parameters, including dependencies, configured to use the global value
## Current available global Docker image parameters: imageRegistry, imagePullSecrets and storageClass
##
## @param global.imageRegistry Global Docker image registry
## @param global.imagePullSecrets Global Docker registry secret names as an array
## @param global.storageClass Global StorageClass for Persistent Volume(s)
## @param global.redis.password Global Redis® password (overrides `auth.password`)
##
global:
imageRegistry: ""
## E.g.
## imagePullSecrets:
## - myRegistryKeySecretName
##
imagePullSecrets: []
storageClass: ""
redis:
password: ""
## @section Common parameters
##
## @param kubeVersion Override Kubernetes version
##
kubeVersion: ""
## @param nameOverride String to partially override common.names.fullname
##
nameOverride: ""
## @param fullnameOverride String to fully override common.names.fullname
##
fullnameOverride: ""
## @param commonLabels Labels to add to all deployed objects
...
# 下载镜像中
~]# kubectl get pods
NAME READY STATUS RESTARTS AGE
my-helm-redis-master-00/1 ContainerCreating 0 26s
my-helm-redis-replicas-00/1 ContainerCreating 0 26s
# redis已经运行成功
~]# kubectl get pods
NAME READY STATUS RESTARTS AGE
my-helm-redis-master-00/1 Running 0 37s
my-helm-redis-replicas-00/1 Running 0 37s
3.5、连接redis测试
3.5.1、查询helm状态
# 如果不知道怎么链接,请看这个命令打印出来的教程
helm status my-helm-redis
# 登陆master测试
$ REDISCLI_AUTH="$REDIS_PASSWORD" redis-cli -h my-helm-redis-master
my-helm-redis-master:6379> set name cyc
my-helm-redis-master:6379> get name
"cyc"
my-helm-redis-master:6379> set age 18
my-helm-redis-master:6379> get age
"18"
# 登陆slave测试
$ REDISCLI_AUTH="$REDIS_PASSWORD" redis-cli -h my-helm-redis-replicas
my-helm-redis-replicas:6379> get age
"18"
my-helm-redis-replicas:6379> get name
"cyc"
3.6、通过values文件方式配置环境
3.6.1、修改values.yaml
cp /tmp/redis/values.yaml /tmp/redis/values.define.yaml
vi /tmp/redis/values.define.yaml
553 replica:
554 ## @param replica.replicaCount Number of Redis® replicas to deploy
555 ## 我们发现replicas默认是为3,现在把它修改为2
556 replicaCount: 2557 ## @param replica.configuration Configuration for Redis® replicas nodes
558 ## ref: https://redis.io/topics/config559 ##
560 configuration: ""561 ## @param replica.disableCommands Array with Redis® commands to disable on replicas nodes
562 ## Commands will be completely disabled by renaming each to an empty string.
563 ## ref: https://redis.io/topics/security#disabling-of-specific-commands564 ##
565 disableCommands:
566 - FLUSHDB
567 - FLUSHALL
~]# kubectl get pods
NAME READY STATUS RESTARTS AGE
my-helm-2-redis-master-01/1 Running 0 2m1s
my-helm-2-redis-replicas-01/1 Running 0 2m1s
my-helm-2-redis-replicas-11/1 Running 0 86s ~]# helm list
NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION
my-helm-2-redis default 12023-04-1315:09:18.980635094 +0800 CST deployed redis-17.9.37.0.10
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南