首页 > 其他分享 >k8s 安装 nfs

k8s 安装 nfs

时间:2023-08-08 13:00:44浏览次数:40  
标签:name namespace client nfs provisioner k8s 安装

安装nfs服务
yum install -y nfs-utils
# 配置nfs /etc/exports
/data/nfs 192.168.1.0/24(rw,no_root_squash)
#/data/nfs *(rw,sync)(我的IP地址是192.168.1.23)
#设置目录权限777
chmod 777 /data/nfs
# 重启服务
systemctl restart nfs
创建rabc.yaml
apiVersion: v1
kind: ServiceAccount
metadata:
  name: nfs-client-provisioner
  # replace with namespace where provisioner is deployed
  namespace: default
---
kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  name: nfs-client-provisioner-runner
rules:
  - apiGroups: [""]
    resources: ["nodes"]
    verbs: ["get", "list", "watch"]
  - 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: ["create", "update", "patch"]
---
kind: ClusterRoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  name: run-nfs-client-provisioner
subjects:
  - kind: ServiceAccount
    name: nfs-client-provisioner
    # replace with namespace where provisioner is deployed
    namespace: default
roleRef:
  kind: ClusterRole
  name: nfs-client-provisioner-runner
  apiGroup: rbac.authorization.k8s.io
---
kind: Role
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  name: leader-locking-nfs-client-provisioner
  # replace with namespace where provisioner is deployed
  namespace: default
rules:
  - apiGroups: [""]
    resources: ["endpoints"]
    verbs: ["get", "list", "watch", "create", "update", "patch"]
---
kind: RoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  name: leader-locking-nfs-client-provisioner
  # replace with namespace where provisioner is deployed
  namespace: default
subjects:
  - kind: ServiceAccount
    name: nfs-client-provisioner
    # replace with namespace where provisioner is deployed
    namespace: default
roleRef:
  kind: Role
  name: leader-locking-nfs-client-provisioner
  apiGroup: rbac.authorization.k8s.io
kubectl apply -f rabc.yaml
创建deployment-provisioner.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: nfs-client-provisioner
  labels:
    app: nfs-client-provisioner
  # replace with namespace where provisioner is deployed
  namespace: default
spec:
  replicas: 1
  strategy:
    type: Recreate
  selector:
    matchLabels:
      app: nfs-client-provisioner
  template:
    metadata:
      labels:
        app: nfs-client-provisioner
    spec:
      serviceAccountName: nfs-client-provisioner
      containers:
        - name: nfs-client-provisioner
          # 镜像地址国内访问不到,需要更换为其他地址
          #image: k8s.gcr.io/sig-storage/nfs-subdir-external-provisioner:v4.0.2
          image: willdockerhub/nfs-subdir-external-provisioner:v4.0.2
          volumeMounts:
            - name: nfs-client-root
              mountPath: /persistentvolumes
          env:
              # provisioner的名字,可以自定义,要和class.yaml中保持一致
            - name: PROVISIONER_NAME
              value: k8s-sigs.io/nfs-subdir-external-provisioner
              # nfs服务器的地址
            - name: NFS_SERVER
              value: 192.168.1.23
              # nfs共享的目录
            - name: NFS_PATH
              value: /data/nfs
      volumes:
        - name: nfs-client-root
          nfs:
            # nfs服务器的地址
            server: 192.168.1.23
            # nfs共享的目录
            path: /data/nfs
kubectl apply -f deployment-provisioner.yaml
创建storageclass.yaml
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: nfs-client
# provisioner名称要和deployment里面定义的保持一致
provisioner: k8s-sigs.io/nfs-subdir-external-provisioner 
parameters:
  archiveOnDelete: "false"
kubectl apply -f storageclass.yaml
设置默认的存储类

nfs-client为存储类名称:

kubectl patch storageclass nfs-client -p '{"metadata": {"annotations":{"storageclass.kubernetes.io/is-default-class":"true"}}}'

标签:name,namespace,client,nfs,provisioner,k8s,安装
From: https://www.cnblogs.com/jiangwanrong/p/17613885.html

