CC00023.CloudKubernetes——|Kubernetes&持久化存储.V01|——|NFS存储|

一、持久存储-nfs
二、持久存储-NFS
### --- 找一台新的服务器作为nfs服务器,

[root@k8s-nfs ~]#  yum install -y nfs-utils
~~~     设置挂载的目录
[root@k8s-node2 ~]# vim /etc/exports
/data/nfs *(rw,no_root_squash)

~~~     挂载的路径必须手动创建,若是不创建,后期挂载时挂载不成功的
[root@k8s-node2 ~]# mkdir -p /data/nfs
### --- 在k8snode节点上安装上nfs服务
~~~     两个k8s-node节点上都需要部署nfs服务,执行第一步操作
~~~     安装上之后,它会自动帮你挂载

[root@k8s-node1 ~]# yum install -y nfs-utils                
[root@k8s-node2 ~]# yum install -y nfs-utils
### --- 在nfs服务端启动nfs

[root@k8s-nfs ~]# systemctl restart rpcbind 
[root@k8s-nfs ~]# systemctl start nfs
### --- 在k8s集群部署应用使用nfs持久网络存储

[root@k8s-master ~]# mkdir pv
[root@k8s-master ~]# cd pv
[root@k8s-master pv]# vim nfs-nginx.yaml
apiVersion: apps/v1
kind: Deployment                                    # 部署一个deployment
metadata:
  name: nginx-dep1
spec:
  replicas: 1                                       # 副本只有一个
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx
        volumeMounts:                               # 通过volumeMounts挂载镜像
        - name: wwwroot
          mountPath: /usr/share/nginx/html          # 挂载路径
        ports:
        - containerPort: 80
      volumes:
        - name: wwwroot
          nfs:
            server: 10.10.10.14                      # nfs服务器地址
            path: /data/nfs
[root@k8s-master pv]# kubectl apply -f nfs-nginx.yaml 
deployment.apps/nginx-dep1 created

[root@k8s-master pv]# kubectl get pods
nginx-dep1-64f6dc84c9-7jcpm                     1/1     Running     0          8s
### --- 查看它的创建日志

[root@k8s-master pv]# kubectl describe pod nginx-dep1-64f6dc84c9-7jcpm
Events:
  Type    Reason     Age   From                Message
  ----    ------     ----  ----                -------
  Normal  Scheduled  62s   default-scheduler   Successfully assigned default/nginx-dep1-64f6dc84c9-7jcpm to k8s-node2
  Normal  Pulling    57s   kubelet, k8s-node2  Pulling image "nginx"
  Normal  Pulled     57s   kubelet, k8s-node2  Successfully pulled image "nginx"
  Normal  Created    56s   kubelet, k8s-node2  Created container nginx
  Normal  Started    56s   kubelet, k8s-node2  Started container nginx
### --- 进入应用
[root@k8s-master pv]# kubectl exec -it nginx-dep1-64f6dc84c9-7jcpm  bash

~~~     #挂载目录下目前为空
root@nginx-dep1-64f6dc84c9-7jcpm:/# ls /usr/share/nginx/html/
### --- 在nfs服务端创建文件
[root@k8s-nfs ~]# vim /data/nfs/index.html
hello k8s-nfs server
 
~~~     进入k8s部署的持久应用服务查看挂载目录,可以查看到在k8s-nfs下创建的文件
root@nginx-dep1-64f6dc84c9-7jcpm:/# ls /usr/share/nginx/html/
index.html  
root@nginx-dep1-64f6dc84c9-7jcpm:/# cat /usr/share/nginx/html/index.html 
hello k8s-nfs server
### --- 对外暴露端口

[root@k8s-master pv]# kubectl expose deployment nginx-dep1 --port=80 --target-port=80 --type=NodePort
service/nginx-dep1 exposed
[root@k8s-master pv]# kubectl get svc
nginx-dep1       NodePort    10.99.50.53     <none>        80:30769/TCP   4s
### --- 通过Chrome访问持久化地址+端口号访问网页页面:http://10.10.10.14:30769/:
~~~     访问到该内容

service/nginx-dep1 exposed
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yanqi_vip

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值