美文网首页openshift
openshift 使用S3作为registry 存储

openshift 使用S3作为registry 存储

作者: 一个很久没写代码的人 | 来源:发表于2018-11-23 21:34 被阅读0次

    S3 是AWS提供的存储服务,可以通过RestAPI进行访问,CEPH提供了一个GateWay API 来支持通过S3API来访问ceph
    在OpenShift中支持S3,因此可以在openshift中通过S3接口访问ceph,本文目标是,通过S3 API 将openshift default registry数据保存在Ceph中

    步骤

    1. 创建config.yaml 文件
    version: 0.1
    log:
      level: debug
    http:
      addr: :5000
    storage:
      cache:
        blobdescriptor: inmemory
      s3:
        accesskey: awsaccesskey 
        secretkey: awssecretkey 
        region: us-west-1
        regionendpoint: http://myobjects.local
        bucket: bucketname
        encrypt: true
        keyid: mykeyid
        secure: true
        v4auth: false
        chunksize: 5242880
        rootdirectory: /s3/object/name/prefix
    auth:
      openshift:
        realm: openshift
    middleware:
      registry:
        - name: openshift
      repository:
        - name: openshift
    
    1. 创建一个名为registry-config 的secret
    oc secrets new registry-config config.yml=./config.yaml
    
    1. registry-config 作为一个volume添加到registry 的DC中
      此时会将config.yaml 文件挂载在 /etc/docker/registry 目录下
    oc volume dc/docker-registry --add --type=secret \
        --secret-name=registry-config -m /etc/docker/registry/
    
    1. 在dc中添加参数 REGISTRY_CONFIGURATION_PATH,使其使用新加的配置文件创建registry pod
    oc set env dc/docker-registry \
        REGISTRY_CONFIGURATION_PATH=/etc/docker/registry/config.yml
    

    等registry 重启后即可正常使用

    排查方案

    1. 要确保Ceph可以正常访问,可以通过浏览器访问Ceph bucket 验证

    Reference:
    https://docs.openshift.com/container-platform/3.3/install_config/registry/extended_registry_configuration.html#advanced-overriding-the-registry-configuration
    https://docs.docker.com/registry/storage-drivers/s3/#parameters

    相关文章

      网友评论

        本文标题:openshift 使用S3作为registry 存储

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