栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

Kubernetes(K8s)部署nfs服务

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Kubernetes(K8s)部署nfs服务

1.编写yaml文件

nfs-app-deployment.yaml

apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    run: nfs-app
  name: nfs-app
  namespace: cbf
spec:
  replicas: 1
  selector:
    matchLabels:
      run: nfs-app
  strategy:
    rollingUpdate:
       maxSurge: 1
       maxUnavailable: 1
    type: RollingUpdate
  template:
    metadata:
       labels:
         run: nfs-app
    spec:
       containers:
       - image: itsthenetwork/nfs-server-alpine:12
         name: nfs-app
         env:
         - name: SHARED_DIRECTORY
           value: "/data/"
         securityContext:
           privileged: true
         ports:
         - containerPort: 2049
           protocol: TCP
         volumeMounts:
         - mountPath: "/data/"
           name: nfs-vol
       volumes:
       - name: nfs-vol
         hostPath:
           path: /root/data/k8s/temp2/data/
       dnsPolicy: ClusterFirst
       restartPolicy: Always

nfs-app-service.yaml

apiVersion: v1
kind: Service
metadata:
  labels:
    run: nfs-app
  name: nfs-app
  namespace: cbf
spec:
  ports:
  - port: 2049
    name: nfs-app
    protocol: TCP
    targetPort: 2049
    nodePort: 32049
  selector:
    run: nfs-app
  type: NodePort
2.编写启动脚本

nfs.sh

#!/usr/bin/env bash
deployment=./nfs-app-service.yaml
svc=./nfs-app-deployment.yaml
case $1 in
    delete)
        kubectl delete -f $deployment 2>/dev/null
        kubectl delete -f $svc   2>/dev/null
        ;;

    start)
        kubectl apply -f $deployment
        kubectl apply -f $svc
        ;;

    reload)
        kubectl delete -f $deployment 2>/dev/null
        kubectl delete -f $svc   2>/dev/null
        sleep 3
        kubectl apply -f $deployment
        kubectl apply -f $svc
        ;;
    *)

        echo "Uasge:please choose {scp | start |delete | reload }"
esac
3.安装和使用

1.启动服务

1.修改文件编码:
  dos2unix nfs.sh
2.启动
  sh nfs.sh start
3.重启
  sh nfs.sh reload
4.删除
  sh nfs.sh delete  

2.客户端

1.安装客户端
  sudo apt install nfs-client -y
2.挂载
  #方式一:容器ip
  kubectl get pods -o wide -ncbf
  mount -v -o vers=4,loud 10.244.0.79:/ /root/data/k8s/temp2/share/
  #方式二: service的ip
  kubectl get svc -o wide -ncbf
  mount -v -o vers=4,loud,port=32049 172.16.0.15:/ /root/data/k8s/temp2/share/
3.卸载
  umount /root/data/k8s/temp2/share/
4.验证是否已挂在
  df -h
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/288723.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号