美文网首页
4.基于NFS实现动静分离

4.基于NFS实现动静分离

作者: 哆啦A梦_ca52 | 来源:发表于2019-11-29 20:12 被阅读0次
root@master:/opt/k8s-data/yaml/web/linux37/nginx# kubectl  exec -it linux37-nginx-deployment-78f658dd98-9xvcv bash -n linux37
 安装NFS服务:
root@haproxy1:~# apt install nfs-kernel-server -y
root@haproxy1:~# vim /etc/exports 
/data/linux37 *(rw no_root_squash)
root@haproxy1:~# mkdir -p /data/linux37
root@haproxy1:~# systemctl start nfs-server
root@haproxy1:~# systemctl enable nfs-server
测试是否挂载上了
root@master:~# mount -t nfs 192.168.200.201:/data/linux37 /mnt/

查看已经挂载上了
root@master:~# df -h | grep /mn
192.168.200.201:/data/linux37   98G  6.2G   87G   7% /mnt

查看pod信息

root@master:~# kubectl get pod -n linux37
NAME                                              READY   STATUS    RESTARTS   AGE
linux37-nginx-deployment-78f658dd98-9xvcv         1/1     Running   0          100m
linux37-nginx-deployment-78f658dd98-qfwzw         1/1     Running   0          114m
linux37-tomcat-app1-deployment-7d54894fdb-82xdl   1/1     Running   0          7h22m
linux37-tomcat-app2-deployment-6cfff645c-rsd8k    1/1     Running   0          6h55m

root@master:~# kubectl exec -it linux37-nginx-deployment-78f658dd98-9xvcv bash -n linux37
创建文件夹
root@haproxy1:/data/linux37# mkdir /images
root@haproxy1:/data/linux37# mkdir static

修改nfs的地址
root@master:/opt/k8s-data/yaml/web/linux37/nginx# vim nginx.yaml 
 39         volumeMounts:
 40         - name: linux37-images
 41           mountPath: /data/nginx/html/linux37/images
 42           readOnly: false
 48       volumes:
 49       - name: linux37-images
 50         nfs:
 51           server: 192.168.200.201
 52           path: /data/linux37/images
root@master:/opt/k8s-data/yaml/web/linux37/nginx# kubectl apply -f nginx.yaml
查看pod信息 
root@master:/opt/k8s-data/yaml/web/linux37/nginx# kubectl get pod -n linux37
NAME                                              READY   STATUS    RESTARTS   AGE
linux37-nginx-deployment-7db6f7447f-2vj94         1/1     Running   0          18m
linux37-nginx-deployment-7db6f7447f-fvn59         1/1     Running   0          18m
进入到pod里
root@master:/opt/k8s-data/yaml/web/linux37/nginx# kubectl exec  -it linux37-nginx-deployment-7db6f7447f-fvn59 bash -n linux37
查看pod已经挂载上去
[root@linux37-nginx-deployment-7db6f7447f-fvn59 /]# df -TH
192.168.200.201:/data/linux37/images nfs4     106G  6.6G   94G   7% /data/nginx/html/linux37/images

从网上拖一个图片过来

root@haproxy1:/data/linux37/images# ls
1.jpg

查看页面
添加创建pod的yaml文件
root@master:/opt/k8s-data/yaml/web/linux37/nginx# vim nginx.yaml
 38         volumeMounts:
 39         - name: linux37-images
 40           mountPath: /data/nginx/html/linux37/images
 41           readOnly: false
 42         - name: linux37-static
 43           mountPath: /data/nginx/html/linux37/static
 44           readOnly: false
 45       volumes:
 46       - name: linux37-images
 47         nfs:
 48           server: 192.168.200.201
 49           path: /data/linux37/images
 50       - name: linux37-static
 51         nfs:
 52           server: 192.168.200.201
 53           path: /data/linux37/static
