image registry & volume management

14
Dockyard-container Image Registry & Volume Management https://github.com/containerops/dockyard Leo Meng <[email protected]>

Upload: others

Post on 06-May-2022

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Image Registry & Volume Management

Dockyard-container

Image Registry & Volume Management

https://github.com/containerops/dockyardLeo Meng <[email protected]>

Page 2: Image Registry & Volume Management

Who Am I ?

孟繁亮

Senior Architect & Full Stack Developer

Email: [email protected]

Page 3: Image Registry & Volume Management

CNCF Conceptual Architecture

Application definition and orchestration

specification

Resource scheduling

specification

Distributed systems services

specification

Container registry

Container repository

Container Runtime agent

Compute node OS

... N

Software defined network

Infrastructure provisioning

Software defined storage

Page 4: Image Registry & Volume Management

Dockyard Proposals

• Image storage and meta discovery for major container runtime like Docker, rkt, hyper.

• Support P2P delivery image. • Public & private repositories for user and organization.• Build-in object storage engine and drivers.• Build-in object storage service.• Build-in container volume management for runtime with distributed

file system. • Convert image object to distributed file-system for container mount

and start directly.• Container image encryption and verification.

Page 5: Image Registry & Volume Management

Dockyard Functions

Docker Registry V1

Docker Registry V2 ……Appc Meta

Discovery

Object Storage Volume Management

Dockyard Engine

P2P

Page 6: Image Registry & Volume Management

Dockyard Architecture

REST API Interface

WEB Interface CLI Interface

WEB Framework [Macaron]Router & Middleware

Docker Registry V1 Handler

Docker Registry V2 Handler

Appc Meta Discovery Handler

P2P Module

Object Storage Service

Backend Storage Driverv

Volume Management

Distributed Filesystem

Distributed Database [TiDB]

S3Google Storage

Aliyun OSS …

Page 7: Image Registry & Volume Management

Docker Registry V1 & V2 Protocol

Docker Registry V1 Docker Registry V2

Implement Docker Registry Docker Distribution

Language Python Golang

PULL/PUSH Resumable None Spec

Authentication Authentication With Index(Hub) Authentication Service

Index Image ID SHA1

ManifestNone manifest,

json/layer/checksum file per layer

Have manifest with V1 compatibility

Signature None Signed Manifest

Method POST PUT GET HEAD POST PATCH PUT GET

Page 8: Image Registry & Volume Management

Appc Metadata Discovery Protocol

• Simple Discovery : https://{name}-{version}-{os}-{arch}.{ext}

• Meta Discovery: https://{name}?ac-discovery=1

• Validation: sha512

• Authentication: HTTP basic authentication over HTTPS connections

Page 9: Image Registry & Volume Management

Distribute Container Image Peer To Peer

https://github.com/coreos/rkt/issues/1751

Page 10: Image Registry & Volume Management

Storage Engine With Drivers

In Channel

Out Success Channel

Out Failure Channel

Upload

Handler

Handler

Registry

S3 Driver

GCD Driver

OSS Driver

Content Analytics

Vulnerability Analysis

Page 11: Image Registry & Volume Management

Build-in Object Storage Servicehttps://github.com/brewcoolbear/ipa

Page 12: Image Registry & Volume Management

Volume Management

Object Storage Service Distributed File System

HostsContainer B

Container A

Container D

Image Image

Image ImageImage Image

Image Image

Pull & Mount

Folder

Image

Volume

Container C

Page 13: Image Registry & Volume Management

Dockyard Roadmap

• Docker registry V1 [Done]• Docker registry V2 [Done]• Object storage backend and drivers [Done]• REST API interface [Done]• Rkt Meta Discovery [Done]• P2P modules [Doing]• Object storage service [Doing]• Volume management with distributed file-system [Feature]• Convert between object storage and distributed file-system [Feature]• Web interface and CLI interface [Feature]• Container image encryption and verification[Feature]

Page 14: Image Registry & Volume Management

End & Thanks