k8s创建单例redis设置密码

在 Kubernetes (k8s) 中创建一个带密码的单例 Redis 部署,你可以通过定义一个包含 Redis 容器、服务(Service)以及必要配置(如密码设置)的 YAML 文件来实现。以下是一个基本的示例,展示了如何配置这些组件。

1. 创建 Redis 部署(Deployment)

首先,你需要定义一个 Deployment 来管理 Redis 容器的生命周期。在这个 Deployment 中,你可以通过环境变量来设置 Redis 的密码。

复制代码
apiVersion: apps/v1
kind: Deployment
metadata:
  name: redis
spec:
  replicas: 1
  selector:
    matchLabels:
      app: redis
  template:
    metadata:
      labels:
        app: redis
    spec:
      containers:
      - name: redis
        image: redis:latest
        env:
        - name: REDIS_PASSWORD
          valueFrom:
            secretKeyRef:
              name: redis-secret
              key: redis-password
        ports:
        - containerPort: 6379
        volumeMounts:
        - name: redis-data
          mountPath: /data
      volumes:
      - name: redis-data
        emptyDir: {}

2. 创建 Secret 来存储 Redis 密码

为了安全地存储 Redis 密码,你应该使用 Kubernetes 的 Secret 对象。

复制代码
apiVersion: v1
kind: Secret
metadata:
  name: redis-secret
type: Opaque
data:
  redis-password: <base64-encoded-password>

在 data 字段下,redis-password 的值应该是你的 Redis 密码的 Base64 编码。你可以使用 echo -n 'yourpassword' | base64 命令来生成 Base64 编码的密码。

3. 创建 Service 来暴露 Redis 服务

接下来,你需要定义一个 Service 对象来暴露 Redis 部署,以便其他 Kubernetes 组件可以通过服务名来访问它。

复制代码
apiVersion: v1
kind: Service
metadata:
  name: redis
spec:
  ports:
  - port: 6379
    targetPort: 6379
  selector:
    app: redis

4. 应用 YAML 文件到 Kubernetes 集群

最后,使用 kubectl apply -f 命令来应用这些 YAML 文件到你的 Kubernetes 集群中。

复制代码
kubectl apply -f redis-deployment.yaml
kubectl apply -f redis-secret.yaml
kubectl apply -f redis-service.yaml

确保你的 YAML 文件名与上述命令中的文件名相匹配。

5. 验证部署

你可以使用 kubectl get pods、kubectl get services 和 kubectl describe secret redis-secret 命令来验证你的 Redis 部署、服务和 Secret 是否已经正确创建和配置。

注意事项

  • 确保你的 Kubernetes 集群已经配置好,并且你有足够的权限来创建和管理资源。
  • 在生产环境中,建议使用更安全的 Redis 配置,比如启用 TLS 来加密 Redis 通信,以及配置适当的资源限制和请求。
  • 定期更新你的 Redis 密码,并确保 Secret 对象得到相应的更新。
相关推荐
白帽攻防录4 小时前
SRC 挖洞:Roundcube 预认证 SQL 注入深度复盘,CVE-2026-48842 preg_replace 转义绕过怎么打穿邮件系统
网络·数据库·sql·网络安全·sql注入
Henry-SAP5 小时前
SAP PP核心引擎计划策略业务解析
人工智能·云原生·sap·erp
꯭自꯭闭꯭5 小时前
达梦SQL优化相关
linux·运维·数据库·sql
对空六课5 小时前
支持注意力分析的热力图工具有哪些?
前端·数据库·数据分析
zl_dfq5 小时前
Redis 之 【高可用架构】(从主从复制、哨兵到集群)
redis
南京码讯光电技术有限公司5 小时前
How to Design an Antenna System for an Industrial WiFi Module
数据库·人工智能
小白的码BUG之路6 小时前
Docker -- 构建nacos镜像
运维·docker·容器
lusklusklusk6 小时前
Oracle数据库基础之2_体系结构
数据库·oracle
可乐ea7 小时前
从第一性原理构建 AI Agent:提示词、工具、技能与记忆全解剖
数据库·人工智能·工具调用·ai智能体·提示词工程·agent开发·智能体记忆
东方护航数据恢复(深圳)7 小时前
医疗案例:HIS/PACS 数据库页损坏修复,医院不停诊完成恢复【东方护航数据恢复深圳店】
数据库·数据恢复·医疗·二次开盘