更新pod
root@master:/opt/k8s-data/yaml/web/linux37/nginx# kubectl apply -f nginx.yaml 
查看有两个nfs的挂载信息
[root@linux37-nginx-deployment-76c4687b54-l2n26 /]# df -Th | grep 192
192.168.200.201:/data/linux37/static nfs4      98G  6.2G   87G   7% /data/nginx/html/linux37/static
192.168.200.201:/data/linux37/images nfs4      98G  6.2G   87G   7% /data/nginx/html/linux37/images
创建文件
root@haproxy1:/data/linux37/static# cat static.html 
static
访问页面

修改tomcat1的pod配置文件

root@master:/opt/k8s-data/dockerfile/web/linux37/tomcat-app1# cat tomcat-app1.yaml | grep ^[^#] | grep -v "#"
kind: Deployment
apiVersion: extensions/v1beta1
metadata:
  labels:
    app: linux37-tomcat-app1-deployment-label
  name: linux37-tomcat-app1-deployment
  namespace: linux37
spec:
  replicas: 1
  selector:
    matchLabels:
      app: linux37-tomcat-app1-selector
  template:
    metadata:
      labels:
        app: linux37-tomcat-app1-selector
    spec:
      containers:
      - name: linux37-tomcat-app1-container
        image: harbor.wyh.net/linux37/linux37-tomcat:app1 
        imagePullPolicy: Always
        ports:
        - containerPort: 8080
          protocol: TCP
          name: http
        env:
        - name: "password"
          value: "123456"
        - name: "age"
          value: "18"
        resources:
          limits:
            cpu: 2
            memory: "2048Mi"
          requests:
            cpu: 0.5
            memory: "1024Mi"
        volumeMounts:
        - name: linux37-images
          mountPath: /data/nginx/html/linux37/images
          readOnly: false
        - name: linux37-static
          mountPath: /data/nginx/html/linux37/static
          readOnly: false
      volumes:
      - name: linux37-images
        nfs:
          server: 192.168.200.248
          path: /data/linux37/images
      - name: linux37-static
        nfs:
          server: 192.168.200.248
          path: /data/linux37/static
---
kind: Service
apiVersion: v1
metadata:
  labels:
    app: linux37-tomcat-app1-service-label
  name: linux37-tomcat-app1-service
  namespace: linux37
spec:
  type: NodePort
  ports:
  - name: http
    port: 80
    protocol: TCP
    targetPort: 8080
    nodePort: 30002
  selector:
    app: linux37-tomcat-app1-selector
---
apiVersion: autoscaling/v2beta1
kind: HorizontalPodAutoscaler
metadata:
  namespace: linux37
  name: linux37-tomcat-app1-podautoscaler
  labels:
    app: linux37-tomcat-app1
    version: v2beta1
spec:
  scaleTargetRef:
    apiVersion: apps/v1 
    kind: Deployment
    name: linux37-tomcat-app1-deployment
  minReplicas: 1 
  maxReplicas: 5
  metrics:
  - type: Resource
    resource:
      name: cpu
      targetAverageUtilization: 1
  - type: Resource 
    resource:
      name: memory
      targetAverageValue: 1024Mi
root@master:/opt/k8s-data/dockerfile/web/linux37/tomcat-app1# kubectl apply -f tomcat-app1.yaml 


创建tomcat2的配置文件
root@master:/opt/k8s-data/dockerfile/web/linux37/tomcat-app2# cat tomcat-app2.yaml | grep ^[^#] | grep -v "#"
kind: Deployment
apiVersion: extensions/v1beta1
metadata:
  labels:
    app: linux37-tomcat-app2-deployment-label
  name: linux37-tomcat-app2-deployment
  namespace: linux37
