0
点赞
收藏
分享

微信扫一扫

#我的新年Flag#emptydir存储

祈澈菇凉 2023-02-07 阅读 129
常用持久化存储

emptyDir
hostPath
nfs
persistenVolumeClaim
glusterfs
cephfs
configMap
secret

volumes 释疑地址

[root@k8smaster4 ~]# kubectl explain pods.spec.volumes
https://kubernetes.io/docs/concepts/storage/volumes#emptydir

持久化存储配置步骤

1. 定义pod 中的 volume,这个volume指明它需要关联到哪个存储
2. 在容器中要使用volumemounts 挂载对应的存储

emptyDir

emptyDir 类型的Volume是在Pod分配到Node上时创建,Kubernetes 会在Node上
自动分配一个目录。目录初始内容为空,当Pod从Node移除时,emptyDir中的数据会被
永久删除。

实例Yaml

[root@k8smaster4 dir]# cat emptydir.yaml 
apiVersion: v1
kind: Pod
metadata:
name: pod-empty
spec:
containers:
- name: container-empty
image: docker.io/library/nginx
imagePullPolicy: IfNotPresent
volumeMounts:
- name: cache-volume
mountPath: /cache ### 关联容器目录
volumes:
- emptyDir: {} ### 宿主机生成目录
name: cache-volume

查看Yaml 结果

[root@k8smaster4 dir]# kubectl describe pod pod-empty

查看emptyDir 位置

* 查看结果Yaml,获取UID
[root@k8smaster4 dir]# kubectl get pods pod-empty -o yaml
apiVersion: v1
kind: Pod
metadata:
annotations:
cni.projectcalico.org/podIP: 10.244.187.34/32
cni.projectcalico.org/podIPs: 10.244.187.34/32
kubectl.kubernetes.io/last-applied-configuration: |
{"apiVersion":"v1","kind":"Pod","metadata":{"annotations":{},"name":"pod-empty","namespace":"default"},"spec":{"containers":[{"image":"docker.io/library/nginx","imagePullPolicy":"IfNotPresent","name":"container-empty","volumeMounts":[{"mountPath":"/cache","name":"cache-volume"}]}],"volumes":[{"emptyDir":{},"name":"cache-volume"}]}}
creationTimestamp: "2023-02-06T15:37:23Z"
name: pod-empty
namespace: default
resourceVersion: "4002708"
uid: 676a6678-ddf7-4a0b-bdf7-17e2a90dec0b

* 查看Pod调度的Node
[root@k8smaster4 dir]# kubectl get pods -owide
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
pod-empty 1/1 Running 0 14m 10.244.187.34 k8snode5 <none> <none>


* 通过UID,查询调度的Node临时目录emptyDir

[root@k8snode5 ~]# tree /var/lib/kubelet/pods
├── 676a6678-ddf7-4a0b-bdf7-17e2a90dec0b
│   ├── containers
│   │   └── container-empty
│   │   └── 845127dd
│   ├── etc-hosts
│   ├── plugins
│   │   └── kubernetes.io~empty-dir
│   │   ├── cache-volume
│   │   │   └── ready
│   │   └── wrapped_kube-api-access-2d8j9
│   │   └── ready
│   └── volumes
│   ├── kubernetes.io~empty-dir
│   │   └── cache-volume
│   └── kubernetes.io~projected
│   └── kube-api-access-2d8j9
│   ├── ca.crt -> ..data/ca.crt
│   ├── namespace -> ..data/namespace
│   └── token -> ..data/token

[root@k8snode5 ~]# tree /var/lib/kubelet/pods/676a6678-ddf7-4a0b-bdf7-17e2a90dec0b

查看宿主机临时目录

[root@k8snode5 ~]# cd /var/lib/kubelet/pods/676a6678-ddf7-4a0b-bdf7-17e2a90dec0b
[root@k8snode5 676a6678-ddf7-4a0b-bdf7-17e2a90dec0b]# ls
containers etc-hosts plugins volumes

[root@k8snode5 kubernetes.io~empty-dir]# ls
cache-volume
[root@k8snode5 kubernetes.io~empty-dir]# pwd
/var/lib/kubelet/pods/676a6678-ddf7-4a0b-bdf7-17e2a90dec0b/volumes/kubernetes.io~empty-dir

查看容器目录

[root@k8smaster4 dir]# kubectl exec -it pod-empty  -c container-empty -- /bin/bash
root@pod-empty:/# cd /cache

举报

相关推荐

#我的新年Flag#hostPath存储

#我的新年Flag#NFS存储

#我的新年Flag#OSI

#我的新年Flag#NFS配置简介

#我的新年Flag#K8s PVC

0 条评论