美文网首页
k8s挂载s3fs

k8s挂载s3fs

作者: shaun_x | 来源:发表于2023-06-11 11:08 被阅读0次

github地址:https://github.com/freegroup/kube-s3
DaemonSet的配置 mountPath: /var/s3:shared 在containerd引擎下变成了路径/var/s3:shared
修改mountPath去掉shared, 添加:mountPropagation: Bidirectional
yaml如下:

apiVersion: apps/v1
kind: DaemonSet
metadata:
  labels:
    app: s3-provider
  name: s3-provider
spec:
  selector:
    matchLabels:
      app: s3-provider
  template:
    metadata:
      labels:
        app: s3-provider
    spec:
      containers:
      - name: s3fuse
        image: kube-s3:1.0
        lifecycle:
          preStop:
            exec:
              command: ["/bin/sh","-c","umount -f /var/s3"]
        securityContext:
          privileged: true
        envFrom:
        - secretRef:
            name: s3-config
        volumeMounts:
        - name: mntdatas3fs
          mountPath: /var/s3
          mountPropagation: Bidirectional
      volumes:
      - name: mntdatas3fs
        hostPath:
          path: /mnt/data-s3-fs

example_pod.yaml

apiVersion: v1
kind: Pod
metadata:
  name: test-pd
spec:
  containers:
  - image: nginx:1.20.0
    name: s3-test-container
    volumeMounts:
    - name: mntdatas3fs
      mountPath: /var/s3
  volumes:
  - name: mntdatas3fs
    hostPath:
      path: /mnt/data-s3-fs/

DockerFfile

FROM alpine:latest

ENV MNT_POINT /var/s3
ENV S3_REGION ''

VOLUME /var/s3


ARG S3FS_VERSION=v1.91

RUN apk --update add bash fuse libcurl libxml2 libstdc++ libgcc alpine-sdk automake autoconf libxml2-dev fuse-dev curl-dev git; \
    git clone https://github.com/s3fs-fuse/s3fs-fuse.git; \
    cd s3fs-fuse; \
    git checkout tags/${S3FS_VERSION}; \
    ./autogen.sh; \
    ./configure --prefix=/usr ; \
    make; \
    make install; \
    make clean; \
    rm -rf /var/cache/apk/*; \
    apk del git automake autoconf;

RUN mkdir -p "$MNT_POINT"

CMD echo "${AWS_KEY}:${AWS_SECRET_KEY}" > /etc/passwd-s3fs && \
    chmod 0400 /etc/passwd-s3fs && \
    /usr/bin/s3fs $S3_BUCKET $MNT_POINT -f -o url=${S3_URL},endpoint=${S3_REGION},allow_other,use_cache=/tmp,max_stat_cache_size=1000,stat_cache_expire=900,retries=5,connect_timeout=10,use_path_request_style

Secret

apiVersion: v1
kind: Secret
metadata:
  name: s3-config
stringData:
  S3_URL: http://_your_s3_url
  S3_BUCKET: bucket_name
  AWS_KEY: xxxxx
  AWS_SECRET_KEY: xxxxx

相关文章

网友评论

      本文标题:k8s挂载s3fs

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