8、docker+k8s+kubesphere:nfs安装(2020-08-02更新)

2023-05-16

8、docker+k8s+kubesphere:nfs安装

server端安装在node151

yum -y install nfs-utils rpcbind


配置文件中的*是允许所有网段,根据自己实际情况写明网段
cat >/etc/exports <<EOF
/data *(insecure,rw,async,no_root_squash) 
EOF


创建目录并修改权限
mkdir /data && chmod 777 /data

systemctl enable nfs-server rpcbind && systemctl start nfs-server rpcbind


client端安装在node152、node153

yum -y install nfs-utils

在node152、node153执行

cat >nfs-storage.yaml <<EOF
---
apiVersion: v1
kind: ServiceAccount
metadata:
  name: nfs-provisioner
---
kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1
metadata:
   name: nfs-provisioner-runner
   namespace: default
rules:
   -  apiGroups: [""]
      resources: ["persistentvolumes"]
      verbs: ["get", "list", "watch", "create", "delete"]
   -  apiGroups: [""]
      resources: ["persistentvolumeclaims"]
      verbs: ["get", "list", "watch", "update"]
   -  apiGroups: ["storage.k8s.io"]
      resources: ["storageclasses"]
      verbs: ["get", "list", "watch"]
   -  apiGroups: [""]
      resources: ["events"]
      verbs: ["watch", "create", "update", "patch"]
   -  apiGroups: [""]
      resources: ["services", "endpoints"]
      verbs: ["get","create","list", "watch","update"]
   -  apiGroups: ["extensions"]
      resources: ["podsecuritypolicies"]
      resourceNames: ["nfs-provisioner"]
      verbs: ["use"]
---
kind: ClusterRoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  name: run-nfs-provisioner
subjects:
  - kind: ServiceAccount
    name: nfs-provisioner
    namespace: default
roleRef:
  kind: ClusterRole
  name: nfs-provisioner-runner
  apiGroup: rbac.authorization.k8s.io
---
kind: Deployment
apiVersion: apps/v1
metadata:
  name: nfs-client-provisioner
spec:
  selector:
    matchLabels:
      app: nfs-client-provisioner
  replicas: 1
  strategy:
    type: Recreate
  template:
    metadata:
      labels:
        app: nfs-client-provisioner
    spec:
      serviceAccount: nfs-provisioner
      containers:
        - name: nfs-client-provisioner
          image: quay.io/external_storage/nfs-client-provisioner:latest
          imagePullPolicy: IfNotPresent
          volumeMounts:
            - name: nfs-client
              mountPath: /persistentvolumes
          env:
            - name: PROVISIONER_NAME
              value: fuseim.pri/ifs
            - name: NFS_SERVER
              value: 192.168.5.151   #此处修改为nfs服务器ip
            - name: NFS_PATH
              value: /data                 #这里为nfs共享目录
      volumes:
        - name: nfs-client
          nfs:
            server: 192.168.5.151   #此处修改为nfs服务器ip
            path: /data                    #这里为nfs共享目录
---
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: nfs-storage
provisioner: fuseim.pri/ifs
reclaimPolicy: Retain
EOF

执行结果


[root@node152 ~]# kubectl apply -f nfs-storage.yaml
serviceaccount/nfs-provisioner created
clusterrole.rbac.authorization.k8s.io/nfs-provisioner-runner created
clusterrolebinding.rbac.authorization.k8s.io/run-nfs-provisioner created
deployment.apps/nfs-client-provisioner created
storageclass.storage.k8s.io/nfs-storage created

检查nfs-client pod状态
[root@node152 ~]# kubectl get pods
NAME                                      READY   STATUS              RESTARTS   AGE
nfs-client-provisioner-5cf8c79ff9-jhbmx   0/1     ContainerCreating   0          28s

检查默认存储
[root@node153 ~]# kubectl get sc
NAME          PROVISIONER      RECLAIMPOLICY   VOLUMEBINDINGMODE   ALLOWVOLUMEEXPANSION   AGE
nfs-storage   fuseim.pri/ifs   Retain          Immediate           false                  2m40s

设置默认存储

分别在node151、node152、node153上执行
kubectl patch storageclass nfs-storage -p '{"metadata": {"annotations":{"storageclass.kubernetes.io/is-default-class":"true"}}}'

查看默认存储
[root@node151 ~]# kubectl get sc
NAME                    PROVISIONER      RECLAIMPOLICY   VOLUMEBINDINGMODE   ALLOWVOLUMEEXPANSION   AGE
nfs-storage (default)   fuseim.pri/ifs   Retain          Immediate           false                  8d

[root@node152 ~]# kubectl get sc
NAME                    PROVISIONER      RECLAIMPOLICY   VOLUMEBINDINGMODE   ALLOWVOLUMEEXPANSION   AGE
nfs-storage (default)   fuseim.pri/ifs   Retain          Immediate           false                  8d

[root@node153 ~]# kubectl get sc
NAME                    PROVISIONER      RECLAIMPOLICY   VOLUMEBINDINGMODE   ALLOWVOLUMEEXPANSION   AGE
nfs-storage (default)   fuseim.pri/ifs   Retain          Immediate           false                  8d
多个(default)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

8、docker+k8s+kubesphere:nfs安装(2020-08-02更新) 的相关文章