spec:
  replicas: 1
  selector:
    matchLabels:
      app: linux37-tomcat-app2-selector
  template:
    metadata:
      labels:
        app: linux37-tomcat-app2-selector
    spec:
      containers:
      - name: linux37-tomcat-app2-container
        image: harbor.wyh.net/linux37/linux37-tomcat:app2 
        imagePullPolicy: Always
        ports:
        - containerPort: 8080
          protocol: TCP
          name: http
        env:
        - name: "password"
          value: "123456"
        - name: "age"
          value: "18"
        resources:
          limits:
          requests:
        volumeMounts:
        - name: linux37-images
          mountPath: /data/nginx/html/linux37/images
          readOnly: false
        - name: linux37-static
          mountPath: /data/nginx/html/linux37/static
          readOnly: false
      volumes:
      - name: linux37-images
        nfs:
          server: 192.168.200.201
          path: /data/linux37/images
      - name: linux37-static
        nfs:
          server: 192.168.200.201
          path: /data/linux37/static
---
kind: Service
apiVersion: v1
metadata:
  labels:
    app: linux37-tomcat-app2-service-label
  name: linux37-tomcat-app2-service
  namespace: linux37
spec:
  type: NodePort
  ports:
  - name: http
    port: 80
    protocol: TCP
    targetPort: 8080
    nodePort: 30003
  selector:
    app: linux37-tomcat-app2-selector
创建tomcat2
root@master:/opt/k8s-data/dockerfile/web/linux37/tomcat-app2# kubectl apply -f tomcat-app2.yaml 
查看tomcat的挂载情况
[root@linux37-tomcat-app1-deployment-798998586b-lz58s /]# df -Th  | grep 19
192.168.200.201:/data/linux37/static nfs4      98G  6.2G   87G   7% /data/nginx/html/linux37/static
192.168.200.201:/data/linux37/images nfs4      98G  6.2G   87G   7% /data/nginx/html/linux37/images
查看App2的
[root@linux37-tomcat-app2-deployment-f5749f98c-lcwqm /]# df -Th | grep 192
192.168.200.201:/data/linux37/static nfs4      98G  6.2G   87G   7% /data/nginx/html/linux37/static
192.168.200.201:/data/linux37/images nfs4      98G  6.2G   87G   7% /data/nginx/html/linux37/images

相关文章

  • 4.基于NFS实现动静分离

    查看pod信息 从网上拖一个图片过来 修改tomcat1的pod配置文件

  • Day44-Nginx集群架构:Tomcat动静分离+Rewri

    本章课程内容tomcat动静分离: 1.什么是动静分离? 2.为什么要做动静分离? 3.如何实现动静分离? 4.单...

  • 网站开发动静分离实践书目录

    网站开发动静分离实践 网站开发之动静分离的实现思路 网站开发之动静分离的实现优缺点 网站开发之实现案例 网站开发之...

  • 20171016 网络文件共享(二) NFS服务

    NFS服务介绍NFS配置文件NFS工具自动挂载实验:实现基于NFS共享的LAMP wordpress的应用 一、N...

  • HAProxy+Varnish动静分离部署WordPress

    介绍使用HAProxy+varnish实现WordPress的动静分离;实验要求:(1) 动静分离部署wordpr...

  • Nginx实现动静分离

    Nginx的静态处理能力很强,但是动态处理能力不足,因此,在企业中常用动静分离技术。动静分离技术其实是采用代理的方...

  • Nginx实现动静分离

    结合本文场景,需要安装Nginx和Java环境(运行SpringBoot项目)。 1.什么是动静分离? 在弄清动静...

  • nginx实现动静分离

    对于静态资源比如图片,js,css等文件,我们可以在反向代理服务器nginx中进行缓存。这样浏览器在请求一个静态资...

  • Nginx实现动静分离

    本文利用Nginx实现简单动静分离,本文使用Nginx和一个SpringBoot简单Web应用实现。 1.准备工作...

  • 网络文件共享服务

    实现基于DB文件的虚拟用户FTP服务 实现基于MySQL的虚拟用户FTP服务 实现基于NFS共享服务的http实时...

网友评论

      本文标题:4.基于NFS实现动静分离

      本文链接:https://www.haomeiwen.com/subject/axsgwctx.html