此页面展示了如何配置 Pod 以使用卷进行存储。
只要容器存在,容器的文件系统就会存在,因此当一个容器终止并重新启动,对该容器的文件系统改动将丢失。 对于独立于容器的持久化存储,你可以使用卷。 这对于有状态应用程序尤为重要,例如键值存储(如 Redis)和数据库。
你必须拥有一个 Kubernetes 的集群,同时你的 Kubernetes 集群必须带有 kubectl 命令行工具。 建议在至少有两个节点的集群上运行本教程,且这些节点不作为控制平面主机。 如果你还没有集群,你可以通过 Minikube 构建一个你自己的集群,或者你可以使用下面任意一个 Kubernetes 工具构建:
要检查版本,请输入 kubectl version
。
在本练习中,你将创建一个运行 Pod,该 Pod 仅运行一个容器并拥有一个类型为 emptyDir 的卷, 在整个 Pod 生命周期中一直存在,即使 Pod 中的容器被终止和重启。以下是 Pod 的配置:
apiVersion: v1
kind: Pod
metadata:
name: redis
spec:
containers:
- name: redis
image: redis
volumeMounts:
- name: redis-storage
mountPath: /data/redis
volumes:
- name: redis-storage
emptyDir: {}
kubectl apply -f https://k8s.io/examples/pods/storage/redis.yaml
kubectl get pod redis --watch
输出如下:
NAME READY STATUS RESTARTS AGE
redis 1/1 Running 0 13s
kubectl exec -it redis -- /bin/bash
/data/redis
目录下,然后创建一个文件:root@redis:/data# cd /data/redis/
root@redis:/data/redis# echo Hello > test-file
root@redis:/data/redis# apt-get update
root@redis:/data/redis# apt-get install procps
root@redis:/data/redis# ps aux
输出类似于:
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
redis 1 0.1 0.1 33308 3828 ? Ssl 00:46 0:00 redis-server *:6379
root 12 0.0 0.0 20228 3020 ? Ss 00:47 0:00 /bin/bash
root 15 0.0 0.0 17500 2072 ? R+ 00:48 0:00 ps aux
root@redis:/data/redis# kill <pid>
其中 <pid>
是 Redis 进程的 ID (PID)。
NAME READY STATUS RESTARTS AGE
redis 1/1 Running 0 13s
redis 0/1 Completed 0 6m
redis 1/1 Running 1 6m
此时,容器已经终止并重新启动。这是因为 Redis Pod 的 restartPolicy 为 Always
。
kubectl exec -it redis -- /bin/bash
/data/redis
目录下,并确认 test-file
文件是否仍然存在。root@redis:/data/redis# cd /data/redis/
root@redis:/data/redis# ls
test-file
kubectl delete pod redis
配置Pod初始化本文介绍在应用容器运行前,怎样利用Init容器初始化Pod。在开始之前你必须拥有一个Kubernetes的集群,同时你的Kube...
通过环境变量将Pod信息呈现给容器此页面展示Pod如何使用环境变量把自己的信息呈现给Pod中运行的容器。环境变量可以呈现Pod的字段...
强制删除StatefulSet中的Pods本文介绍如何删除StatefulSet管理的Pods,并解释这样操作时需要记住的注意事项。在开始之前这是一项...
使用工作队列进行粗粒度并行处理本例中,我们会运行包含多个并行工作进程的KubernetesJob。本例中,每个Pod一旦被创建,会立即从...
Docker rmi 命令Docker 命令大全docker rmi : 删除本地一个或多少镜像。语法docker rmi [OPTIONS] IMAGE [IMAGE...]OPTIONS说明...