Kubernetes 数据存储 HostPath
Kubernetes About 1,388 words概念
HostPath
就是将Node
主机中一个实际目录挂载到Pod
中,以供容器使用。
特点
Pod
销毁,但是数据依然可以存在于Node
主机上。
示例 yml
volume-hostpath.yml
apiVersion: v1
kind: Pod
metadata:
name: volume-hostpath
namespace: dev
spec:
containers:
- name: nginx
image: nginx:1.17.1
ports:
- containerPort: 80
volumeMounts:
- name: logs-volume
mountPath: /var/log/nginx
- name: busybox
image: busybox:1.30
command: ["/bin/sh","-c","tail -f /logs/access.log"]
volumeMounts:
- name: logs-volume
mountPath: /logs
volumes:
- name: logs-volume
hostPath:
path: /root/logs
type: DirectoryOrCreate # 目录存在就使用,不存在就先创建后使用
hostPath
的type
说明:
DirectoryOrCreate
:目录存在就使用,不存在就先创建后使用Directory
:目录必须存在FileOrCreate
:文件存在就使用,不存在就先创建后使用File
:文件必须存在Socket
:Unix
套接字必须存在CharDevice
:字符设备必须存在BlockDevice
:块设备必须存在
查看 Pod
kubectl get pods -n dev -o wide
输出:
[root@localhost ~]# kubectl get pods -n dev -o wide
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
volume-hostpath 2/2 Running 0 14s 10.42.0.45 localhost.localdomain <none> <none>
查看日志
另一个终端中访问Nginx
curl 10.42.0.45
查看日志:(宿主机/root/logs
目录)
tail -f /root/logs/access.log
输出:
[root@localhost ~]# tail -f /root/logs/access.log
10.42.0.1 - - [04/Feb/2022:01:30:28 +0000] "GET / HTTP/1.1" 200 612 "-" "curl/7.29.0" "-"
Views: 1,537 · Posted: 2022-03-18
————        END        ————
Give me a Star, Thanks:)
https://github.com/fendoudebb/LiteNote扫描下方二维码关注公众号和小程序↓↓↓
Loading...