相关文章

  • autocad 您没有足够的权限安装本产品
    一、搜索cmd,并以管理员方式打开更改为MSI所在的目录,然后执行msiexec/iD:\软件\AutoCAD2006\acadFeui\acad.msi 完成安装。 二、给程序设置默认以“管理员身份运行”的方法有些程序——比如“命令提示符”——必须用“管理员身份”运行才可以获得全部权限。普通方式是......
  • 银河麒麟等 Linux系统 安装 .net 5,net 6及更高版本的方法
    最近项目上用到银河麒麟的操作系统,需要搭建.net跨平台方案。一开始使用各种命令都安装不上,很多提示命令找不到,或者下载包时候网络无法下载。网上教程很多,但没有一个是成功的,多数使用apt-get等命令,都报错,提示命令未找到。于是开始手动安装。最终发现还是在Windows官网给出......
  • 数据仓库(十二)---分布式SQL查询引擎---teradata版本的presto安装和使用
    我们在使用presto过程中,发现facebook原版和京东原版都是解压可用,teradata版本的安装要麻烦一些。下面对teradata版本的安装过程进行记录。首要条件1、需要python2.6或者python2.7环境之所以需要python环境是因为teradata版本的presto把安装封装成了集群式安装。根据配置在安装过......
  • ubuntu安装docker和docker-compose
      ubuntu系统docker和安装,并安装docker-compose安装dockeraptinstalldocker.io设置docker为开机自启systemctlenabledocker安装docker-composeaptinstalldocker-compose修改配置,设置国内镜像仓库和本地镜像仓库vi/etc/docker/daemon.json{"registry-......
  • k8s 准入控制器介绍
    准入控制概述准入控制器是一段代码,它在对象持久化之前、请求经过身份验证和授权之后拦截对KubernetesAPI服务器的请求。准入控制器可以执行验证(Validating)、变异(Mutating)或两者兼而有之。变更(mutating)控制器可以根据被其接受的请求更改相关对象;验证(validating)控制器则不行。......
  • centos安装php php-fpm 以及 配置nginx
    下载php源码包http://www.php.net/downloads.php安装phptar-xvfphp-5.5.13.tar.bz2cdphp-5.5.13./configure--prefix=/usr/local/php--with-config-file-path=/etc--enable-inline-optimization--disable-debug--disable-rpath--enable-shared--enable-opcache--......
  • 【AGC】付费下载上架下载后无法安装问题
    【关键字】AGC、付费下载、应用安装 【问题描述】有开发者反馈用户下载后无法安装,采用未接入sdk,直接勾选付费-产品上架的方案,以前其他产品是能够正常安装的,现在不知道为啥。报错信息:付费后显示“订单创建失败,请重试”。​​ 【解决方案】根据报错信息定位到问题原因:根......
  • Siemens SERVER 2016中安装WINCC 7.5 SP1
     一、查询WINCC兼容性列表,得知WINCC7.5可以在SERVER2016中安装,且与SIMATICNETV16兼容:二、了解了系统及软件的兼容性之后,开始准备操作系统及软件。1.安装VMware虚拟机,内容略过……2.部署英文版WindowsServer2016系统;3.安装中文语言包;4.安装消息队列、IIS、NetFramew......
  • Siemens 西门子博途各版本安装条件及下载汇总
    【一】安装STEP7Basic/ProfessionalV17的基本要求序号安装STEP7Basic/ProfessionalV17的要求1硬件要求安装STEP7Basic/ProfessionalV17的计算机推荐满足以下需求:处理器:Intel®Core™i5-8400H(2.5到4.2GHz;4核+超线程;8MB智能缓存)内存:16GB或......
  • Ubuntu 16.04 安装python3.6正确顺序(解决ssl错误,pip升级)
    0、下载离线python压缩包PythonSourceReleases|Python.org,1、新建root,并进入root权限(sudopasswdroot)(su)2、升级openssl版本wgethttps://www.openssl.org/source/openssl-1.1.0k.tar.gztar-zxvfopenssl-1.1.0k.tar.gzcdopenssl-1.1.0k./configmakeinstall......