在k8s上面部署fastdfs文件存储服务器

在k8s上面部署fastdfs文件存储服务器

之前项目需要在在k8s上面部署fastdfs文件存储服务器,在网上找了好多文章都没有相关的说明和部署文件,就找到过一篇这样的文章,根据那篇文章做了些改动,最后完成了相关的部署,但是我自己也还是不太清楚这样部署是不是正确并安全的。如果有什么错误请大家提出来,互相学习。

  1. 首先是tracker容器的部署文件
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
    name: tracker-deploy # 部署的容器名称
    namespace: fastdfs # 部署到的命名空间
    labels:
        name: tracker-deploy
spec:# 该 Deployment 的规格说明
    replicas: 1 # 副本数
    template:
        metadata:
            labels:
                app: tracker
        spec:
            nodeSelector:
              fastdfs: tracker # 选择器,nodeSelector根据 label 指定pod起在哪台机器上,根据自身所需进行修改,必须先在节点上面定义此标签
            terminationGracePeriodSeconds: 0
            containers:
            - name: tracker
              image: luhuiguo/fastdfs
              imagePullPolicy: Always #获取镜像的策略 Always表示下载镜像 IfNotPresent表示优先使用本地镜像,否则下载镜像,Nerver表示仅使用本地镜像
              ports:
              - containerPort: 22122
              protocol: TCP #端口协议,支持TCP和UDP,默认TCP
              volumeMounts:
              - name: tracker-volume
                mountPath: /var/fdfs
              command: ["/usr/bin/start.sh","tracker"]
            volumes:
            - name: tracker-volume
              hostPath:
                path: /home/data/fastdfs/tracker # 在宿主机上存储的地址
  1. storage容器的部署文件
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
    name: storage0-deploy
    namespace: fastdfs
    labels:
        name: storage0-deploy
spec:
    replicas: 1
    template:
        metadata:
            labels:
                app: storage0
        spec:
            nodeSelector:
              fastdfs: storage0
            terminationGracePeriodSeconds: 0
            containers:
            - name: storage0
              image: luhuiguo/fastdfs # 表示引用镜像的地址
              imagePullPolicy: Always
              ports:
              - containerPort: 22122
              protocol: TCP #端口协议,支持TCP和UDP,默认TCP
              volumeMounts:
              - name: storage0-volume
                mountPath: /var/fdfs
              env:
              - name: TRACKER_SERVER
                value: 10.96.0.110:22122
              command: ["/usr/bin/start.sh","storage"]
            volumes:
            - name: storage0-volume
              hostPath:
                path: /home/data/fastdfs/storage0 # 在宿主机上存储的地址,可自行配置
  1. tracker服务和storage服务的部署文件,此处配置的服务类型为NodePort,便是可以通过外网访问,因为是在java代码中进行文件的操作,所以配置为外网访问,防止出现连接超时的情况。
apiVersion: v1
kind: Service
metadata:
    name: tracker
    labels:
        app: tracker
    namespace: fastdfs
spec:
    selector:
        app: tracker # 这里选择器一定要选择容器的标签
    type: NodePort  # 此处可以是ClusterIP,但ClusterIP只能在集群内部调用,外网访问不了
    clusterIP: 10.96.0.110
    ports:
    - name: "22122"
      port: 22122
      targetPort: 22122
      nodePort: 22122
      
---
apiVersion: v1
kind: Service
metadata:
    name: storage0
    labels:
        app: storage0
    namespace: fastdfs
spec:
    selector:
        app: storage0
    type: NodePort
    ports:
    - name: "23000"
      port: 23000
      targetPort: 23000
      nodePort: 23000

我之前就是参照这篇文章写的,如果有需要可以参照:docker、kubernetes安装部署fastdfs文件集群系统

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值