Kubernetes 1.11.2使用NFS作为共享存储

环境:
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 nfs
systemctl 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: v1
kind: PersistentVolume
metadata:
  name: nfs-pv
  labels:
    pv: nfs-pv
spec:
  capacity:
    storage: 10Gi
  accessModes:
    - ReadWriteMany
  persistentVolumeReclaimPolicy: Retain
  nfs:
    path: /data/nfs
    server: 192.168.0.252

kubernetes创建PVC

kind: PersistentVolumeClaim
apiVersion: v1
metadata:
  name: nfs-pvc
spec:
  accessModes:
    - ReadWriteMany
  resources:
    requests:
      storage: 10Gi
  selector:
    matchLabels:
      pv: nfs-pv

kubernetes创建deployment

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: nginx-test
spec:
  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: v1
kind: Service
metadata:
  name: nginx-test
  labels:
    name: nginx-test
spec:
  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

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

时间: 2024-08-26 08:44:45

Kubernetes 1.11.2使用NFS作为共享存储的相关文章

Kubernetes使用NFS作为共享存储

Kubernetes使用NFS作为共享存储 kubernetes管理的容器是封装的,有时候我们需要将容器运行的日志,放到本地来或是共享存储来,以防止容器宕掉,日志还在还可以分析问题.kubernetes的共享存储方案目前比较流行的一般是三个,分别是:nfs,Glusterfs和ceph. 前面写过一篇kubernetes使用GlusterFS的文章,如果有兴趣也可以去实践下:http://blog.51cto.com/passed/2139299 今天要讲的是kubernetes使用nfs作为共

如何利用NFS进行共享存储服务?带大家来实操

NFS共享存储服务开两台centos系统:7-1(服务端)和7-2(客户端)在7-1服务端中添加一块磁盘,40G,重启完成后对其进行配置.Xshell远程连接7-1与7-2系统.将7-1与7-2的主机名分别设置为server与client.查看新添加的磁盘对其分一个区,40G,保存:接着格式化sdb1(centos7中文件系统为xfs,centos6中为ext4).给其设置自动挂载,进入/etc/fstab中编辑,将其挂载到mnt目录下重新读取fstab中配置数据,查看挂载状态服务端得安装相关软

漫漫运维路——使用NFS构建出共享存储的LAMP平台,实现Wordpress论坛的数据同步

假设现在需要构建一个Wordpress论坛站点,为了减轻站点压力,使用两台主机用于Apache服务器,对外提供WEB服务.且此两台主机都有独立IP地址.要求用MariaDB和NFS实现两个站点之间的数据同步. 拓扑如下 如上图所示.SERVER1有两块网卡,一块负责和外网通信,一块通过S1和内网中的SERVER2和SERVER3交互.以下是各主机的地址规划 主机 地址 用途 SERVER1 Eth0:192.168.252.10 配置两台虚拟主机,都安装上Wordpress Eth1:192.1

Linux中Samba与NFS的共享示例

在这里面所有的服务器为CentOS 6.9,samba客户端和NFS客户端均为CentOS 7.2要完成以下操作需要安装的软件包:yum install httpd mariadb-server(CentOS6.9是mysql-server)nfs-utils samba php php-fpm php-mysql nginx安装完成即可进行操作:使用samba和NFS分别共享/data目录:首先使用NFS共享/data目录:创建共享目录:~]# mkdir /data在centos6中编辑文件

011.Kubernetes使用共享存储持久化数据

本次实验是以前面的实验为基础,使用的是模拟使用kubernetes集群部署一个企业版的wordpress为实例进行研究学习,主要的过程如下: 1.mysql deployment部署, wordpress deployment部署, wordpress连接mysql时,mysql的 pod ip易变 2.为mysql创建 service,申请固定 service lp 3. wordpress外部可访问,使用 node port类型的 service 4. nodeport类型的 service

生产场景NFS共享存储优化及实战

生产场景NFS共享存储优化: 1.硬件:sas/ssd磁盘,买多块,raid0/raid10,网卡好 2.NFS服务器端优化加all_squash,async /backup/NFS 192.168.0.0/24(rw,async,all_squash)用这两个选项效率高了,但是就不可靠了. 3.客户端挂载:rsize,wsize,noatime,nodiratime四个选项为性能优化选项,nosuid,noexec两个选项为安全优化选项 mount -t nfs -o noatime,nodi

搭建nfs共享存储服务之三客户端配置及实战测试故障总结

在客户端操作的: 1. 检查客户端有没有安装nfs-utils和rpcbind软件程序 (这两个必须安装) [[email protected] ~]# rpm -qa nfs-utils rpcbindnfs-utils-1.2.3-75.el6.x86_64rpcbind-0.2.0-13.el6_9.1.x86_64 如果没有安装,需要用yum安装.安装方法参考:搭建nfs共享存储服务之二 [[email protected] ~]# /etc/init.d/rpcbind statusr

Kubernetes创建挂载共享存储的容器

原文链接:https://www.58jb.com/html/135.html 在上一次的Mysql容器中,已经使用过了配置宿主机目录挂载的方式,这样虽然方便但是不够安全:一般都是把数据存储在远程服务器上如:NFS,GlusterFS,ceph等:一般目前主流的还是使用ceph.GlusterFS; 本次实验使用最简单的方式NFS来配置一个通过挂载共享存储的nginx容器: 两台机器: kubernetes:  10.0.10.135  [Centos7.2] nfs: 10.0.10.31  

kubeadm安装kubernetes v1.11.3 HA多主高可用并启用ipvs

环境介绍: 系统版本:CentOS 7.5 内核:4.18.7-1.el7.elrepo.x86_64 Kubernetes: v1.11.3 Docker-ce: 18.06 Keepalived保证apiserever服务器的IP高可用 Haproxy实现apiserver的负载均衡 master x3 && etcd x3 保证k8s集群可用性 192.168.1.1 master 192.168.1.2 master2 192.168.1.3 master3 192.168.1.4