随机推荐

  • QNX Neutrino 基本操作

    安装好QNX Neutrino虚拟机后开始学习QNX Neutrino 基本操作 xff0c 自己有一些Linux基础 xff0c 感觉比较容易上手 如果是之前没有接触过Linux Unix的 xff0c 可以参考一下QNX官网的书 Neu
  • 在iOS上绘制自然的签名

    在iOS上绘制自然的签名 这里有一篇很棒的文章写如何在Android上获取流畅的签名 xff1a Smoother Signatures xff0c 但是我没有找到一篇是写在iOS上如何实现 那么 xff0c 究竟怎么做才能在iOS设备上获
  • xxx is not in the sudoers file解决方法

    用sudo时提示 34 xxx is not in the sudoers file This incident will be reported 其中XXX是你的用户名 xff0c 也就是你的用户名没有权限使用sudo 我们只要修改一下
  • linux-查看端口状态

    Linux如何查看端口状态 方法步族 xff1a 1 在Linux使用过程中 xff0c 需要了解当前系统开放了哪些端口 xff0c 并且要查看开放这些端口的具体进程和用户 xff0c 可以通过netstat命令进行简单查询 2 netst
  • (转载)C++中枚举与字符串相互转换

    有的时候我们喜欢使用一些外部的文件保存管理一些配置信息 xff0c 这些配置文件大多都是文本格式例如ini xff0c xml等 xff0c 这样方便编辑和管理 因此在使用的过程中必然会遇到各种字符串转换问题 最常见的便是将字符串的数字转换
  • INSERT INTO 表名 SELECT 语句

    Connected to Oracle Database 11g Enterprise Edition Release 11 2 0 1 0 Connected as scott CREATE TABLE 表名 AS SELECT 语句 S
  • Windows 去除快捷方式小箭头真正无任何副作用的方法!

    前几天写过 Windows7去除快捷方式小箭头后会导致左侧收藏夹中的桌面图标消失 xff0c 以为那种方法已经很完美 xff0c 然而我错了 xff0c 当我右击 计算机 想打开 管理 时 xff0c 弹出了错误提示 xff1a 该文件没有
  • 在 KDE 下不能正常使用 fcitx 以及翻页问题

    在 kde 下使用 fcitx 的时候 xff0c 不能在某些地方使用 xff0c 如kate xff0c 但有些地方可以使用 xff0c 如 chrome 使用 Ctrl 43 Space 时无法激活 Fcitx 1 检查你所输入的程序
  • IDM 激活

    打开 C WINDOWS system32 drivers etc 这个文件夹中有个 hosts 文件 大家用 记事本 打开 在最后一行加入 127 0 0 1 registeridm com 127 0 0 1 www registeri
  • Linux 挂载 exFat

    在Linux的学习中为方便大家学习了解更多的Linux方面的内容 xff0c 达内培训 技术小编本文将为大家详解关于Linux方面的技术内容 xff0c 提供给大家作为学习的参考 先说挂载exFAT格式的移动硬盘 xff0c 最近刚刚做了个
  • HTML中meta标签的作用

    HTML中meta标签的作用 首先 xff0c meta标签是一个自结束标签 xff0c 其格式为 lt meta gt xff0c 下面介绍meta标签的作用 xff1a 1 规定字符集 lt meta charset 61 34 utf
  • 多个浏览器窗口中间不同的Session

    关于多个窗口不同Session的作用就不说了 xff0c 直接说步骤 Firefox xff1a 编辑快捷方式的目标 xff0c 后面加上 p no remote Chrome xff1a 打开新的隐身窗口 IE xff1a 文件 gt 新
  • Nginx 开启对 PHP 的解析(转)

    安装 PHP 和 nginx 后 xff0c 无法解析 PHP 文件 其中 xff0c PHP 和 nginx 的编译安装 configure 如下 xff1a PHP 5 3 9 configure prefix 61 usr local
  • JDK 对应数字版本号

    J2SE 7 61 51 0x33 hex J2SE 6 0 61 50 0x32 hex J2SE 5 0 61 49 0x31 hex JDK 1 4 61 48 0x30 hex JDK 1 3 61 47 0x2F hex JDK
  • 打印控件

    Lodop
  • 二进制最大公约数算法

    求最大公约数的Euclid算法需要用到大量的取模运算 xff0c 这在大多数计算机上是一项复杂的工作 xff0c 相比之下减法运算 测试数的奇偶性 折半运算的执行速度都要更快些 二进制最大公约数算法避免了Euclid算法的取余数过程 二进制
  • 1、docker+k8s+kubesphere:准备(20200802更新免密)

    1 准备 docker 43 k8s 43 kubesphere准 环境准备 角色IP地址主机名docker版本硬件操作系统主192 168 5 151node151docker18 09 96核10GCentOS7 8节点192 168
  • 2、docker+k8s+kubesphere:docker安装

    2 docker安装 docker 43 k8s 43 kubesphere 卸载以前的docker yum remove y docker docker client docker client latest docker common
  • 7、docker+k8s+kubesphere:helm与tiller安装

    7 docker 43 k8s 43 kubesphere helm安装 官网地址 https kubesphere io docs zh CN installation install on k8s 官网虽然说低配置可以使用 xff0c
  • 8、docker+k8s+kubesphere:nfs安装(2020-08-02更新)

    8 docker 43 k8s 43 kubesphere nfs安装 server端安装在node151 yum y span class token function install span nfs utils rpcbind 配置文