Kubernetes 数据存储 HostPath
Kubernetes 大约 1388 字概念
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" "-"
阅读 639 · 发布于 2022-03-19
————        END        ————
Give me a Star, Thanks:)
https://github.com/fendoudebb扫描下方二维码关注公众号和小程序↓↓↓

昵称:
随便看看
换一批
-
Java jcmd 代替 jmap 导出堆内存快照阅读 1525
-
PostgreSQL 统计数组中的元素个数阅读 5292
-
MySQL 锁阅读 390
-
Android WindowManager 背景暗化阅读 3518
-
Java 按字典顺序排序请求参数阅读 4252
-
Elasticsearch 获取记录总数 _count阅读 10087
-
Java 消除 if else 代码的几种方式阅读 2159
-
Ubuntu 卸载 Nginx阅读 1197
-
JVM 常用参数阅读 497
-
java.sql.SQLDataException: ORA-01861: literal does not match format string阅读 3395