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

本文涉及的产品
容器服务 Serverless 版 ACK Serverless,317元额度 多规格
日志服务 SLS,月写入数据量 50GB 1个月
容器服务 Serverless 版 ACK Serverless,952元额度 多规格
简介: 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]#
相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
目录
相关文章
|
3月前
|
存储 Kubernetes 容器
Kubernetes 存储选项:持久化卷与存储类
【8月更文第29天】随着容器化的普及,越来越多的应用程序需要持久化数据以保持状态信息。Kubernetes 提供了一套完整的解决方案来管理和配置持久化存储,包括持久卷 (Persistent Volume, PV)、持久卷声明 (Persistent Volume Claim, PVC) 和存储类 (StorageClass)。本文将详细介绍这些概念,并通过实际示例来演示如何在 Kubernetes 中配置存储。
297 1
|
3月前
|
存储 Kubernetes 容器
k8s创建NFS动态存储
k8s创建NFS动态存储
|
3月前
|
Kubernetes 负载均衡 网络协议
在K8S中,Service的类型有哪几种,请说⼀下他们的用途?
在K8S中,Service的类型有哪几种,请说⼀下他们的用途?
|
3月前
|
Prometheus Kubernetes 监控
在K8S中,DaemonSet类型的资源特性有哪些?
在K8S中,DaemonSet类型的资源特性有哪些?
|
3月前
|
Kubernetes 负载均衡 网络协议
在K8S中,Service的类型有哪些?
在K8S中,Service的类型有哪些?
|
3月前
|
存储 Kubernetes 网络协议
在K8S中,有哪几种控制器类型?
在K8S中,有哪几种控制器类型?
|
3月前
|
存储 Kubernetes 数据安全/隐私保护
在K8S中,如果后端nfs存储的ip发生变化如何解决?
在K8S中,如果后端nfs存储的ip发生变化如何解决?
|
3月前
|
存储 缓存 Kubernetes
在K8S中,业务Pod数据如何存储?
在K8S中,业务Pod数据如何存储?
|
3月前
|
存储 Kubernetes NoSQL
在K8S中,etcd是什么类型数据库?
在K8S中,etcd是什么类型数据库?
|
3月前
|
存储 JSON Kubernetes
在K8S中,存储敏感信息方式有哪些?
在K8S中,存储敏感信息方式有哪些?