基于Ubuntu-22.04安装K8s-v1.28.2实验(三)数据卷挂载NFS(网络文件系统)

简介: 基于Ubuntu-22.04安装K8s-v1.28.2实验(三)数据卷挂载NFS(网络文件系统)

目录

 


回到顶部

安装 NFS 服务器: 首先,打开终端并安装 NFS 服务器软件包:

sudo apt update
sudo apt install nfs-kernel-server

回到顶部

创建共享目录: 决定哪个目录你想要共享,然后创建它(如果还不存在):

sudo mkdir -p /nfs/data

回到顶部

配置共享目录权限: 配置目录的权限,确保 NFS 客户端可以访问它:

sudo chown root:root /nfs/data
sudo chmod 777 /nfs/data

回到顶部

编辑 /etc/exports 文件: 决定你想要共享的目录和哪些客户端可以访问它,然后编辑 /etc/exports 文件:

sudo nano /etc/exports

在这个文件中,添加以下行

/nfs/data *(rw,sync,no_subtree_check,no_root_squash)

回到顶部

应用 exports 文件并重启服务: 修改完 /etc/exports 文件后,应用更改并重启 NFS 服务:

sudo exportfs -ra
sudo systemctl restart nfs-kernel-server

回到顶部

节点安装数据卷驱动

每个节点都要运行 apt install nfs-common

回到顶部

k8s配置文件

# hustoj-storage-class.yml
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: hustoj-storage-class
provisioner: kubernetes.io/nfs
parameters:
  nfsServer: 192.168.215.129
  nfsPath: /nfs/data
  readOnly: "false"
#pv-definition.yaml
apiVersion: v1
kind: PersistentVolume
metadata:
  name: hustoj-pv
spec:
  storageClassName: hustoj-storage-class
  capacity:
    storage: 10Gi
  accessModes:
    - ReadWriteMany
  persistentVolumeReclaimPolicy: Retain
  nfs:
    server: 192.168.215.129
    path: /nfs/data
#pvc-definition.yaml
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: hustoj-pvc
spec:
  accessModes:
    - ReadWriteMany
  resources:
    requests:
      storage: 1Gi
  storageClassName: hustoj-storage-class
#nginx-deployment.yml
apiVersion: apps/v1
kind: Deployment
metadata:
 name: nginx-deployment
 namespace: default
spec:
 replicas: 6
 selector:
   matchLabels:
     app: nginx
 template:
   metadata:
     labels:
       app: nginx
   spec:
     securityContext:
       fsGroup: 0
       runAsUser: 0
     containers:
       - name: nginx
         image: registry.cn-shanghai.aliyuncs.com/shiningrise/hustoj:v1.6
         securityContext:
           runAsUser: 0
           allowPrivilegeEscalation: true
         ports:
         - containerPort: 80
         volumeMounts:
         - mountPath: /volume  # 将卷挂载到容器内的 `/path/to/mount` 路径
           name: hustoj-volume  # 引用之前定义的卷名称
     volumes:
       - name: hustoj-volume
         persistentVolumeClaim:
           claimName: hustoj-pvc
#nginx-service.yml
apiVersion: v1
kind: Service
metadata:
 name: nginx-service
 namespace: default
spec:
 selector:
   app: nginx
 loadBalancerIP: 192.168.215.200
 ports:
   - protocol: TCP
     port: 80
     targetPort: 80
 type: LoadBalancer #NodePort LoadBalancer
YAML 复制 全屏

回到顶部

相关文件下载

https://files.cnblogs.com/files/shiningrise/k8s_3.zip?t=1715732180&download=true


相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
目录
相关文章
|
3月前
|
存储 安全 Unix
网络文件系统 (NFS)
【10月更文挑战第12天】
181 5
|
3月前
|
存储 缓存 安全
网络文件系统 (NFS)
【10月更文挑战第11天】
66 1
|
19天前
|
Ubuntu Linux 开发者
Ubuntu20.04搭建嵌入式linux网络加载内核、设备树和根文件系统
使用上述U-Boot命令配置并启动嵌入式设备。如果配置正确,设备将通过TFTP加载内核和设备树,并通过NFS挂载根文件系统。
68 15
|
23天前
|
Kubernetes Ubuntu 网络安全
ubuntu使用kubeadm搭建k8s集群
通过以上步骤,您可以在 Ubuntu 系统上使用 kubeadm 成功搭建一个 Kubernetes 集群。本文详细介绍了从环境准备、安装 Kubernetes 组件、初始化集群到管理和使用集群的完整过程,希望对您有所帮助。在实际应用中,您可以根据具体需求调整配置,进一步优化集群性能和安全性。
91 12
|
24天前
|
Ubuntu Unix Linux
Linux网络文件系统NFS:配置与管理指南
NFS 是 Linux 系统中常用的网络文件系统协议,通过配置和管理 NFS,可以实现跨网络的文件共享。本文详细介绍了 NFS 的安装、配置、管理和常见问题的解决方法,希望对您的工作有所帮助。通过正确配置和优化 NFS,可以显著提高文件共享的效率和安全性。
163 7
|
3月前
|
Kubernetes Ubuntu Docker
从0开始搞K8S:使用Ubuntu进行安装(环境安装)
通过上述步骤,你已经在Ubuntu上成功搭建了一个基本的Kubernetes单节点集群。这只是开始,Kubernetes的世界广阔且深邃,接下来你可以尝试部署应用、了解Kubernetes的高级概念如Services、Deployments、Ingress等,以及探索如何利用Helm等工具进行应用管理,逐步提升你的Kubernetes技能树。记住,实践是最好的老师,不断实验与学习,你将逐渐掌握这一强大的容器编排技术。
484 1
|
3月前
|
存储 Kubernetes 负载均衡
基于Ubuntu-22.04安装K8s-v1.28.2实验(四)使用域名访问网站应用
基于Ubuntu-22.04安装K8s-v1.28.2实验(四)使用域名访问网站应用
64 1
|
5月前
|
存储 Ubuntu Go
在Ubuntu 16.04上安装Go 1.6的方法
在Ubuntu 16.04上安装Go 1.6的方法
62 1
|
5月前
|
存储 Ubuntu Go
在Ubuntu 18.04上安装Go的方法
在Ubuntu 18.04上安装Go的方法
72 1
|
5月前
|
存储 Ubuntu Linux
在Ubuntu 14.04上安装Go 1.6的方法
在Ubuntu 14.04上安装Go 1.6的方法
92 1