当前位置:主页 > 查看内容

OSS(FlexVolume) - 弹性容器实例

发布时间:2021-09-17 00:00| 位朋友查看

简介:前提条件 K8S集群中正确部署了virtual-kubelet(serverless Kubernetes 默认集成)。 使用OSS之前,您需要先在OSS管理控制台上创建Bucket。具体操作,请参见 创建存储空间 。 说明 相同地域的OSS Bucket可以使用内网地址进行挂载。 关于如何使用OSS存储卷,……

前提条件

  • K8S集群中正确部署了virtual-kubelet(serverless Kubernetes 默认集成)。

  • 使用OSS之前,您需要先在OSS管理控制台上创建Bucket。具体操作,请参见创建存储空间

说明

  • 相同地域的OSS Bucket可以使用内网地址进行挂载。

  • 关于如何使用OSS存储卷,请参见OSS存储卷使用说明

使用RamRole方式

针对存放在 Bucket 的 Object 的访问,OSS 提供了多种权限控制方式,包括 ACL、Bucket Policy 和 RAM Policy(推荐使用)。可根据业务需求来管理权限控制。更多信息,请参见访问控制概述

1、EciOssRoleShare具有OSSFull权限

EciOssRoleShare

2、使用role的方式挂载oss,创建并复制以下内容到 flexvolume-oss.yaml 中。

apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-oss-deploy
spec:
  replicas: 1
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx-flexvolume-oss
        image: nginx
        volumeMounts:
          - name: "oss1"
            mountPath: "/data"
      volumes:
        - name: "oss1"
          flexVolume:
            driver: "alicloud/oss"
            options:
              bucket: "liumihust"
              url: "oss-cn-hangzhou.aliyuncs.com"
              otherOpts: "-o max_stat_cache_size=0 -o allow_other"
              ramRole: "EciOssRoleShare"

使用kubectl创建:

# kubectl create -f flexvolume-oss.yaml

# kubectl get pod nginx-oss-deploy-759c8cc4f4-dqgk5
NAME                                READY   STATUS    RESTARTS   AGE
nginx-oss-deploy-759c8cc4f4-dqgk5   1/1     Running   0          10m

# kubectl exec -it nginx-oss-deploy-759c8cc4f4-dqgk5 bash
root@nginx-oss-deploy-759c8cc4f4-dqgk5:/# ls
bin   data  docker-entrypoint.d   etc lib    media  opt   root  sbin  sys  usr
boot  dev   docker-entrypoint.sh  home  lib64  mnt    proc  run   srv tmp  var
root@nginx-oss-deploy-759c8cc4f4-dqgk5:/# cd data/
root@nginx-oss-deploy-759c8cc4f4-dqgk5:/data# ls
 eci
 format-test.jar
 fromLocalVM
 liumi20200305
 test
 vvvv
''$'\351\230\277\351\207\214\344\272\221\345\274\271\346\200\247\345\256\271\345\231\250\345\256\236\344\276\213\357\274\210''ECI'$'\357\274\211\344\272\247\345\223\201\344\273\213\347\273\215'' v0.2.pptx'
root@nginx-oss-deploy-759c8cc4f4-dqgk5:/data#

直接传用户AK方式

说明

需要将用户AK传给option(考虑到安全性,不建议使用)

1、如下使用直接传用户AK的方式

apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-oss-deploy
spec:
  replicas: 1
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx-flexvolume-oss
        image: nginx
        volumeMounts:
          - name: "oss1"
            mountPath: "/data"
      volumes:
        - name: "oss1"
          flexVolume:
            driver: "alicloud/oss"
            options:
              bucket: "liumihust"
              url: "oss-cn-hangzhou.aliyuncs.com" # 
              otherOpts: "-o max_stat_cache_size=0 -o allow_other"
              akId: "***"
              akSecret: "***"


本站部分内容转载于网络,版权归原作者所有,转载之目的在于传播更多优秀技术内容,如有侵权请联系QQ/微信:153890879删除,谢谢!
上一篇:容器服务 构建测试 - 最佳实践 下一篇:没有了

推荐图文

  • 周排行
  • 月排行
  • 总排行

随机推荐