apiVersion: apps/v1 # 表示使用的 API 版本
kind: Deployment # 部署资源类型
metadata:
name: redis # 部署的名称,命名为 redis
labels:
app: redis # 标签,表示这是一个 redis 部署
spec:
replicas: 1 # 设置副本数,表示只运行一个 Redis 实例
selector:
matchLabels:
app: redis # 确保选择器匹配标签为 redis 的 Pod
template:
metadata:
labels:
app: redis # 确保创建的 Pod 被标记为 redis
spec:
containers:
- name: redis # 容器的名称
image: registry.cn-hangzhou.aliyuncs.com/xx/redis:6.2.12
ports:
- containerPort: 6379 # 容器暴露的端口(Redis 默认端口)
env:
- name: REDIS_PASSWORD # 设置环境变量 REDIS_PASSWORD 来传递 Redis 密码
value: "your-secure-password" # 这里填上你想要设置的密码
command:
- "redis-server" # 启动 Redis 服务器
- "--requirepass" # 启用密码保护模式
- "$(REDIS_PASSWORD)" # 使用环境变量 REDIS_PASSWORD 作为 Redis 密码
volumeMounts:
- name: redis-data # 将 Redis 数据存储挂载到容器中
mountPath: /data # 挂载到容器中的 /data 目录
volumes:
- name: redis-data # 定义一个卷,用于持久化 Redis 数据
emptyDir: {} # 使用临时的空目录卷,可以更改为持久存储(如 PersistentVolumeClaim)
---
apiVersion: v1
kind: Service
metadata:
name: redis # 创建一个名为 redis 的服务
spec:
type: NodePort # 使用 NodePort 类型的服务,暴露外部端口
ports:
- port: 6379 # 内部服务的端口(容器暴露的端口)
targetPort: 6379 # 目标端口,指向 Redis 容器的 6379 端口
nodePort: 30003 # 外部访问端口,可以根据需要选择一个适合的端口
selector:
app: redis # 匹配标签为 redis 的 Pod,确保请求转发到 Redis 实例
---
apiVersion: v1
kind: PersistentVolume
metadata:
name: minio-pv
spec:
capacity:
storage: 10Gi
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Retain
hostPath:
path: /mnt/data/minio
type: DirectoryOrCreate
claimRef:
namespace: default
name: minio-pvc
storageClassName: ""
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: minio-pvc
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 10Gi
storageClassName: ""
volumeMode: Filesystem
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: minio
labels:
app: minio
spec:
selector:
matchLabels:
app: minio
strategy:
type: Recreate
template:
metadata:
labels:
app: minio
spec:
containers:
- name: minio
image: registry.cn-hangzhou.aliyuncs.com/xx/minio:latest
args:
- server
- /data
- --console-address
- ":9001"
env:
- name: MINIO_ROOT_USER
value: "minioadmin"
- name: MINIO_ROOT_PASSWORD
value: "minioadmin"
ports:
- containerPort: 9000
name: api
- containerPort: 9001
name: console
volumeMounts:
- name: storage
mountPath: "/data"
resources:
requests:
memory: "256Mi"
cpu: "250m"
limits:
memory: "1Gi"
cpu: "500m"
volumes:
- name: storage
persistentVolumeClaim:
claimName: minio-pvc
---
apiVersion: v1
kind: Service
metadata:
name: minio-api
labels:
app: minio
spec:
type: NodePort
ports:
- port: 9000
targetPort: 9000
nodePort: 30900
name: api
selector:
app: minio
---
apiVersion: v1
kind: Service
metadata:
name: minio-console
labels:
app: minio
spec:
type: NodePort
ports:
- port: 9001
targetPort: 9001
nodePort: 30901
name: console
selector:
app: minio
情感真挚自然,字里行间传递出强烈的感染力。
?文化类评语?
作者的才华横溢,让这篇文章成为了一篇不可多得的艺术品。