DeepSeek对Red Hat AI Inference Server 部署步骤是否需要采用外部存储的解读
帮我解读一下下面红帽安装Red Hat AI Inference Server 的步骤是否需要使用外部存储
oc apply -f - <<EOF
apiVersion: apps/v1
kind: Deployment
metadata:
name: granite
namespace: rhaiis-namespace
labels:
app: granite
spec:
replicas: 1
selector:
matchLabels:
app: granite
template:
metadata:
labels:
app: granite
spec:
initContainers:
- name: model-loader
image: '<MIRROR_REGISTRY_URL>/rhelai1/granite-3-1-8b-instruct-quantized-w8a8:1.5'
command: ['cp', '-r', '/models/.', '/mnt/models/']
volumeMounts:
- name: model-volume
mountPath: /mnt/models
containers:
- name: granite
image: '<MIRROR_REGISTRY_URL>/rhaiis/vllm-cuda-rhel9:latest'
imagePullPolicy: IfNotPresent
command:
- python
- '-m'
- vllm.entrypoints.openai.api_server
args:
- '--port=8000'
- '--model=/mnt/models'
- '--served-model-name=granite-3.1-8b-instruct-quantized-w8a8'
- '--tensor-parallel-size=1'
resources:
limits:
cpu: '10'
nvidia.com/gpu: '1'
requests:
cpu: '2'
memory: 6Gi
nvidia.com/gpu: '1'
volumeMounts:
- name: model-volume
mountPath: /mnt/models
- name: shm
mountPath: /dev/shm
volumes:
- name: model-volume
emptyDir: {}
- name: shm
emptyDir:
medium: Memory
sizeLimit: 2Gi
restartPolicy: Always
EOF
这个 Red Hat AI Inference Server 的部署步骤不需要使用外部存储。以下是对该步骤的详细解读:
-
部署结构:
-
定义了一个名为
granite的 Deployment,其中包含一个 initContainer 和一个主容器。 -
initContainer(
model-loader)负责从指定的 OCI 镜像(<MIRROR_REGISTRY_URL>/rhelai1/granite-3-1-8b-instruct-quantized-w8a8:1.5)中拷贝模型文件到挂载的卷/mnt/models。 -
主容器(
granite)使用 vLLM 镜像启动推理服务,并挂载同一个卷/mnt/models作为模型路径,同时挂载一个内存类型的卷/dev/shm用于共享内存。
-
-
卷的类型:
-
model-volume:类型为emptyDir: {},这是 Kubernetes 中的临时卷,初始为空,与 Pod 的生命周期绑定。当 Pod 运行在某个节点上时,该卷会在节点上创建一个空目录,initContainer 将模型文件复制到此目录中,主容器读取该目录。Pod 被删除或迁移时,卷内容随之消失。 -
shm:类型为emptyDir并指定medium: Memory,是一个基于内存的临时文件系统(tmpfs),用于提高共享内存访问性能,同样不依赖外部存储。
-
-
为什么不需要外部存储:
-
模型文件本身已经打包在 initContainer 的镜像中,无需从外部持久化存储(如 PV/PVC)加载。
-
emptyDir卷直接使用节点本地存储(磁盘或内存),不涉及外部存储系统。 -
每次 Pod 启动时,initContainer 都会重新复制模型,保证模型文件始终可用,但数据不持久化——这符合该场景的设计意图(模型作为镜像的一部分分发,而非独立持久化数据)。
-
因此,这个部署步骤完全依赖于 Kubernetes 的临时存储机制,无需额外配置外部存储(如 NFS、云存储块设备等)。如果生产环境中需要模型持久化或共享,则需要考虑其他方案,但当前步骤本身不强制使用外部存储。
更多推荐


所有评论(0)