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

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 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]#
相关实践学习
深入解析Docker容器化技术
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。Docker是世界领先的软件容器平台。开发人员利用Docker可以消除协作编码时“在我的机器上可正常工作”的问题。运维人员利用Docker可以在隔离容器中并行运行和管理应用,获得更好的计算密度。企业利用Docker可以构建敏捷的软件交付管道,以更快的速度、更高的安全性和可靠的信誉为Linux和Windows Server应用发布新功能。 在本套课程中,我们将全面的讲解Docker技术栈,从环境安装到容器、镜像操作以及生产环境如何部署开发的微服务应用。本课程由黑马程序员提供。 &nbsp; &nbsp; 相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
目录
相关文章
|
9月前
|
存储 监控 对象存储
ACK 容器监控存储全面更新:让您的应用运行更稳定、更透明
针对本地存储和 PVC 这两种容器存储使用方式,我们对 ACK 的容器存储监控功能进行了全新升级。此次更新完善了对集群中不同存储类型的监控能力,不仅对之前已有的监控大盘进行了优化,还针对不同的云存储类型,上线了全新的监控大盘,确保用户能够更好地理解和管理容器业务应用的存储资源。
598 279
|
存储 Kubernetes 容器
Kubernetes 存储选项:持久化卷与存储类
【8月更文第29天】随着容器化的普及,越来越多的应用程序需要持久化数据以保持状态信息。Kubernetes 提供了一套完整的解决方案来管理和配置持久化存储,包括持久卷 (Persistent Volume, PV)、持久卷声明 (Persistent Volume Claim, PVC) 和存储类 (StorageClass)。本文将详细介绍这些概念,并通过实际示例来演示如何在 Kubernetes 中配置存储。
857 3
|
7月前
|
存储 监控 对象存储
ACK 容器监控存储全面更新:让您的应用运行更稳定、更透明
ACK 容器监控存储全面更新:让您的应用运行更稳定、更透明
180 0
ACK 容器监控存储全面更新:让您的应用运行更稳定、更透明
|
8月前
|
存储 监控 对象存储
ACK 容器监控存储全面更新:让您的应用运行更稳定、更透明
ACK 容器监控存储全面更新:让您的应用运行更稳定、更透明
128 1
|
7月前
|
存储 运维 Kubernetes
容器数据保护:基于容器服务 Kubernetes 版(ACK)备份中心实现K8s存储卷一键备份与恢复
阿里云ACK备份中心提供一站式容器化业务灾备及迁移方案,减少数据丢失风险,确保业务稳定运行。
|
9月前
|
存储 监控 对象存储
ACK容器监控存储全面更新:让您的应用运行更稳定、更透明
介绍升级之后的ACK容器监控体系,包括各大盘界面展示和概要介绍。
|
9月前
|
存储 Kubernetes 安全
k8s存储类型:emptyDir、hostPath、nfs、pvc及存储类storageclass的静态/动态创建pv
Kubernetes提供了多种存储类型,满足不同的应用需求。`emptyDir`和 `hostPath`适用于临时和宿主机存储需求,`nfs`适用于共享存储,`PersistentVolumeClaim`和 `StorageClass`实现了持久存储的灵活管理。通过理解和配置这些存储类型,可以有效提升Kubernetes集群的存储管理能力。
380 13
|
存储 Kubernetes 容器
k8s创建NFS动态存储
k8s创建NFS动态存储
|
Kubernetes 负载均衡 网络协议
在K8S中,Service的类型有哪几种,请说⼀下他们的用途?
在K8S中,Service的类型有哪几种,请说⼀下他们的用途?
|
5月前
|
资源调度 Kubernetes 调度
从单集群到多集群的快速无损转型:ACK One 多集群应用分发
ACK One 的多集群应用分发,可以最小成本地结合您已有的单集群 CD 系统,无需对原先应用资源 YAML 进行修改,即可快速构建成多集群的 CD 系统,并同时获得强大的多集群资源调度和分发的能力。
194 9

推荐镜像

更多