精华内容
下载资源
问答
  • 集群文件共享的目的 实现节点的挂载 删除之前的deploy和service部署 实现NFS实现集群文件共享 1.进入deploy目录下 2.编辑tomcat-deploy.yml文件 3.重新部署deploy 4.主节点新建文件 5.在从节点查看文件 ...

     

    目录

    CentOs7如何安装NFS

    如何通过NFS设置共享区

    集群文件共享的目的

    实现节点的挂载

    删除之前的deploy和service部署

    实现NFS实现集群文件共享

     1.进入deploy目录下

    2.编辑tomcat-deploy.yml文件

    3.重新部署deploy

    4.主节点新建文件

    5.在从节点查看文件 

    如何在主节点上查看从节点的内容


     

    CentOs7如何安装NFS

     

     https://blog.csdn.net/Duke147/article/details/87810417

     

     

    如何通过NFS设置共享区

     

      设置环境变量

    vim /etc/exports

     写入你要设置的共享区目录以及共享区所在的IP地址,例如

    /usr/local/java/diist 192.168.22.45/24(rw,sync)

     然后我们重启服务

    systemctl restart nfs.service
    systemctl restart rpcbind.service

     接下来我们查看下所有的共享目录,输入

    exportfs

    输入后可以看到刚才我们配置好的共享目录地址

     

    集群文件共享的目的

     

    之前我们已经把集群关联起来了,接下来我们需要配置文件共享来实时地对集群文件进行增删改查。

    简单来说有两个步骤:一是通过NFS在每个节点上形成挂载点,二是用节点下的目录文件替代同名的容器内的目录文件

    最终由各个节点里的目录文件通过共享文件夹关联到了1个NFS Server的一个目录中,我们通过对这个目录里的文件进行修改,全局都会发生变更~

     

     

     

    实现节点的挂载

     

    使用mount命令实现挂载

    mount 主服务器ip:项目文件的绝对路径 要挂载到的目录路径

    举例说明 

     

     

     

     

    删除之前的deploy和service部署

     

    主服务器

    我们采取从新部署的形式,先通过以下两条命令先删除之前部署的deploy和service

    kubectl delete deployment tomcat-deploy
    kubectl delete service tomcat-service

     

     

    实现NFS实现集群文件共享

     

     1.进入deploy目录下

    cd /usr/local/k8s/tomcat-deploy

     

    2.编辑tomcat-deploy.yml文件

    在里面增加如下配置

     

    3.重新部署deploy

    kubectl create -f tomcat-deploy.yml

    查看部署信息,检查是否部署成功 

     

    4.主节点新建文件

    vim /usr/local/data/www-data/test.txt

    我们在里面写上123456

     

    5.在从节点查看文件 

    在node1的终端输入

    首先查看docker的容器

    docker ps

    找到tomcat容器的容器id,输入命令进入到容器中

    docker exec -it xxxxxxxxxxx /bin/bash

    ls一下会发现tomcat文件夹下的webapps目录,进入之后再ls一下就会找到test.txt文件

    进入之后会发现里面的内容就是主服务器里面的内容,实现了共享

     

    同理,你在主服务器上修改这个txt文件,从服务器的内容也进行了变更

     

     

    如何在主节点上查看从节点的内容

     

    在主节点上输入命令,主要是找到从节点的gates

    kubectl get pod -o wide

     

    然后输入命令直接可以进入到从节点目录中,就不难找到从节点下的test.txt文件喽

    kubectl exec -it 从节点编号 /bin/bash

    展开全文
  • 集群文件共享 如何解决集群中文件的统一修改、统一使用?共享 通过在宿主机上安装NFS,将文件共享给多个容器 NFS使用示例 安装NFS服务 执行如下命令,在宿主机上安装NFS,这里我们选择Master节点 yum install -y ...

    NFS简介

    • NFS,是由SUN公司研制的文件传输协议,全称Network File System
    • NFS主要是采用远程过程调用RPC机制实现文件传输
    • 安装命令yum install -y nfs-utils rpcbind

    集群文件共享

    如何解决集群中文件的统一修改、统一使用?共享
    在这里插入图片描述

    通过在宿主机上安装NFS,将文件共享给多个容器

    NFS使用示例

    安装NFS服务

    执行如下命令,在宿主机上安装NFS,这里我们选择Master节点

    yum install -y nfs-utils rpcbind
    

    执行如下命令,配置并启动文件共享

    # 创建共享目录
    mkdir -p /datda/www-data
    # 设置NFS共享文件
    echo "/data/www-data 192.168.0.31/24(rw,sync)" > /etc/exports
    # 启动nfs服务
    systemctl start nfs
    # 启动rpcbind服务
    systemctl start rpcbind
    # 设置服务开机自启动
    systemctl enable nfs
    systemctl enable rpcbind
    # 查看文件共享情况
    exportfs
    # /data/www-data	192.168.0.31/24
    

    客户端使用NFS服务

    在Node节点上执行如下命令,安装NFS客户端

    yum install -y nfs-utils
    

    挂载共享文件

    # 创建目录
    mkdir -p /data/www-data
    # 挂载目录
    mount 192.168.0.31:/data/www-data /data/www-data
    

    设置开机启动

    systemctl enable nfs
    

    辅助命令,查看nfs共享了哪些目录showmount -e 192.168.0.31

    容器中使用nfs共享文件

    延用之前的Tomcat集群,来加载nfs共享文件,变更该Tomcat集群可以通过kube apply命令修改集群,或者使用kube delete删除集群相关资源,再创建集群。这里我们使用第二种方法。

    清理Tomcat集群

    # 查看deployment列表
    kubectl get deployment
    # 删除名为tomcat-deploy的deployment
    kubectl delete deployment tomcat-deploy
    # 查看service列表
    kubectl get service
    # 删除名为tomcat-deploy的service
    kubectl delete service tomcat-deploy
    

    修改delployment

    修改tomcat-deploy.yml内容如下

    apiVersion: extensions/v1beta1
    kind: Deployment
    metadata:
      name: tomcat-deploy
    spec:
      replicas: 2
      template:
        metadata:
          labels:
            app: tomcat-cluster
        spec:
          volumes: # 创建volume数据卷
          - name: web-app # 数据卷名称
            hostPath: # 数据卷在宿主机上的路径
              path: /data/www-data
          containers:
          - name: tomcat-cluster
            image: tomcat:latest
            ports:
            - containerPort: 8080
            volumeMounts: # 绑定数据卷
            - name: web-app # 匹配之前创建的数据卷名称
              mountPath: /usr/local/tomcat/webapps # 指定容器中的挂载目录
    

    创建deployment

    kubectl create -f tomcat-deploy.yml
    

    使用命令查看生效情况

    # 查看deployment状态
    kubectl get deployment
    # 查看pod状态
    kubectl get pod
    # 进入容器,查看文件是否挂载成功
    kubectl exec -it tomcat-deploy-6cc6d68877-9wkwm /bin/bash
    # 在容器内查看文件
    ls /usr/local/tomcat/webapps
    # 在nfs宿主机的/data/www-data目录新增、修改文件,观察内容是否同步
    

    至此就完成了基于NFS的K8S集群文件共享设置。

    配置客户端的NFS自动挂载

    使用mount命令挂载,重启系统后将失效,需配置/etc/fstab

    # /etc/fstab中添加如下配置
    192.168.0.31:/data/www-data	/data/www-data	nfs	defaults	0 	0
    

    版权说明

    本文章内容为马士兵教育《架构师高级技能kubernetes入门到精通》课程的学习笔记

    展开全文
  • CentOS7 执行yum 命令出错欢迎使用Markdown编辑器第一步第二步执行三行命令如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片...在虚拟机上针对 基于NFS实现集群文件共享 操作,使用yum install -y nfs-utils

    CentOS7 NFS实现集群文件共享时执行yum 命令出错

    背景介绍:在虚拟机上针对 基于NFS实现集群文件共享 操作,使用yum install -y nfs-utils rpcbind命令时,提示:

    One of the configured repositories failed (Unknown),  
     and yum doesn't have enough cached data to continue. At this point the only  
     safe thing yum can do is fail. There are a few ways to work "fix" this:  
      
      
         1. Contact the upstream for the repository and get them to fix the problem.  
      
      
         2. Reconfigure the baseurl/etc. for the repository, to point to a working  
            upstream. This is most often useful if you are using a newer  
            distribution release than is supported by the repository (and the  
            packages for the previous distribution release still work).  
      
      
         3. Disable the repository, so yum won't use it by default. Yum will then  
            just ignore the repository until you permanently enable it again or use  
            --enablerepo for temporary usage:  
      
      
                yum-config-manager --disable <repoid>  
      
      
         4. Configure the failing repository to be skipped, if it is unavailable.  
            Note that yum will try to contact the repo. when it runs most commands,  
            so will have to try and fail each time (and thus. yum will be be much  
            slower). If it is a very temporary problem though, this is often a nice  
            compromise:  
      
      
                yum-config-manager --save --setopt=<repoid>.skip_if_unavailable=true  
      	
      	Cannot find a valid baseurl for repo: base/7/x86_64 
    

    第一步

    修改vi /etc/resolv.conf,添加下面一行就可以了:

    # 这是国内的dns服务器系统,还是比较好用的。谷歌的可以使用8.8.8.8
    nameserver 114.114.114.114

    修改完后执行service network restart命令进行重启。

    第二步

    进入cd /etc/yum.repos.d,编辑vi CentOS-Base.repo文件,将项[xxx](注意:中括号的项有好几个,注意都要改)中的enabled=1改为enabled=0

    [epel]
    name=Extra Packages for Enterprise Linux 6 - basearchbaseurl=http://mirrors.aliyun.com/epel/6/basearch baseurl=http://mirrors.aliyun.com/epel/6/basearch
    failovermethod=priority
    enabled=0
    gpgcheck=0
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
    .
    [epel-debuginfo]
    name=Extra Packages for Enterprise Linux 6 - basearchDebugbaseurl=http://mirrors.aliyun.com/epel/6/basearch - Debug baseurl=http://mirrors.aliyun.com/epel/6/basearch/debug
    failovermethod=priority
    enabled=0
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
    gpgcheck=0
    .
    [epel-source]
    name=Extra Packages for Enterprise Linux 6 - $basearch - Source
    baseurl=http://mirrors.aliyun.com/epel/6/SRPMS
    failovermethod=priority
    enabled=0
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
    gpgcheck=0

    第三步

    yum remove epel-release
    yum update
    yum install epel-release

    参考连接

    原文连接:
    [1]: https://blog.csdn.net/zhousenshan/article/details/53140979
    [2]: https://blog.csdn.net/weixin_52895466/article/details/113561244
    [3]: https://www.127cloud.com/archives/785.html

    展开全文
  • 由Sun公司研发的文件传输协议,可以在读取文件时,完全当作本地文件使用。NFS主要是采用远程过程调用RPC机制实现文件传输。当挂载到本地后,其实仍是远程的文件,却可以完全当作本地文件使用!实时同步 1、文件提供...

    NFS-Network File System

    由Sun公司研发的文件传输协议,可以在读取文件时,完全当作本地文件使用。NFS主要是采用远程过程调用RPC机制实现文件传输。当挂载到本地后,其实仍是远程的文件,却可以完全当作本地文件使用!实时同步

    1、文件提供方 安装
    yum install -y nfs-utils rpcbind 
    2、创建目录
    //usr/local/data/www-data
    进入目录:cd www-data
    3、vim /etc/exports
    写入目录和配置IP等
    /usr/local/data/www-data 192.168.162.132/24(rw,sync)  24是掩码,rw代表可读可写,sync代表有修改同步写入
    保存
    4、启动nfs服务,rpcbind服务
    systemctl start nfs.service
    systemctl start rpcbind.service
    systemctl enable nfs.service
    systemctl enable rpcbind.service
    5、查看文件共享列表
    exportfs
    
    1、文件使用方 安装
    yum install -y nfs-utils
    systemctl enable nfs.service
    2、查看主服务器共享文件
    showmount -e 192.168.162.132
    3、挂载远程共享目录到本地
    mount 192.168.162.132:/usr/local/data/www-data /mnt  第一个参数为文件提供方ip和共享文件夹 第二参数为本地文件夹
    
    
    展开全文
  • hostPath path:挂载的本地文件路径 设置挂载点 name:对应数据卷别名 mountPath:挂载到容器内部的目录位置 (即将容器中的/usr/local/tomcat/webapps挂载到本地/mnt目录下) 部署 kubectl create -f ./deploy.yml,...
  • 网络文件系统(NFS,Network File System)是一种将远程主机上的分区(目录)经网络挂载到本地系统的一种机制,通过对网络文件系统的支持,用户可以在本地系统上像操作本地分区一样来对远程主机的共享分区(目录)...
  • tomcat8.5.29 redisclouder集群 session共享集群相关配置文件 亲测可用tomcat8.5.29 redisclouder集群 session共享集群相关配置文件 亲测可用 tomcat8.5.29 redisclouder集群 session共享集群相关配置文件 亲测可用 ...
  • K8S集群文件共享实现原理 安装NFS相关组件 # master节点上操作(master需安装nfs-utils和rpcbind,其他从节点只需安装nfs-utils): yum install -y nfs-utils rpcbind 配置master vim /etc/exports 添加配置...
  • 共享集群文件系统GPFS

    2018-04-03 15:21:50
    共享集群文件系统GPFS,版本为4.1.1.0,内部有基础包和升级包
  • 三台服务器Tomcat集群Session共享当时查询好多的博客和文件,内附教程和java文件页面session共享和tomcat9、jDK1.8
  • 分布式存储的服务器共享到一个调度服务器; 高可用(一个文件默认3副本); 高性能(一个文件划分多个并发存储); 组件介绍 mon:集群监控调度端 osd:块存储设备 radosgw:对象存储 MDS:文件系统存储 common:...
  • NFS实现集群文件共享

    千次阅读 2019-11-12 18:03:10
    由于文件是放在两台服务器上,服务器的访问时负载均衡策略,每次上传文件和访问文件有可能是不同的服务器,所以使用文件共享来解决。 NFS简介 NFS是Network File System的简写,即网络文件系统。NFS最早是由 Sun ...
  • 大企业内部,跨团队,跨地域,导致文件共享困难 如果不使用Artifactory,如何实现跨数据中心的文件共享呢? 挂载NFS文件系统,开通跨数据中心的rsync/sftp协议 自研解决方案,通过REST API或者CLI方式, 例如,...
  • URL url= new URL(...URLConnection conn = url.openConnection();conn.getInputStream();本来打算将文件存放在tomcat服务器,通过 getInputStream可以下载,但是conn.getOutputStream()不能上传,原因待究。所...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,291
精华内容 916
关键字:

集群文件共享