Kubernetes----NFS类型的基本存储

简介: Kubernetes----NFS类型的基本存储

【原文链接】

一、基础准备

首先参照 Kubernetes----安装部署NFS服务器 在master节点搭建nfs服务器

然后在node节点执行如下命令安装nfs-utils工具包,注意node节点不需要启动nfs,安装工具包只是为了能驱动nfs

yum install -y nfs-utils

二、NFS实例演示

编辑nfs.yaml文件,内容如下:

apiVersion: v1
kind: Namespace
metadata:
  name: dev

---

apiVersion: v1
kind: Pod
metadata:
  name: volume-nfs
  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
    nfs:
      server: 192.168.16.40
      path: /root/data/nfs

使用如下命令创建资源

[root@master Volume]# kubectl apply -f nfs.yaml
namespace/dev created
pod/volume-nfs created
[root@master Volume]#

使用如下命令查看创建的资源

[root@master Volume]# kubectl get pod -n dev -o wide
NAME         READY   STATUS    RESTARTS   AGE   IP             NODE    NOMINATED NODE   READINESS GATES
volume-nfs   2/2     Running   0          13s   10.244.1.249   node1   <none>           <none>
[root@master Volume]#

查看master节点即nfs共享目录下,发现此时已经有日志文件了,只不过此时日志文件内容为空

[root@master Volume]# ls /root/data/nfs/
access.log  error.log
[root@master Volume]#

然后使用如下命令在master节点检测nfs共享目录下日志文件的内容变化

 tail -f /root/data/nfs/access.log

然后在node节点使用如下命令请求三次nginx服务

curl 10.244.1.249:80

可以看到此时master节点nfs共享目录下日志文件的变化如下:

[root@master Volume]# tail -f /root/data/nfs/access.log
10.244.1.1 - - [07/Apr/2022:16:00:24 +0000] "GET / HTTP/1.1" 200 612 "-" "curl/7.29.0" "-"
10.244.1.1 - - [07/Apr/2022:16:02:06 +0000] "GET / HTTP/1.1" 200 612 "-" "curl/7.29.0" "-"
10.244.1.1 - - [07/Apr/2022:16:02:07 +0000] "GET / HTTP/1.1" 200 612 "-" "curl/7.29.0" "-"

使用如下命令删除pod

[root@master Volume]# kubectl delete -f nfs.yaml
namespace "dev" deleted
pod "volume-nfs" deleted
[root@master Volume]#

当然此时日志仍然是存在的

[root@master Volume]# cat /root/data/nfs/access.log
10.244.1.1 - - [07/Apr/2022:16:00:24 +0000] "GET / HTTP/1.1" 200 612 "-" "curl/7.29.0" "-"
10.244.1.1 - - [07/Apr/2022:16:02:06 +0000] "GET / HTTP/1.1" 200 612 "-" "curl/7.29.0" "-"
10.244.1.1 - - [07/Apr/2022:16:02:07 +0000] "GET / HTTP/1.1" 200 612 "-" "curl/7.29.0" "-"
[root@master Volume]#
相关实践学习
容器服务Serverless版ACK Serverless 快速入门:在线魔方应用部署和监控
通过本实验,您将了解到容器服务Serverless版ACK Serverless 的基本产品能力,即可以实现快速部署一个在线魔方应用,并借助阿里云容器服务成熟的产品生态,实现在线应用的企业级监控,提升应用稳定性。
云原生实践公开课
课程大纲 开篇:如何学习并实践云原生技术 基础篇: 5 步上手 Kubernetes 进阶篇:生产环境下的 K8s 实践 相关的阿里云产品:容器服务&nbsp;ACK 容器服务&nbsp;Kubernetes&nbsp;版(简称&nbsp;ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情:&nbsp;https://www.aliyun.com/product/kubernetes
目录
相关文章
|
5月前
|
存储 Kubernetes Linux
解决Linux中/var/lib/docker/磁盘空间过大及k8s存储卷磁盘空间使用率过高的问题
解决Linux中/var/lib/docker/磁盘空间过大及k8s存储卷磁盘空间使用率过高的问题
168 0
|
8天前
|
存储 Kubernetes 调度
K8S常见的持久化(存储)方案用法详解
K8S常见的持久化(存储)方案用法详解
|
25天前
|
存储 运维 Kubernetes
Kubernetes存储卷
Kubernetes存储卷
30 0
|
1月前
|
存储 Kubernetes 容器
K8S中使用nfs作为存储卷
K8S中使用nfs作为存储卷
14 0
|
5月前
|
存储 Kubernetes 关系型数据库
kubernetes学习之持久化存储StorageClass(4---nfs存储服务)
kubernetes学习之持久化存储StorageClass(4---nfs存储服务)
52 0
|
5月前
|
存储 网络协议 Linux
哇~真的是你呀!哎呀!今天是LINUX中的NFS存储服务
NFS(Network File System)是一种用于共享文件系统的协议,常用于Linux系统中。它允许在网络上共享文件和目录,使得多台计算机可以共享和访问相同的文件资源。以下是关于Linux中的NFS服务的简要介绍。
59 0
|
5月前
|
存储 网络协议 Unix
小白带你学习Linux的NFS存储(二十五)
小白带你学习Linux的NFS存储(二十五)
63 0
|
5月前
|
存储 Kubernetes API
k8s实战系列:3-存储的花样玩法(下)
k8s实战系列:3-存储的花样玩法(下)
28 0
|
5月前
|
存储 Kubernetes Cloud Native
k8s实战系列:3-存储的花样玩法(上)
k8s实战系列:3-存储的花样玩法(上)
43 0
|
5月前
|
存储 Kubernetes 对象存储
Kubernetes存储:Ceph架构,部署和使用
Kubernetes存储:Ceph架构,部署和使用
80 0

推荐镜像

更多