分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > IT知识

Kubernetes 1.11.2使用NFS作为共享存储

发布时间:2023-09-06 02:15责任编辑:熊小新关键词:暂无标签
环境:
NFS服务器: 192.168.0.252 /data/nfs

Kubernetes Master: 192.168.0.210
Kubernetes Node: 192.168.0.211
Kubernetes Node: 192.168.0.212

本地我们使用NFS作为Nginx的网站目录,使所有的pod共享一套代码

1.NFS服务器搭建

yum -y install nfs-utils

创建共享目录
mkdir -p /data/nfs

修改配置文件
vim /etc/exports
/data/nfs 192.168.0.0/24(rw,no_root_squash,no_all_squash,sync)

配置选项说明:
/data/nfs ?需要共享出去的目录
192.168.0.0/24 ?只有192.168.0.0网段的机器可以访问这个NFS服务
rw ??所有客户机可写
sync 说明所有写入会同时写入硬盘和内存,async就说明会先暂存于内存中,然后写入硬盘
no_root_squash 如果登录的用户是root的话,那么他就具有root的权限
no_all_squash ?与no_root_squash相识,如果登录的是user用户,那么也是user权限

systemctl start nfssystemctl enable nfs

在192.168.0.210挂载测试
mkdir -p /tmp/nfs
mount -t nfs 192.168.0.252:/data/nfs /mnt/nfs

mount: wrong fs type, bad option, bad superblock on 192.168.0.252:/data/nfs,
missing codepage or helper program, or other error
(for several filesystems (e.g. nfs, cifs) you might
need a /sbin/mount.<type> helper program)

 ??In some cases useful info is found in syslog - try

如果提示这个说明机器没有安装yum -y install nfs-utils
注意:所有kubernetes机器都需要安装nfs-utils

2.kubernetes创建PV

apiVersion: v1kind: PersistentVolumemetadata: ?name: nfs-pv ?labels: ???pv: nfs-pvspec: ?capacity: ???storage: 10Gi ?accessModes: ???- ReadWriteMany ?persistentVolumeReclaimPolicy: Retain ?nfs: ???path: /data/nfs ???server: 192.168.0.252

kubernetes创建PVC

kind: PersistentVolumeClaimapiVersion: v1metadata: ?name: nfs-pvcspec: ?accessModes: ???- ReadWriteMany ?resources: ???requests: ?????storage: 10Gi ?selector: ???matchLabels: ?????pv: nfs-pv

kubernetes创建deployment

apiVersion: extensions/v1beta1kind: Deploymentmetadata: ?name: nginx-testspec: ?replicas: 3 ?selector: ???matchLabels: ?????name: nginx-test ?template: ???metadata: ?????labels: ???????name: nginx-test ???spec: ?????containers: ?????- name: nginx-test ???????image: nginx ???????volumeMounts: ???????- mountPath: /usr/share/nginx/html ?????????name: nginx-data ???????ports: ???????- containerPort: 80 ?????volumes: ?????- name: nginx-data ???????persistentVolumeClaim: ?????????claimName: nfs-pvc

创建kubernetes的service

apiVersion: v1kind: Servicemetadata: ?name: nginx-test ?labels: ???name: nginx-testspec: ?type: NodePort ?ports: ?- port: 80 ???protocol: TCP ???targetPort: 80 ???name: http ???nodePort: 30008 ?selector: ???name: nginx-test

因为上面我们已经在192.168.0.210上将nfs挂载到/mnt/nfs目录了,进入目录
echo "hello,nfs for kubernetes">/tmp/nfs/index.html

打开http://192.168.0.210:30008/就显示
hello,nfs for kubernetes

Kubernetes 1.11.2使用NFS作为共享存储

原文地址:http://blog.51cto.com/fengwan/2176889

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved