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" "-"
阅读 843 · 发布于 2022-03-19
————        END        ————
Give me a Star, Thanks:)
https://github.com/fendoudebb扫描下方二维码关注公众号和小程序↓↓↓

昵称:
随便看看
换一批
-
惊群效应是什么?如何避免惊群效应?阅读 4911
-
软考-系统架构设计师:规范化理论-函数依赖阅读 1355
-
MySQL 严格模式引起的问题阅读 1123
-
软考-系统架构设计师:进程管理 - PV 操作阅读 4485
-
macOS app 已损坏,无法打开。 您应该将它移到废纸篓阅读 48
-
Kubernetes 包管理器 Helm阅读 882
-
k6 压测 HTTPS 接口报 X509 certificate signed by unknown authority阅读 1667
-
SQL 注入和 XSS 攻击阅读 2491
-
Spring Boot 自动配置原理阅读 1441
-
CSS injected stylesheet 注入样式导致样式异常阅读 320