αž‚αŸ†αžšαžΌαž“αŸƒαž€αžΆαžšαž•αŸ’αž‘αž»αž€αž‘αž·αž“αŸ’αž“αž“αŸαž™αž“αŸ…αž€αŸ’αž“αž»αž„ Kubernetes

αž‚αŸ†αžšαžΌαž“αŸƒαž€αžΆαžšαž•αŸ’αž‘αž»αž€αž‘αž·αž“αŸ’αž“αž“αŸαž™αž“αŸ…αž€αŸ’αž“αž»αž„ Kubernetes
ហេហេ!

αž™αžΎαž„αžšαŸ†αž›αžΉαž€αž’αŸ’αž“αž€αžαžΆαž™αžΎαž„αž”αžΆαž“αž…αŸαž‰αž•αŸ’αžŸαžΆαž™αž˜αž½αž™αž•αŸ’αžŸαŸαž„αž‘αŸ€αžαž‚αž½αžšαž±αŸ’αž™αž…αžΆαž”αŸ‹αž’αžΆαžšαž˜αŸ’αž˜αžŽαŸαž“αž·αž„αž˜αžΆαž“αž”αŸ’αžšαž™αŸ„αž‡αž“αŸαž”αŸ†αž•αž»αžαŸ” αžŸαŸ€αžœαž—αŸ… αž’αŸ†αž–αžΈαž›αŸ†αž“αžΆαŸ† Kubernetes αŸ” αžœαžΆαž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž”αžΆαž“αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž‡αžΆαž˜αž½αž™ "αž›αŸ†αž“αžΆαŸ†"Brendan Burns αž αžΎαž™αžŠαŸ„αž™αžœαž·αž’αžΈαž“αŸαŸ‡ αž™αžΎαž„αž˜αžΆαž“αž€αžΆαžšαž„αžΆαžšαž“αŸ…αž€αŸ’αž“αž»αž„αž•αŸ’αž“αŸ‚αž€αž“αŸαŸ‡αŸ” αž†αŸ’αž’αž·αž“. αžαŸ’αž„αŸƒαž“αŸαŸ‡ αž™αžΎαž„αžŸαžΌαž˜αž’αž‰αŸ’αž‡αžΎαž‰αž’αŸ’αž“αž€αž±αŸ’αž™αž’αžΆαž“αž’αžαŸ’αžαž”αž‘αž˜αž½αž™αž–αžΈαž”αŸ’αž›αž»αž€ MinIO αžŠαŸ‚αž›αžšαŸ€αž”αžšαžΆαž”αŸ‹αž™αŸ‰αžΆαž„αžαŸ’αž›αžΈαž’αŸ†αž–αžΈαž“αž·αž“αŸ’αž“αžΆαž€αžΆαžš αž“αž·αž„αž‡αžΆαž€αŸ‹αž›αžΆαž€αŸ‹αž“αŸƒαž‚αŸ†αžšαžΌαž“αŸƒαž€αžΆαžšαž•αŸ’αž‘αž»αž€αž‘αž·αž“αŸ’αž“αž“αŸαž™αž“αŸ…αž€αŸ’αž“αž»αž„ Kubernetes αŸ”

Kubernetes αž”αžΆαž“αž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαž‡αžΆαž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž“αžΌαžœαž€αžΆαžšαž’αž—αž·αžœαžŒαŸ’αžαž“αŸαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž”αŸ‚αž”αž”αŸ’αžšαž–αŸƒαžŽαžΈ αž“αž·αž„αž›αŸ†αž“αžΆαŸ†αž“αŸƒαž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αŸ” αž₯αž‘αžΌαžœαž“αŸαŸ‡αž€αŸ’αžšαž»αž˜αž˜αž½αž™αž’αžΆαž…αž”αž„αŸ’αž€αžΎαž αžŸαžΆαž€αž›αŸ’αž”αž„ αž“αž·αž„αžŠαžΆαž€αŸ‹αž±αŸ’αž™αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž˜αž½αž™αž€αŸ’αž“αž»αž„αžšαž™αŸˆαž–αŸαž›αž”αŸ‰αž»αž“αŸ’αž˜αžΆαž“αžαŸ’αž„αŸƒβ€”αž“αŸ…αž‘αžΌαž‘αžΆαŸ†αž„αž”αžšαž·αžŸαŸ’αžαžΆαž“αž‡αžΆαž…αŸ’αžšαžΎαž“ αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž“αŸ…αž€αŸ’αž“αž»αž„αž€αŸ’αžšαž»αž˜ Kubernetes αŸ” αž€αžΆαžšαž„αžΆαžšαž”αŸ‚αž”αž“αŸαŸ‡αž‡αžΆαž˜αž½αž™αž”αž…αŸ’αž…αŸαž€αžœαž·αž‘αŸ’αž™αžΆαž‡αŸ†αž“αžΆαž“αŸ‹αž˜αž»αž“ αž‡αžΆαž’αž˜αŸ’αž˜αžαžΆαž…αŸ†αžŽαžΆαž™αž–αŸαž›αž…αŸ’αžšαžΎαž“αžŸαž”αŸ’αžαžΆαž αŸ αž”αžΎαž˜αž·αž“αžšαžΆαž”αŸ‹αžαŸ‚αŸ”

αž€αžΆαžšαž”αž„αŸ’αž€αžΎαž“αž›αŸ’αž”αžΏαž“αž“αŸαŸ‡αž’αžΆαž…αž’αŸ’αžœαžΎαž‘αŸ…αž”αžΆαž“αžŠαŸ„αž™αž€αžΆαžšαž’αžšαžΌαž”αžΈαžŠαŸ‚αž›αž•αŸ’αžαž›αŸ‹αžŠαŸ„αž™ Kubernetes - αž“αŸ„αŸ‡αž‚αžΊαžŠαŸ„αž™αžŸαžΆαžšαžαŸ‚ Kubernetes αžαŸ’αž›αž½αž“αžœαžΆαž’αŸ’αžœαžΎαž’αž“αŸ’αžαžšαž€αž˜αŸ’αž˜αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž–αŸαžαŸŒαž˜αžΆαž“αž›αž˜αŸ’αž’αž·αžαž€αž˜αŸ’αžšαž·αžαž‘αžΆαž”αž“αŸƒαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αžšαžΌαž”αžœαž“αŸ’αž αž¬αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž“αž·αž˜αŸ’αž˜αž·αž αžŠαŸ‚αž›αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž’αŸ’αž“αž€αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž”αŸ’αžšαž€αžΆαžŸαžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžŠαŸ‚αž›αž…αž„αŸ‹αž”αžΆαž“ αž”αžšαž·αž˜αžΆαžŽαž’αž„αŸ’αž‚αž…αž„αž…αžΆαŸ†αžŠαŸ‚αž›αž…αž„αŸ‹αž”αžΆαž“ αž“αž·αž„αž…αŸ†αž“αž½αž“αž€αž»αž„αžαžΊαž“αŸαžšαŸ” αž§αž‘αžΆαž αžšαžŽαŸ αž€αŸ’αž“αž»αž„αž…αŸ†αžŽαŸ„αž˜αž”αŸ‰αžΆαžšαŸ‰αžΆαž˜αŸ‰αŸ‚αžαŸ’αžšαž•αŸ’αžŸαŸαž„αž‘αŸ€αžαŸ” αž‡αžΆαž˜αž½αž™αž“αžΉαž„αžŸαž αž‚αž˜αž“αŸαžŠαŸαž’αŸ†αž˜αž½αž™αžŠαŸ‚αž›αž‚αžΆαŸ†αž‘αŸ’αžš Kubernetes αž“αž·αž„αž€αžΆαžšαž‘αž‘αž½αž›αž™αž€αžšαž”αžŸαŸ‹αžœαžΆαž”αž“αŸ’αžαž–αž„αŸ’αžšαžΈαž€ Kubernetes αž‚αžΊαž‡αžΆαž’αŸ’αž“αž€αž“αžΆαŸ†αž˜αž»αžαž‚αŸαž€αŸ’αž“αž»αž„αž…αŸ†αžŽαŸ„αž˜αžœαŸαž‘αž·αž€αžΆαžšαžœαž„αŸ‹αžαž“αŸ’αžšαŸ’αžαžΈαž€αž»αž„αžαžΊαž“αŸαžšαžŠαŸ„αž™αžšαžΉαž˜αž’αŸ†αž‘αžΌαž›αžΆαž™αŸ”

αž“αŸ…αž–αŸαž›αžŠαŸ‚αž›αž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹ Kubernetes αž€αžΎαž“αž‘αžΎαž„ αž—αžΆαž–αž…αŸ’αžšαž”αžΌαž€αž…αŸ’αžšαž”αž›αŸ‹αž’αŸ†αž–αžΈαž‚αŸ†αžšαžΌαž“αŸƒαž€αžΆαžšαž•αŸ’αž‘αž»αž€αžšαž”αžŸαŸ‹αžœαžΆαŸ”.

αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž’αŸ’αž“αž€αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αž“αžΆαž”αŸ’αžšαž€αž½αžαž”αŸ’αžšαž‡αŸ‚αž„αžŠαžŽαŸ’αžαžΎαž˜αž™αž€αžŠαž»αŸ† Kubernetes pie (ឧ. αž€αžΆαžšαž•αŸ’αž‘αž»αž€αž‘αž·αž“αŸ’αž“αž“αŸαž™) αž“αŸ…αž–αŸαž›αž“αž·αž™αžΆαž™αž’αŸ†αž–αžΈαž€αžΆαžšαž•αŸ’αž‘αž»αž€αž‘αž·αž“αŸ’αž“αž“αŸαž™ αžŸαž‰αŸ’αž‰αžΆαžαŸ’αžšαžΌαžœαž”αžΆαž“αž›αž„αŸ‹αž‘αžΉαž€αžŠαŸ„αž™αžŸαŸ†αž‘αŸαž„αž…αŸ’αžšαžΎαž“αŸ”
Kubernetes αž”αž„αŸ’αž€αž”αŸ‹αž“αžΌαžœαž‚αŸ†αžšαžΌαž‘αŸ†αž“αžΎαž”αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž’αž—αž·αžœαžŒαŸ’αžαž“αŸαž€αž˜αŸ’αž˜αžœαž·αž’αžΈ αž€αžΆαžšαžŠαžΆαž€αŸ‹αž±αŸ’αž™αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹ αž“αž·αž„αž€αžΆαžšαž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αŸ” αž˜αŸ‰αžΌαžŠαŸ‚αž›αž‘αŸ†αž“αžΎαž”αž“αŸαŸ‡αž€αžΆαžαŸ‹αž”αž“αŸ’αžαž™αž€αžΆαžšαž•αŸ’αž‘αž»αž€αž‘αž·αž“αŸ’αž“αž“αŸαž™αž–αžΈαž€αžΆαžšαž‚αžŽαž“αžΆαŸ” αžŠαžΎαž˜αŸ’αž”αžΈαž™αž›αŸ‹αž…αŸ’αž”αžΆαžŸαŸ‹αž–αžΈαž€αžΆαžšαž•αŸ’αžŠαžΆαž…αŸ‹αžαŸ’αž›αž½αž“αž“αŸ…αž€αŸ’αž“αž»αž„αž”αžšαž·αž”αž‘αžšαž”αžŸαŸ‹ Kubernetes αž’αŸ’αž“αž€αž€αŸαžαŸ’αžšαžΌαžœαž™αž›αŸ‹αžαžΆαžαžΎαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž‚αŸ’αž˜αžΆαž“αžšαžŠαŸ’αž‹ αž“αž·αž„αž‚αŸ’αž˜αžΆαž“αžšαžŠαŸ’αž‹αž‡αžΆαž’αŸ’αžœαžΈ αž“αž·αž„αžšαž”αŸ€αž”αžŠαŸ‚αž›αž€αžΆαžšαž•αŸ’αž‘αž»αž€αž‘αž·αž“αŸ’αž“αž“αŸαž™αžŸαž˜αž“αžΉαž„αžœαžΆαŸ” αž“αŸαŸ‡αž‚αžΊαž‡αžΆαž€αž“αŸ’αž›αŸ‚αž„αžŠαŸ‚αž›αžœαž·αž’αžΈαžŸαžΆαžŸαŸ’αžšαŸ’αž REST API αžŠαŸ‚αž›αž”αŸ’αžšαžΎαžŠαŸ„αž™ S3 αž˜αžΆαž“αž‚αž»αžŽαžŸαž˜αŸ’αž”αžαŸ’αžαž·αž…αŸ’αž”αžΆαžŸαŸ‹αž›αžΆαžŸαŸ‹αž›αžΎαžœαž·αž’αžΈαžŸαžΆαžŸαŸ’αžšαŸ’αž POSIX/CSI αž“αŸƒαžŠαŸ†αžŽαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αž•αŸ’αžŸαŸαž„αž‘αŸ€αžαŸ”

αž“αŸ…αž€αŸ’αž“αž»αž„αž’αžαŸ’αžαž”αž‘αž“αŸαŸ‡ αž™αžΎαž„αž“αžΉαž„αž“αž·αž™αžΆαž™αž’αŸ†αž–αžΈαž‚αŸ†αžšαžΌαž“αŸƒαž€αžΆαžšαž•αŸ’αž‘αž»αž€αž‘αž·αž“αŸ’αž“αž“αŸαž™αž“αŸ…αž€αŸ’αž“αž»αž„ Kubernetes αž αžΎαž™αž‡αžΆαž–αž·αžŸαŸαžŸαž”αŸ‰αŸ‡αž›αžΎαž€αžΆαžšαž–αž·αž—αžΆαž€αŸ’αžŸαžΆαžšαžœαžΆαž„αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž‚αŸ’αž˜αžΆαž“αžšαžŠαŸ’αž‹ αž“αž·αž„αž‚αŸ’αž˜αžΆαž“αžšαžŠαŸ’αž‹ αžŠαžΎαž˜αŸ’αž”αžΈαž™αž›αŸ‹αž€αžΆαž“αŸ‹αžαŸ‚αž…αŸ’αž”αžΆαžŸαŸ‹αž–αžΈαž—αžΆαž–αžαž»αžŸαž‚αŸ’αž“αžΆαžšαžœαžΆαž„αž–αž½αž€αžœαžΆ αž“αž·αž„αž˜αžΌαž›αž αŸαžαž»αžŠαŸ‚αž›αžœαžΆαžŸαŸ†αžαžΆαž“αŸ‹αŸ” αž’αžαŸ’αžαž”αž‘αžŠαŸ‚αž›αž“αŸ…αžŸαŸαžŸαžŸαž›αŸ‹αž“αžΉαž„αž–αž·αž“αž·αžαŸ’αž™αž˜αžΎαž›αž€αž˜αŸ’αž˜αžœαž·αž’αžΈ αž“αž·αž„αž‚αŸ†αžšαžΌαž“αŸƒαž€αžΆαžšαž•αŸ’αž‘αž»αž€αž‘αž·αž“αŸ’αž“αž“αŸαž™αžšαž”αžŸαŸ‹αž–αž½αž€αž‚αŸ αžŠαŸ„αž™αž‚αž·αžαž–αžΈαž€αžΆαžšαž’αž“αž»αžœαžαŸ’αžαž›αŸ’αž’αž”αŸ†αž•αž»αžαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž’αŸ’αžœαžΎαž€αžΆαžšαž‡αžΆαž˜αž½αž™αž€αž»αž„αžαžΊαž“αŸαžš αž“αž·αž„ Kubernetes αŸ”

αž€αž»αž„αžαžΊαž“αŸαžšαž‚αŸ’αž˜αžΆαž“αžšαžŠαŸ’αž‹

αž€αž»αž„αžαžΊαž“αŸαžšαž˜αžΆαž“αž‘αž˜αŸ’αž„αž“αŸ‹αžŸαŸ’αžšαžΆαž› αž“αž·αž„αž˜αžΆαž“αž›αž€αŸ’αžαžŽαŸˆαž’αž˜αŸ’αž˜αž‡αžΆαžαž·αŸ” αž–αž½αž€αžœαžΆαž’αžΆαž…αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž‰αŸ’αžˆαž”αŸ‹ αžŠαž€αž…αŸαž‰ αž¬αžŠαžΆαž€αŸ‹αž–αž„αŸ’αžšαžΆαž™αž‘αŸ…αž€αžΆαž“αŸ‹αžαŸ’αž“αžΆαŸ†αž„αž•αŸ’αžŸαŸαž„αž‘αŸ€αžαž™αŸ‰αžΆαž„αž„αžΆαž™αžŸαŸ’αžšαž½αž› - αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž€αŸ’αž“αž»αž„αžšαž™αŸˆαž–αŸαž›αžαŸ‚αž”αŸ‰αž»αž“αŸ’αž˜αžΆαž“αžœαž·αž“αžΆαž‘αžΈαž”αŸ‰αž»αžŽαŸ’αžŽαŸ„αŸ‡αŸ” αž“αŸ…αž€αŸ’αž“αž»αž„αž”αŸ’αžšαž–αŸαž“αŸ’αž’αžšαŸ€αž”αž…αŸ†αž€αž»αž„αžαžΊαž“αŸαžšαžŠαŸαž’αŸ†αž˜αž½αž™ αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαž”αŸ‚αž”αž“αŸαŸ‡αž€αžΎαžαž‘αžΎαž„αž‚αŸ’αžšαž”αŸ‹αž–αŸαž›αžœαŸαž›αžΆ αž αžΎαž™αž’αŸ’αž“αž€αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž˜αž·αž“αž€αžαŸ‹αžŸαŸ†αž‚αžΆαž›αŸ‹αžŸαžΌαž˜αŸ’αž”αžΈαžαŸ‚αž€αžΆαžšαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαž”αŸ‚αž”αž“αŸαŸ‡αŸ” αž‘αŸ„αŸ‡αž™αŸ‰αžΆαž„αžŽαžΆαž€αŸαžŠαŸ„αž™ αž€αžΆαžšαž•αŸ’αž›αžΆαžŸαŸ‹αž‘αžΈαž‚αžΊαž’αžΆαž…αž’αŸ’αžœαžΎαž‘αŸ…αž”αžΆαž“αž›αž»αŸ‡αžαŸ’αžšαžΆαžαŸ‚αž€αž»αž„αžαžΊαž“αŸαžšαž˜αž·αž“αž˜αžΆαž“αž€αžΆαžšαž–αžΉαž„αž•αŸ’αž’αŸ‚αž€αžŽαžΆαž˜αž½αž™αž›αžΎαžαŸ’αž“αžΆαŸ†αž„αžŠαŸ‚αž›αžœαžΆαžŸαŸ’αžαž·αžαž“αŸ…αŸ” αž’αž»αž„αž”αŸ‚αž”αž“αŸαŸ‡αžαŸ’αžšαžΌαžœαž”αžΆαž“αž‚αŸαž“αž·αž™αžΆαž™αžαžΆαžŠαŸ†αžŽαžΎαžšαž€αžΆαžš αž‚αŸ’αž˜αžΆαž“αžšαžŠαŸ’αž‹.

αž’αž»αž„αž•αŸ’αž‘αž»αž€αžšαžŠαŸ’αž‹

αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž€αž»αž„αžαžΊαž“αŸαžšαžšαž€αŸ’αžŸαžΆαž‘αž»αž€αž‘αž·αž“αŸ’αž“αž“αŸαž™αž“αŸ…αž›αžΎαž§αž”αž€αžšαžŽαŸαžŠαŸ‚αž›αž”αžΆαž“αž—αŸ’αž‡αžΆαž”αŸ‹αž€αŸ’αž“αž»αž„αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“ (αž¬αž“αŸ…αž›αžΎαž§αž”αž€αžšαžŽαŸαž”αŸ’αž›αž»αž€) αž“αŸ„αŸ‡αžƒαŸ’αž›αžΆαŸ†αž„αž•αŸ’αž‘αž»αž€αž‘αž·αž“αŸ’αž“αž“αŸαž™αžŠαŸ‚αž›αžœαžΆαžŸαŸ’αž“αžΆαž€αŸ‹αž“αŸ…αž“αžΉαž„αžαŸ’αžšαžΌαžœαž•αŸ’αž›αžΆαžŸαŸ‹αž‘αžΈαž‘αŸ…αžαŸ’αž“αžΆαŸ†αž„αžαŸ’αž˜αžΈ αžšαž½αž˜αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž€αž»αž„αžαžΊαž“αŸαžšαžŠαŸ„αž™αžαŸ’αž›αž½αž“αž―αž„ αž€αŸ’αž“αž»αž„αž€αžšαžŽαžΈαž˜αžΆαž“αž€αžΆαžšαž”αžšαžΆαž‡αŸαž™αŸ” αž“αŸαŸ‡αžŸαŸ†αžαžΆαž“αŸ‹αž–αŸ’αžšαŸ„αŸ‡αž”αžΎαž˜αž·αž“αžŠαžΌαž…αŸ’αž“αŸαŸ‡αž‘αŸαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžŠαŸ‚αž›αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž€αŸ’αž“αž»αž„αž€αž»αž„αžαžΊαž“αŸαžšαž“αžΉαž„αž˜αž·αž“αž’αžΆαž…αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž”αžΆαž“αžαŸ’αžšαžΉαž˜αžαŸ’αžšαžΌαžœαž‘αŸαž–αŸ’αžšαŸ„αŸ‡αžœαžΆαžαŸ’αžšαžΌαžœαž€αžΆαžšαž…αžΌαž›αž”αŸ’αžšαžΎαž‘αž·αž“αŸ’αž“αž“αŸαž™αžŠαŸ‚αž›αž•αŸ’αž‘αž»αž€αž“αŸ…αž›αžΎαž˜αŸαžŒαŸ€αž€αŸ’αž“αž»αž„αžŸαŸ’αžšαž»αž€αŸ” αž’αž»αž„αž”αŸ‚αž”αž“αŸαŸ‡αžαŸ’αžšαžΌαžœαž”αžΆαž“αž‚αŸαž“αž·αž™αžΆαž™αžαžΆαžŠαŸ†αžŽαžΎαžšαž€αžΆαžš αžšαžŠαŸ’αž‹.

αžαžΆαž˜αž‘αžŸαŸ’αžŸαž“αŸˆαž”αž…αŸ’αž…αŸαž€αž‘αŸαžŸαžŸαž»αž‘αŸ’αž’αžŸαžΆαž’ αž€αž»αž„αžαžΊαž“αŸαžšαžŠαŸ‚αž›αž˜αžΆαž“αž›αž€αŸ’αžαžŽαŸˆαžšαžŠαŸ’αž‹αž€αŸαž’αžΆαž…αž•αŸ’αž›αžΆαžŸαŸ‹αž‘αžΈαž‘αŸ…αžαŸ’αž“αžΆαŸ†αž„αž•αŸ’αžŸαŸαž„αž‘αŸ€αžαž•αž„αžŠαŸ‚αžšαŸ” αž‡αžΆαž’αž˜αŸ’αž˜αžαžΆαžœαžΆαžαŸ’αžšαžΌαžœαž”αžΆαž“αžŸαž˜αŸ’αžšαŸαž…αžŠαŸ„αž™αž”αŸ’αžšαžΎαž”αŸ’αžšαž–αŸαž“αŸ’αž’αž―αž€αžŸαžΆαžšαžŠαŸ‚αž›αž”αžΆαž“αž…αŸ‚αž€αž…αžΆαž™ αž¬αž‘αž”αŸ‹αžŸαŸ’αž€αžΆαžαŸ‹αž€αžΆαžšαž•αŸ’αž‘αž»αž€αž”αžŽαŸ’αžαžΆαž‰αžŠαŸ‚αž›αž—αŸ’αž‡αžΆαž”αŸ‹αž‘αŸ…αž“αžΉαž„αžαŸ’αž“αžΆαŸ†αž„αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αžŠαŸ‚αž›αž€αŸ†αž–αž»αž„αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž€αž»αž„αžαžΊαž“αŸαžšαŸ” αž“αŸ…αž€αŸ’αž“αž»αž„αžœαž·αž’αžΈαž“αŸαŸ‡ αž€αž»αž„αžαžΊαž“αŸαžšαž…αžΌαž›αž”αŸ’αžšαžΎαž”αžšαž·αž˜αžΆαžŽαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž•αŸ’αž‘αž»αž€αž‘αž·αž“αŸ’αž“αž“αŸαž™αž‡αžΆαž”αŸ‹αž›αžΆαž”αŸ‹ αž αžΎαž™αž–αŸαžαŸŒαž˜αžΆαž“αžαŸ’αžšαžΌαžœαž”αžΆαž“αžšαž€αŸ’αžŸαžΆαž‘αž»αž€αž“αŸ…αž›αžΎαžαžΆαžŸαžŠαŸ‚αž›αž˜αžΆαž“αž‘αžΈαžαžΆαŸ†αž„αž“αŸ…αž‘αžΌαž‘αžΆαŸ†αž„αž”αžŽαŸ’αžαžΆαž‰αŸ” αžαŸ’αž‰αž»αŸ†αž“αžΉαž„αž αŸ…αžœαž·αž’αžΈαžŸαžΆαžŸαŸ’αžαŸ’αžšαž“αŸαŸ‡αžαžΆ "αžœαž·αž’αžΈαžŸαžΆαžŸαŸ’αžšαŸ’αžαž€αž»αž„αžαžΊαž“αŸαžšαžŠαŸ‚αž›αž˜αžΆαž“αžšαžŠαŸ’αž‹" αž αžΎαž™αž“αŸ…αž€αŸ’αž“αž»αž„αž’αžαŸ’αžαž”αž‘αžŠαŸ‚αž›αž“αŸ…αžŸαž›αŸ‹αžαŸ’αž‰αž»αŸ†αž“αžΉαž„αž αŸ…αžœαžΆαžαžΆαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž‡αžΆαž”αŸ’αžšαž™αŸ„αž‡αž“αŸαž“αŸƒαž―αž€αžŸαžŽαŸ’αž‹αžΆαž“αŸ”

αž‚αŸ†αžšαžΌαž“αŸƒαž€αžΆαžšαž•αŸ’αž‘αž»αž€αž‘αž·αž“αŸ’αž“αž“αŸαž™αž“αŸ…αž€αŸ’αž“αž»αž„ Kubernetes

αž“αŸ…αž€αŸ’αž“αž»αž„αžœαž·αž’αžΈαžŸαžΆαžŸαŸ’αžšαŸ’αžαž€αž»αž„αžαžΊαž“αŸαžšαžŠαŸ‚αž›αž˜αžΆαž“αžŸαŸ’αžαžΆαž“αž—αžΆαž–αž’αž˜αŸ’αž˜αžαžΆ αž•αžαž“αŸƒαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž‘αžΆαŸ†αž„αž’αžŸαŸ‹αžαŸ’αžšαžΌαžœαž”αžΆαž“αž—αŸ’αž‡αžΆαž”αŸ‹αž‘αŸ…αž”αŸ’αžšαž–αŸαž“αŸ’αž’αž―αž€αžŸαžΆαžšαžŠαŸ‚αž›αž”αžΆαž“αž…αŸ‚αž€αž…αžΆαž™αžαŸ‚αž˜αž½αž™ αžŠαŸ‚αž›αž‡αžΆαž”αŸ’αžšαž—αŸαž‘αž“αŸƒαž€αžΆαžšαž•αŸ’αž‘αž»αž€αžšαž½αž˜αž‚αŸ’αž“αžΆαžŠαŸ‚αž›αž‘αž·αž“αŸ’αž“αž“αŸαž™αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž‘αžΆαŸ†αž„αž’αžŸαŸ‹αžŸαŸ’αžαž·αžαž“αŸ…αŸ” αžαžŽαŸˆαž–αŸαž›αžŠαŸ‚αž›αž€αžΆαžšαž”αŸ’αžšαŸ‚αž”αŸ’αžšαž½αž›αžαŸ’αž›αŸ‡αž’αžΆαž…αž’αŸ’αžœαžΎαž‘αŸ…αž”αžΆαž“ αž“αŸαŸ‡αž‚αžΊαž‡αžΆαžœαž·αž’αžΈαžŸαžΆαžŸαŸ’αžšαŸ’αžαž€αž˜αŸ’αžšαž·αžαžαŸ’αž–αžŸαŸ‹αŸ”

αž₯αž‘αžΌαžœαž“αŸαŸ‡ αžŸαžΌαž˜αž€αŸ’αžšαž‘αŸαž€αž˜αžΎαž›αž˜αžΌαž›αž αŸαžαž»αžŠαŸ‚αž›αžœαž·αž’αžΈαžŸαžΆαžŸαŸ’αžšαŸ’αžαž€αž»αž„αžαžΊαž“αŸαžšαžŠαŸ‚αž›αž˜αžΆαž“αžŸαž—αžΆαž–αž‘αŸ’αžšαž»αžŒαž‘αŸ’αžšαŸ„αž˜αž‚αžΊαž‡αžΆαž€αžΆαžšαž”αŸ’αžšαž†αžΆαŸ†αž„αž“αžΉαž„αž‚αŸ†αžšαžΌαž“αŸ…αž€αŸ’αž“αž»αž„αž–αž·αž—αž–αž–αž–αž€αŸ”

αž€αžΆαžšαžšαž…αž“αžΆαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžŠαžΎαž˜αž“αŸ…αž›αžΎαž–αž–αž€

αž‡αžΆαž”αŸ’αžšαž–αŸƒαžŽαžΈ αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž”αžΆαž“αž”αŸ’αžšαžΎαž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž•αŸ’αž‘αž»αž€αž–αŸαžαŸŒαž˜αžΆαž“αžŠαŸ‚αž›αž˜αžΆαž“αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’ αž“αž·αž„αžαžΆαžŸαž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“ αž¬αž”αŸ’αžšαž–αŸαž“αŸ’αž’αž―αž€αžŸαžΆαžšαž…αŸ‚αž€αž…αžΆαž™ αžŠαŸ‚αž›αž‘αž·αž“αŸ’αž“αž“αŸαž™αžŠαŸ‚αž›αž‚αŸ’αž˜αžΆαž“αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’ αž¬αžŸαžΌαž˜αŸ’αž”αžΈαžαŸ‚αž–αžΆαž€αŸ‹αž€αžŽαŸ’αžαžΆαž›αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ„αŸ‡αž…αŸ„αž›αŸ” αž“αŸ…αž–αŸαž›αžŠαŸ‚αž›αž”αžšαž·αž˜αžΆαžŽαž“αŸƒαž‘αž·αž“αŸ’αž“αž“αŸαž™αžŠαŸ‚αž›αž˜αž·αž“αž˜αžΆαž“αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αž€αžΎαž“αž‘αžΎαž„ αž’αŸ’αž“αž€αž’αž—αž·αžœαžŒαŸ’αžαž“αŸαž”αžΆαž“αžŠαžΉαž„αžαžΆ POSIX αž˜αžΆαž“αž—αžΆαž–αž…αŸ’αžšαž”αžΌαž€αž…αŸ’αžšαž”αž›αŸ‹αž–αŸαž€ αž˜αžΆαž“αžαž˜αŸ’αž›αŸƒαž›αžΎαžŸαž‚αŸ αž αžΎαž™αž‘αžΈαž”αŸ†αž•αž»αžαž”αžΆαž“αžšαžΆαžšαžΆαŸ†αž„αžŠαž›αŸ‹αž€αžΆαžšαž’αž“αž»αžœαžαŸ’αžαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž“αŸ…αž–αŸαž›αž•αŸ’αž›αžΆαžŸαŸ‹αž‘αžΈαž‘αŸ…αžαŸ’αž“αžΆαžαž’αŸ†αž–αž·αžαž”αŸ’αžšαžΆαž€αžŠαŸ”

αž“αŸαŸ‡αž”αžΆαž“αžšαž½αž˜αž…αŸ†αžŽαŸ‚αž€αž‡αžΆαž…αž˜αŸ’αž”αž„αžŠαž›αŸ‹αž€αžΆαžšαž›αŸαž…αž…αŸαž‰αž“αžΌαžœαžŸαŸ’αžαž„αŸ‹αžŠαžΆαžšαžαŸ’αž˜αžΈαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž•αŸ’αž‘αž»αž€αž‘αž·αž“αŸ’αž“αž“αŸαž™ αž–αŸ„αž›αž‚αžΊαž€αžΆαžšαž•αŸ’αž‘αž»αž€αž“αŸ…αž›αžΎαž–αž–αž€ αžŠαŸ‚αž›αž’αŸ’αžœαžΎαž€αžΆαžšαž•αŸ’αž’αŸ‚αž€αž›αžΎ REST API αž‡αžΆαž…αž˜αŸ’αž”αž„ αž“αž·αž„αžšαŸ†αžŠαŸ„αŸ‡αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž–αžΈαž€αžΆαžšαžαŸ‚αž‘αžΆαŸ†αž”αž“αŸ’αž‘αž»αž€αžŠαŸαž›αŸ†αž”αžΆαž€αž“αŸƒαž€αž“αŸ’αž›αŸ‚αž„αž•αŸ’αž‘αž»αž€αž‘αž·αž“αŸ’αž“αž“αŸαž™αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αŸ” αž€αŸ’αž“αž»αž„αž€αžšαžŽαžΈαž“αŸαŸ‡ αž€αž˜αŸ’αž˜αžœαž·αž’αžΈβ€‹αž…αžΌαž›β€‹αž‘αŸ…β€‹αž€αŸ’αž“αž»αž„β€‹αž‘αž˜αŸ’αžšαž„αŸ‹β€‹αž‚αŸ’αž˜αžΆαž“β€‹αžšαžŠαŸ’αž‹β€‹αž™αŸ‰αžΆαž„β€‹αž˜αžΆαž“β€‹αž”αŸ’αžšαžŸαž·αž‘αŸ’αž’αž—αžΆαž– (αž…αžΆαž”αŸ‹αžαžΆαŸ†αž„αž–αžΈβ€‹αžŸαŸ’αžαžΆαž“αž—αžΆαž–β€‹αžŸαŸ’αžαž·αžαž“αŸ…αž€αŸ’αž“αž»αž„β€‹αž€αž“αŸ’αž›αŸ‚αž„αž•αŸ’αž‘αž»αž€β€‹αž–αžΈαž…αž˜αŸ’αž„αžΆαž™)αŸ” αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž‘αŸ†αž“αžΎαž”αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž„αŸ’αž€αžΎαžαž‘αžΎαž„αž–αžΈαžŠαŸ†αž”αžΌαž„αžŠαŸ„αž™αž‚αž·αžαž–αžΈαž€αžαŸ’αžαžΆαž“αŸαŸ‡αŸ” αžαžΆαž˜αž€αŸ’αž”αž½αž“αž˜αž½αž™ αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž‘αŸ†αž“αžΎαž”αžŽαžΆαž˜αž½αž™αžŠαŸ‚αž›αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž‘αž·αž“αŸ’αž“αž“αŸαž™αž”αŸ’αžšαž—αŸαž‘αž˜αž½αž™ αž¬αž˜αž½αž™αž•αŸ’αžŸαŸαž„αž‘αŸ€αž (αž€αŸ†αžŽαžαŸ‹αž αŸαžαž» αž‘αž·αž“αŸ’αž“αž“αŸαž™αž˜αŸαžαžΆ αž”αŸ’αž›αž»αž€αŸ”

αžœαž·αž’αžΈαžŸαžΆαžŸαŸ’αžšαŸ’αžαž€αž»αž„αžαžΊαž“αŸαžšαžŠαŸ‚αž›αž˜αžΆαž“αž›αž€αŸ’αžαžŽαŸˆαžšαžŠαŸ’αž‹αž”αž„αŸ’αžαŸ†αž±αŸ’αž™αž‚αŸ†αžšαžΌαž‘αžΆαŸ†αž„αž˜αžΌαž›αž“αŸαŸ‡αžαŸ’αžšαž‘αž”αŸ‹αž‘αŸ…αž€αž“αŸ’αž›αŸ‚αž„αžŠαŸ‚αž›αžœαžΆαž”αžΆαž“αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜!

αžŠαŸ„αž™αž”αŸ’αžšαžΎαž…αŸ†αžŽαž»αž…αž”αŸ’αžšαž‘αžΆαž€αŸ‹ POSIX αžŠαžΎαž˜αŸ’αž”αžΈαžšαž€αŸ’αžŸαžΆαž‘αž»αž€αž‘αž·αž“αŸ’αž“αž“αŸαž™ αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžŠαžΌαž…αž‡αžΆαž˜αžΆαž“αžŸαž—αžΆαž–αž…αŸ’αž”αžΆαžŸαŸ‹αž›αžΆαžŸαŸ‹ αž αžΎαž™αžŠαŸ„αž™αžŸαžΆαžšαž˜αžΌαž›αž αŸαžαž»αž“αŸαŸ‡ αž–αž½αž€αžœαžΆαž…αžΆαž€αž…αŸαž‰αž–αžΈαž‚αŸ„αž›αž€αžΆαžšαžŽαŸαžŸαŸ†αžαžΆαž“αŸ‹αž”αŸ†αž•αž»αžαž“αŸƒαž€αžΆαžšαžšαž…αž“αžΆαž•αŸ’αžαŸ„αžαž›αžΎαž–αž–αž€ αž–αŸ„αž›αž‚αžΊαžŸαž˜αžαŸ’αžαž—αžΆαž–αž€αŸ’αž“αž»αž„αž€αžΆαžšαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαž‘αŸ†αž αŸ†αž“αŸƒαžαŸ’αžŸαŸ‚αžŸαŸ’αžšαž‘αžΆαž™αž’αŸ’αž“αž€αž’αŸ’αžœαžΎαž€αžΆαžšαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž’αžΆαžŸαŸ’αžšαŸαž™αž›αžΎαž€αžΆαžšαž…αžΌαž›αŸ” αž”αž‰αŸ’αž…αžΌαž›αŸ” αž•αŸ’αž‘αž»αž€ αž•αŸ’αž›αžΆαžŸαŸ‹αž‘αžΈαž‘αŸ…αžαŸ’αž“αžΆαŸ†αž„αžαŸ’αž˜αžΈαž—αŸ’αž›αžΆαž˜αŸ— αž“αŸ…αž–αŸαž›αžŠαŸ‚αž›αžαŸ’αž“αžΆαŸ†αž„αž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αž”αžšαžΆαž‡αŸαž™ αž αžΎαž™αžŠαžΌαž…αŸ’αž“αŸαŸ‡αž“αŸ…αž›αžΎαŸ”

αžŠαŸ„αž™αž€αŸ’αžšαž‘αŸαž€αž˜αžΎαž›αžŸαŸ’αžαžΆαž“αž—αžΆαž–αž“αŸαŸ‡αž±αŸ’αž™αž€αžΆαž“αŸ‹αžαŸ‚αžŠαž·αžαžŠαž›αŸ‹ αž™αžΎαž„αžƒαžΎαž‰αžαžΆαž“αŸ…αž–αŸαž›αž‡αŸ’αžšαžΎαžŸαžšαžΎαžŸαž€αž“αŸ’αž›αŸ‚αž„αž•αŸ’αž‘αž»αž€αž‘αž·αž“αŸ’αž“αž“αŸαž™ αž™αžΎαž„αž”αŸ’αžšαžˆαž˜αž˜αž»αžαž“αžΉαž„αž”αž‰αŸ’αž αžΆ POSIX αž‘αž›αŸ‹αž“αžΉαž„ REST API αž˜αŸ’αžαž„αž αžΎαž™αž˜αŸ’αžαž„αž‘αŸ€αž αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž”αž‰αŸ’αž αžΆ POSIX αž€αžΆαž“αŸ‹αžαŸ‚αž’αŸ’αž„αž“αŸ‹αž’αŸ’αž„αžšαž‘αžΎαž„αžŠαŸ„αž™αžŸαžΆαžšαžαŸ‚αž’αž˜αŸ’αž˜αž‡αžΆαžαž·αž…αŸ‚αž€αž…αžΆαž™αž“αŸƒαž”αžšαž·αžŸαŸ’αžαžΆαž“ Kubernetes αŸ” αž‡αžΆαž–αž·αžŸαŸαžŸ,

  • POSIX αž‚αžΊαž‡αž‡αŸ‚αž€αŸ– POSIX semantics αžαž˜αŸ’αžšαžΌαžœαž±αŸ’αž™αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαž“αžΈαž˜αž½αž™αŸ—αžαŸ’αžšαžΌαžœαž”αžΆαž“αž—αŸ’αž‡αžΆαž”αŸ‹αž‡αžΆαž˜αž½αž™αž‘αž·αž“αŸ’αž“αž“αŸαž™αž˜αŸαžαžΆ αž“αž·αž„αž―αž€αžŸαžΆαžšαž–αž·αž–αžŽαŸŒαž“αžΆαžŠαŸ‚αž›αž‡αž½αž™αžšαž€αŸ’αžŸαžΆαžŸαŸ’αžαžΆαž“αž—αžΆαž–αž“αŸƒαž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαŸ” αž“αŸαŸ‡αž”αžŽαŸ’αžαžΆαž›αž±αŸ’αž™αž˜αžΆαž“αž€αžΆαžšαž…αŸ†αžŽαžΆαž™αžŸαŸ†αžαžΆαž“αŸ‹αŸ—αžŠαŸ‚αž›αž˜αž·αž“αž˜αžΆαž“αžαž˜αŸ’αž›αŸƒαž–αž·αžαž”αŸ’αžšαžΆαž€αžŠαŸ” Object storage APIs αž‡αžΆαž–αž·αžŸαŸαžŸ S3 API αž€αž˜αŸ’αž…αžΆαžαŸ‹αžαž˜αŸ’αžšαžΌαžœαž€αžΆαžšαž‘αžΆαŸ†αž„αž“αŸαŸ‡ αžŠαŸ‚αž›αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžŠαŸ†αžŽαžΎαžšαž€αžΆαžš αž αžΎαž™αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž˜αž€ "αž—αŸ’αž›αŸαž…" αž’αŸ†αž–αžΈαž€αžΆαžšαž αŸ…αž‘αžΌαžšαžŸαž–αŸ’αž‘αŸ” αž€αžΆαžšαž†αŸ’αž›αžΎαž™αžαž”αžšαž”αžŸαŸ‹αž”αŸ’αžšαž–αŸαž“αŸ’αž’αž•αŸ’αž‘αž»αž€αž‘αž·αž“αŸ’αž“αž“αŸαž™αž”αž„αŸ’αž αžΆαž‰αžαžΆαžαžΎαžŸαž€αž˜αŸ’αž˜αž—αžΆαž–αž“αŸαŸ‡αž”αžΆαž“αž‡αŸ„αž‚αž‡αŸαž™αž¬αž’αžαŸ‹αŸ” αž”αŸ’αžšαžŸαž·αž“αž”αžΎαžœαžΆαž”αžšαžΆαž‡αŸαž™ αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž’αžΆαž…αž–αŸ’αž™αžΆαž™αžΆαž˜αž˜αŸ’αžαž„αž‘αŸ€αžαŸ”
  • αž€αžΆαžšαžšαžΉαžαž”αž“αŸ’αžαžΉαž„αž”αžŽαŸ’αžαžΆαž‰αŸ– αž“αŸ…αž€αŸ’αž“αž»αž„αž”αŸ’αžšαž–αŸαž“αŸ’αž’αž…αŸ‚αž€αž…αžΆαž™ αžœαžΆαž”αž„αŸ’αž€αž”αŸ‹αž“αŸαž™αžαžΆαž’αžΆαž…αž˜αžΆαž“αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž‡αžΆαž…αŸ’αžšαžΎαž“αžŠαŸ‚αž›αž–αŸ’αž™αžΆαž™αžΆαž˜αžŸαžšαžŸαŸαžšαž‘αž·αž“αŸ’αž“αž“αŸαž™αž‘αŸ…αž€αžΆαž“αŸ‹αž˜αŸαžŒαŸ€αžŠαŸ‚αž›αž”αžΆαž“αž—αŸ’αž‡αžΆαž”αŸ‹αžŠαžΌαž…αž‚αŸ’αž“αžΆαŸ” αžŠαžΌαž…αŸ’αž“αŸαŸ‡αž˜αž·αž“αžαŸ’αžšαžΉαž˜αžαŸ‚αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž“αžΉαž„αž”αŸ’αžšαž€αž½αžαž”αŸ’αžšαž‡αŸ‚αž„αž‚αŸ’αž“αžΆαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αž˜αŸ’αžšαž·αžαž”αž‰αŸ’αž‡αžΌαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™ (αžŠαžΎαž˜αŸ’αž”αžΈαž”αž‰αŸ’αž‡αžΌαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αž‘αŸ…αž€αžΆαž“αŸ‹αž˜αŸαžŒαŸ€) αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž”αŸ’αžšαž–αŸαž“αŸ’αž’αž•αŸ’αž‘αž»αž€αž‘αž·αž“αŸ’αž“αž“αŸαž™αžαŸ’αž›αž½αž“αž―αž„αž“αžΉαž„αž”αŸ’αžšαž€αž½αžαž”αŸ’αžšαž‡αŸ‚αž„αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αž˜αŸ’αžšαž·αžαž”αž‰αŸ’αž‡αžΌαž“αž“αŸαŸ‡αžŠαŸ„αž™αž€αžΆαžšαž”αž‰αŸ’αž‡αžΌαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αž†αŸ’αž›αž„αž€αžΆαžαŸ‹αžαžΆαžŸαžšαžΉαž„αŸ” αžŠαŸ„αž™αžŸαžΆαžšαžαŸ‚αž—αžΆαž–αž…αŸ’αžšαž”αžΌαž€αž…αŸ’αžšαž”αž›αŸ‹αž“αŸƒ POSIX αž…αŸ†αž“αž½αž“αž“αŸƒαž€αžΆαžšαž αŸ…αžαžΆαž˜αž”αžŽαŸ’αžαžΆαž‰αž€αžΎαž“αž‘αžΎαž„αž‡αžΆαž…αŸ’αžšαžΎαž“αžŠαž„αŸ” αž˜αŸ‰αŸ’αž™αžΆαž„αžœαž·αž‰αž‘αŸ€αž S3 API αž•αŸ’αžαž›αŸ‹αž“αžΌαžœαž—αžΆαž–αžαž»αžŸαž‚αŸ’αž“αžΆαž™αŸ‰αžΆαž„αž…αŸ’αž”αžΆαžŸαŸ‹αžšαžœαžΆαž„αž€αžΆαžšαž αŸ…αžαžΆαž˜αž”αžŽαŸ’αžαžΆαž‰αžšαžœαžΆαž„αž€αžΆαžšαž αŸ…αž…αŸαž‰αž–αžΈαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž—αŸ’αž‰αŸ€αžœαž‘αŸ…αž€αžΆαž“αŸ‹αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸ αž“αž·αž„αž’αŸ’αžœαžΈαžŠαŸ‚αž›αž€αžΎαžαž‘αžΎαž„αž“αŸ…αž€αŸ’αž“αž»αž„αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαŸ”
  • αžŸαž“αŸ’αžαž·αžŸαž»αžαŸ– αž‚αŸ†αžšαžΌαžŸαž»αžœαžαŸ’αžαž·αž—αžΆαž– POSIX αžαŸ’αžšαžΌαžœαž”αžΆαž“αžšαž…αž“αžΆαž‘αžΎαž„αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž…αžΌαž›αžšαž½αž˜αž™αŸ‰αžΆαž„αžŸαž€αž˜αŸ’αž˜αžšαž”αžŸαŸ‹αž˜αž“αž»αžŸαŸ’αžŸαŸ– αž’αŸ’αž“αž€αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αž€αž˜αŸ’αžšαž·αžαž…αžΌαž›αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž‡αžΆαž€αŸ‹αž›αžΆαž€αŸ‹αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž’αŸ’αž“αž€αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹ αž¬αž€αŸ’αžšαž»αž˜αž“αžΈαž˜αž½αž™αŸ—αŸ” αž‚αŸ†αžšαžΌαž“αŸαŸ‡αž–αž·αž”αžΆαž€αžŸαž˜αŸ’αžšαž”αžαŸ’αž›αž½αž“αž‘αŸ…αž“αžΉαž„αž–αž·αž—αž–αž›αŸ„αž€αžŠαŸ‚αž›αž•αŸ’αžαŸ„αžαž›αžΎαž–αž–αž€αŸ” αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž‘αŸ†αž“αžΎαž”αž’αžΆαžŸαŸ’αžšαŸαž™αž›αžΎαž‚αŸ†αžšαžΌαžŸαž»αžœαžαŸ’αžαž·αž—αžΆαž–αžŠαŸ‚αž›αž˜αžΆαž“αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž›αžΎ API αžŠαŸ‚αž›αžŸαž·αž‘αŸ’αž’αž·αž…αžΌαž›αž”αŸ’αžšαžΎαžαŸ’αžšαžΌαžœαž”αžΆαž“αž€αŸ†αžŽαžαŸ‹αž‡αžΆαžŸαŸ†αžŽαž»αŸ†αž“αŸƒαž‚αŸ„αž›αž€αžΆαžšαžŽαŸ αž‚αžŽαž“αžΈαžŸαŸαžœαžΆαž€αž˜αŸ’αž˜ αž›αž·αžαž·αžαžŸαž˜αŸ’αž‚αžΆαž›αŸ‹αž”αžŽαŸ’αžαŸ„αŸ‡αž’αžΆαžŸαž“αŸ’αž“αŸ”αž›αŸ” αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ‚αž„αž…αŸ‚αž€αŸ”
  • αž€αžΆαžšαž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž”αžΆαž“αŸ– αž€αž»αž„αžαžΊαž“αŸαžšβ€‹αžŠαŸ‚αž›β€‹αž˜αžΆαž“β€‹αžšαžŠαŸ’αž‹β€‹αž˜αžΆαž“β€‹αž€αžΆαžšβ€‹αž‚αŸ’αžšαž”αŸ‹β€‹αž‚αŸ’αžšαž„β€‹αžαŸ’αž›αŸ‡β€‹αž›αžΎαžŸβ€‹αžŠαžΎαž˜αŸ” αž™αžΎαž„αž€αŸ†αž–αž»αž„αž“αž·αž™αžΆαž™αž’αŸ†αž–αžΈαž€αžΆαžšαž’αŸ’αžœαžΎαžŸαž˜αž€αžΆαž›αž€αž˜αŸ’αž˜αž€αžΆαžšαž…αžΌαž›αž”αŸ’αžšαžΎαž‘αž·αž“αŸ’αž“αž“αŸαž™αžŸαŸ’αžšαž”αž‚αŸ’αž“αžΆ αžŠαŸ„αž™αž’αžΆαž“αžΆαž“αžΌαžœαž—αžΆαž–αžŸαŸŠαžΈαžŸαž„αŸ’αžœαžΆαž€αŸ‹αž‚αŸ’αž“αžΆαž“αŸƒαž‘αž·αž“αŸ’αž“αž“αŸαž™ αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž“αŸαŸ‡αž‘αžΆαž˜αž‘αžΆαžšαž±αŸ’αž™αž˜αžΆαž“αž€αžΆαžšαž–αž·αž…αžΆαžšαžŽαžΆαž™αŸ‰αžΆαž„αž”αŸ’αžšαž»αž„αž”αŸ’αžšαž™αŸαžαŸ’αž“αž’αŸ†αž–αžΈαž‚αŸ†αžšαžΌαž“αŸƒαž€αžΆαžšαž…αžΌαž›αž”αŸ’αžšαžΎαž‘αž·αž“αŸ’αž“αž“αŸαž™αžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž”αŸ’αžšαžΎαŸ” αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž”αž“αŸ’αžαŸ‚αž˜αžαŸ’αžšαžΌαžœαžαŸ‚αžαŸ’αžšαžΌαžœαž”αžΆαž“αžŠαŸ†αž‘αžΎαž„ αžαŸ’αžšαž½αžαž–αž·αž“αž·αžαŸ’αž™ αž“αž·αž„αž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’ αž˜αž·αž“αž˜αŸ‚αž“αž“αž·αž™αžΆαž™αž’αŸ†αž–αžΈαž€αž·αž…αŸ’αž…αžαž·αžαžαŸ†αž”αŸ’αžšαžΉαž„αž”αŸ’αžšαŸ‚αž„αž’αž—αž·αžœαžŒαŸ’αžαž“αŸαž”αž“αŸ’αžαŸ‚αž˜αž‘αŸαŸ”

αž…αŸ†αžŽαž»αž…αž”αŸ’αžšαž‘αžΆαž€αŸ‹αž•αŸ’αž‘αž»αž€αž‘αž·αž“αŸ’αž“αž“αŸαž™αž€αž»αž„αžαžΊαž“αŸαžš

αžαžŽαŸˆαž–αŸαž›αžŠαŸ‚αž› Container Storage Interface (CSI) αž‚αžΊαž‡αžΆαž‡αŸ†αž“αž½αž™αžŠαŸαž›αŸ’αž’αž˜αž½αž™αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž€αžΆαžšαžšαžΈαž€αžŸαžΆαž™αž“αŸƒαžŸαŸ’αžšαž‘αžΆαž”αŸ‹αž”αžšαž·αž˜αžΆαžŽ Kubernetes αžŠαŸ„αž™αž•αŸ’αž“αŸ‚αž€αžαžΆαž„αž€αŸ’αžšαŸ…αžœαžΆαž‘αŸ…αž±αŸ’αž™αž’αŸ’αž“αž€αž›αž€αŸ‹αž§αž”αž€αžšαžŽαŸαž•αŸ’αž‘αž»αž€αž—αžΆαž‚αžΈαž‘αžΈαž”αžΈ αžœαžΆαž€αŸαž”αžΆαž“αžšαž½αž˜αž…αŸ†αžŽαŸ‚αž€αžŠαŸ„αž™αž’αž…αŸαžαž“αžΆαžŠαž›αŸ‹αž€αžΆαžšαž‡αžΏαž‡αžΆαž€αŸ‹αžαžΆαžœαž·αž’αžΈαžŸαžΆαžŸαŸ’αžšαŸ’αžαž“αŸƒαž€αž»αž„αžαžΊαž“αŸαžšαžŠαŸ‚αž›αž˜αžΆαž“αžŸαŸ’αžαžΆαž“αž—αžΆαž–αž‚αžΊαž‡αžΆαžœαž·αž’αžΈαžŸαžΆαžŸαŸ’αžαŸ’αžšαžŠαŸ‚αž›αž”αžΆαž“αžŽαŸ‚αž“αžΆαŸ†αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ αž€αžΆαžšαžšαž€αŸ’αžŸαžΆαž‘αž»αž€αž‘αž·αž“αŸ’αž“αž“αŸαž™αž“αŸ…αž€αŸ’αž“αž»αž„ Kubernetes αŸ”

CSI αžαŸ’αžšαžΌαžœβ€‹αž”αžΆαž“β€‹αž”αž„αŸ’αž€αžΎαžβ€‹αž‘αžΎαž„β€‹αž‡αžΆβ€‹αžŸαŸ’αžαž„αŸ‹αžŠαžΆαžšβ€‹αž˜αž½αž™β€‹αžŸαž˜αŸ’αžšαžΆαž”αŸ‹β€‹αž€αžΆαžšβ€‹αž•αŸ’αžαž›αŸ‹β€‹αž“αžΌαžœβ€‹αž”αŸ’αžšαž–αŸαž“αŸ’αž’β€‹αž•αŸ’αž‘αž»αž€β€‹αž―αž€αžŸαžΆαžšβ€‹αž“αž·αž„β€‹αž”αŸ’αž›αž»αž€β€‹αžαžΆαž˜β€‹αž’αŸ†αž–αžΎβ€‹αž…αž·αžαŸ’αžβ€‹αžŠαž›αŸ‹β€‹αž€αž˜αŸ’αž˜αžœαž·αž’αžΈβ€‹αž…αžΆαžŸαŸ‹β€‹αž“αŸ…β€‹αž–αŸαž›β€‹αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšβ€‹αž›αžΎ KubernetesαŸ” αž αžΎαž™αžŠαžΌαž…αžŠαŸ‚αž›αž’αžαŸ’αžαž”αž‘αž“αŸαŸ‡αž”αžΆαž“αž”αž„αŸ’αž αžΆαž‰ αžŸαŸ’αžαžΆαž“αž—αžΆαž–αžαŸ‚αž˜αž½αž™αž‚αžαŸ‹αžŠαŸ‚αž›αžœαž·αž’αžΈαžŸαžΆαžŸαŸ’αžšαŸ’αžαž€αž»αž„αžαžΊαž“αŸαžšαžŠαŸ‚αž›αž˜αžΆαž“αžŸαŸ’αžαžΆαž“αž—αžΆαž– (αž“αž·αž„ CSI αž“αŸ…αž€αŸ’αž“αž»αž„αž‘αž˜αŸ’αžšαž„αŸ‹αž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αžšαž”αžŸαŸ‹αžœαžΆ) αž˜αžΆαž“αž“αŸαž™αž‚αžΊαž“αŸ…αž–αŸαž›αžŠαŸ‚αž›αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžαŸ’αž›αž½αž“αžœαžΆαž‚αžΊαž‡αžΆαž”αŸ’αžšαž–αŸαž“αŸ’αž’αž€αŸαžšαŸ’αžαž·αŸαžŠαŸ†αžŽαŸ‚αž›αžŠαŸ‚αž›αžœαžΆαž˜αž·αž“αž’αžΆαž…αž”αž“αŸ’αžαŸ‚αž˜αž€αžΆαžšαž‚αžΆαŸ†αž‘αŸ’αžšαžŸαž˜αŸ’αžšαžΆαž”αŸ‹ API αž•αŸ’αž‘αž»αž€αžœαžαŸ’αžαž» .

αžœαžΆαž‡αžΆαž€αžΆαžšαžŸαŸ†αžαžΆαž“αŸ‹αžŽαžΆαžŸαŸ‹αžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž™αž›αŸ‹αžαžΆαž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹ CSI αž“αŸ…αž€αŸ’αž“αž»αž„αž‘αž˜αŸ’αžšαž„αŸ‹αž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αžšαž”αžŸαŸ‹αžœαžΆ αž–αŸ„αž›αž‚αžΊαž€αžΆαžšαžŠαŸ†αž‘αžΎαž„αž—αžΆαž‚αž“αŸ…αž–αŸαž›αž’αŸ’αžœαžΎαž€αžΆαžšαž‡αžΆαž˜αž½αž™αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž‘αŸ†αž“αžΎαž” αž™αžΎαž„αž“αžΉαž„αž‡αž½αž”αž”αŸ’αžšαž‘αŸ‡αž”αž‰αŸ’αž αžΆαžŠαžΌαž…αž‚αŸ’αž“αžΆαžŠαŸ‚αž›αž€αžΎαžαž‘αžΎαž„αž“αŸ…αž€αŸ’αž“αž»αž„αž”αŸ’αžšαž–αŸαž“αŸ’αž’αžŠαŸ‚αž›αž€αžΆαžšαž•αŸ’αž‘αž»αž€αž‘αž·αž“αŸ’αž“αž“αŸαž™αžαŸ’αžšαžΌαžœαž”αžΆαž“αžšαŸ€αž”αž…αŸ†αž“αŸ…αž€αŸ’αž“αž»αž„αžšαž…αž“αžΆαž”αŸαž‘αŸ’αž˜ POSIX αŸ”

αžœαž·αž’αžΈαžŸαžΆαžŸαŸ’αžšαŸ’αžαž€αžΆαž“αŸ‹αžαŸ‚αž”αŸ’αžšαžŸαžΎαžš

αž€αŸ’αž“αž»αž„αž€αžšαžŽαžΈαž“αŸαŸ‡ αžœαžΆαž‡αžΆαž€αžΆαžšαžŸαŸ†αžαžΆαž“αŸ‹αžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž™αž›αŸ‹αžαžΆαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž—αžΆαž‚αž…αŸ’αžšαžΎαž“αž˜αž·αž“αžαŸ’αžšαžΌαžœαž”αžΆαž“αžšαž…αž“αžΆαž‘αžΎαž„αž‡αžΆαž–αž·αžŸαŸαžŸαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž„αžΆαžšαž‚αŸ’αž˜αžΆαž“αžšαžŠαŸ’αž‹ αž¬αž‚αŸ’αž˜αžΆαž“αžšαžŠαŸ’αž‹αž“αŸ„αŸ‡αž‘αŸαŸ” αž₯αžšαž·αž™αžΆαž”αžαž“αŸαŸ‡αž’αžΆαžŸαŸ’αžšαŸαž™αž›αžΎαžŸαŸ’αžαžΆαž”αžαŸ’αž™αž€αž˜αŸ’αž˜αž”αŸ’αžšαž–αŸαž“αŸ’αž’αž‘αžΆαŸ†αž„αž˜αžΌαž› αž“αž·αž„αž‡αž˜αŸ’αžšαžΎαžŸαž“αŸƒαž€αžΆαžšαžšαž…αž“αžΆαž‡αžΆαž€αŸ‹αž›αžΆαž€αŸ‹αŸ” αžŸαžΌαž˜αž“αž·αž™αžΆαž™αž”αž“αŸ’αžαž·αž…αž’αŸ†αž–αžΈαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžŠαŸ‚αž›αž˜αžΆαž“αžšαžŠαŸ’αž‹αŸ”

αž‡αžΆαž‚αŸ„αž›αž€αžΆαžšαžŽαŸ αž‘αž·αž“αŸ’αž“αž“αŸαž™αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž’αžΆαž…αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ‚αž„αž…αŸ‚αž€αž‡αžΆαž”αŸ’αžšαž—αŸαž‘αž’αŸ†αŸ—αž‡αžΆαž…αŸ’αžšαžΎαž“αŸ–

  • αž‘αž·αž“αŸ’αž“αž“αŸαž™αž€αŸ†αžŽαžαŸ‹αž αŸαžαž»
  • αž‘αž·αž“αŸ’αž“αž“αŸαž™αžαŸ’αžšαžΆαž–αŸαž›αžœαŸαž›αžΆ
  • αž‘αž·αž“αŸ’αž“αž“αŸαž™αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžš
  • αž‘αž·αž“αŸ’αž“αž“αŸαž™αž˜αŸαžαžΆ
  • αžšαžΌαž”αž—αžΆαž–αž€αž»αž„αžαžΊαž“αŸαžš
  • αž‘αž·αž“αŸ’αž“αž“αŸαž™ Blob (αžœαžαŸ’αžαž»αž‚αŸ„αž›αž–αžΈαžšαž’αŸ†)

αž”αŸ’αžšαž—αŸαž‘αž‘αž·αž“αŸ’αž“αž“αŸαž™αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž“αŸαŸ‡αžαŸ’αžšαžΌαžœαž”αžΆαž“αž‚αžΆαŸ†αž‘αŸ’αžšαž™αŸ‰αžΆαž„αž›αŸ’αž’αž“αŸ…αž›αžΎαžœαŸαž‘αž·αž€αžΆαž•αŸ’αž‘αž»αž€αž‘αž·αž“αŸ’αž“αž“αŸαž™αž‘αŸ†αž“αžΎαž” αž αžΎαž™αž˜αžΆαž“αžœαŸαž‘αž·αž€αžΆαžŠαžΎαž˜αž€αŸ†αžŽαžΎαžαž–αž–αž€αž‡αžΆαž…αŸ’αžšαžΎαž“αžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž”αžΆαž“αž€αŸ‚αžŸαž˜αŸ’αžšαž½αž›αžŠαžΎαž˜αŸ’αž”αžΈαž”αž‰αŸ’αž‡αžΌαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αž€αŸ’αž“αž»αž„αž‘αž˜αŸ’αžšαž„αŸ‹αž‡αžΆαž€αŸ‹αž›αžΆαž€αŸ‹αž“αžΈαž˜αž½αž™αŸ—αž‘αžΆαŸ†αž„αž“αŸαŸ‡αŸ” αž§αž‘αžΆαž αžšαžŽαŸ αž‘αž·αž“αŸ’αž“αž“αŸαž™αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžš αž“αž·αž„αž‘αž·αž“αŸ’αž“αž“αŸαž™αž˜αŸαžαžΆαž’αžΆαž…αžŸαŸ’αžαž·αžαž“αŸ…αž€αŸ’αž“αž»αž„αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž–αž–αž€αž‘αŸ†αž“αžΎαž”αžŠαžΌαž…αž‡αžΆ CockroachDB, YugaByte αž‡αžΆαžŠαžΎαž˜αŸ” αžšαžΌαž”αž—αžΆαž–αž€αž»αž„αžαžΊαž“αŸαžš αž¬αž‘αž·αž“αŸ’αž“αž“αŸαž™αž”αŸ’αž›αž»αž€αž’αžΆαž…αžαŸ’αžšαžΌαžœαž”αžΆαž“αžšαž€αŸ’αžŸαžΆαž‘αž»αž€αž€αŸ’αž“αž»αž„αž”αž‰αŸ’αž‡αžΈαžˆαŸ’αž˜αŸ„αŸ‡ docker αžŠαŸ„αž™αž•αŸ’αž’αŸ‚αž€αž›αžΎ MinIO αŸ” αž‘αž·αž“αŸ’αž“αž“αŸαž™αžαŸ’αžšαžΆαž–αŸαž›αžœαŸαž›αžΆαž’αžΆαž…αžαŸ’αžšαžΌαžœαž”αžΆαž“αžšαž€αŸ’αžŸαžΆαž‘αž»αž€αž€αŸ’αž“αž»αž„αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αžŸαŸŠαŸαžšαžΈαž–αŸαž›αžœαŸαž›αžΆαžŠαžΌαž…αž‡αžΆ InfluxDB αž‡αžΆαžŠαžΎαž˜αŸ” αž™αžΎαž„αž“αžΉαž„αž˜αž·αž“αž›αž˜αŸ’αž’αž·αžαž’αŸ†αž–αžΈαž”αŸ’αžšαž—αŸαž‘αž‘αž·αž“αŸ’αž“αž“αŸαž™αž“αžΈαž˜αž½αž™αŸ— αž“αž·αž„αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžšαž”αžŸαŸ‹αžœαžΆαž“αŸ…αž‘αžΈαž“αŸαŸ‡αž‘αŸ αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž‚αŸ†αž“αž·αžαž‘αžΌαž‘αŸ…αž‚αžΊαžŠαžΎαž˜αŸ’αž”αžΈαž‡αŸ€αžŸαžœαžΆαž„αž€αžΆαžšαž•αŸ’αž‘αž»αž€αž‘αž·αž“αŸ’αž“αž“αŸαž™αž‡αžΆαž”αŸ‹αž›αžΆαž”αŸ‹αžŠαŸ‚αž›αž–αžΉαž„αž•αŸ’αž’αŸ‚αž€αž›αžΎαž€αžΆαžšαž—αŸ’αž‡αžΆαž”αŸ‹αžαžΆαžŸαž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αŸ”

αž‚αŸ†αžšαžΌαž“αŸƒαž€αžΆαžšαž•αŸ’αž‘αž»αž€αž‘αž·αž“αŸ’αž“αž“αŸαž™αž“αŸ…αž€αŸ’αž“αž»αž„ Kubernetes

αž›αžΎαžŸαž–αžΈαž“αŸαŸ‡αž‘αŸ€αž αž‡αžΆαžšαžΏαž™αŸ—αžœαžΆαž˜αžΆαž“αž”αŸ’αžšαžŸαž·αž‘αŸ’αž’αž—αžΆαž–αž€αŸ’αž“αž»αž„αž€αžΆαžšαž•αŸ’αžαž›αŸ‹αž“αžΌαžœαžŸαŸ’αžšαž‘αžΆαž”αŸ‹αžƒαŸ’αž›αžΆαŸ†αž„αžŸαž˜αŸ’αž„αžΆαžαŸ‹αž”αžŽαŸ’αžαŸ„αŸ‡αž’αžΆαžŸαž“αŸ’αž“αžŠαŸ‚αž›αž”αž˜αŸ’αžšαžΎαž‡αžΆαžƒαŸ’αž›αžΆαŸ†αž„αž•αŸ’αž‘αž»αž€αž―αž€αžŸαžΆαžšαž”αžŽαŸ’αžαŸ„αŸ‡αž’αžΆαžŸαž“αŸ’αž“αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αž˜αŸ’αž˜αžœαž·αž’αžΈ αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž˜αž·αž“αž‚αž½αžšαž–αžΉαž„αž•αŸ’αž’αŸ‚αž€αž›αžΎαžŸαŸ’αžšαž‘αžΆαž”αŸ‹αž“αŸαŸ‡αž‡αžΆαž”αŸ’αžšαž—αž–αž“αŸƒαž€αžΆαžšαž–αž·αžαž“αŸ„αŸ‡αž‘αŸαŸ”

αž€αžΆαžšαž•αŸ’αž‘αž»αž€αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžŠαŸ‚αž›αž˜αžΆαž“αžŸαŸ’αžαžΆαž“αž—αžΆαž–

αžαžŽαŸˆαž–αŸαž›αžŠαŸ‚αž›αž€αŸ’αž“αž»αž„αž€αžšαžŽαžΈαž—αžΆαž‚αž…αŸ’αžšαžΎαž“αžœαžΆαž˜αžΆαž“αž”αŸ’αžšαž™αŸ„αž‡αž“αŸαž€αŸ’αž“αž»αž„αž€αžΆαžšαžšαž€αŸ’αžŸαžΆαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž±αŸ’αž™αž‚αŸ’αž˜αžΆαž“αžšαžŠαŸ’αž‹ αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž‘αžΆαŸ†αž„αž“αŸ„αŸ‡αžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž”αžΆαž“αžšαž…αž“αžΆαž‘αžΎαž„αžŠαžΎαž˜αŸ’αž”αžΈαžšαž€αŸ’αžŸαžΆαž‘αž»αž€αž‘αž·αž“αŸ’αž“αž“αŸαž™ - αžŠαžΌαž…αž‡αžΆαž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™ αžƒαŸ’αž›αžΆαŸ†αž„αž•αŸ’αž‘αž»αž€αžœαžαŸ’αžαž» αžƒαŸ’αž›αžΆαŸ†αž„αžαž˜αŸ’αž›αŸƒ - αžαŸ’αžšαžΌαžœαžαŸ‚αž˜αžΆαž“αž›αž€αŸ’αžαžŽαŸˆαžšαžŠαŸ’αž‹αŸ” αžŸαžΌαž˜αž€αŸ’αžšαž‘αŸαž€αž˜αžΎαž›αž˜αžΌαž›αž αŸαžαž»αžŠαŸ‚αž›αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž‘αžΆαŸ†αž„αž“αŸαŸ‡αžαŸ’αžšαžΌαžœαž”αžΆαž“αžŠαžΆαž€αŸ‹αž±αŸ’αž™αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž“αŸ…αž›αžΎ Kubernetes αŸ” αžŸαžΌαž˜αž›αžΎαž€αž™αž€ MinIO αž‡αžΆαž§αž‘αžΆαž αžšαžŽαŸ αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž‚αŸ„αž›αž€αžΆαžšαžŽαŸαžŸαŸ’αžšαžŠαŸ€αž„αž‚αŸ’αž“αžΆαž“αŸαŸ‡αž’αž“αž»αžœαžαŸ’αžαž…αŸ†αž–αŸ„αŸ‡αž”αŸ’αžšαž–αŸαž“αŸ’αž’αž•αŸ’αž‘αž»αž€αž‘αž·αž“αŸ’αž“αž“αŸαž™αžŠαžΎαž˜αž€αŸ†αžŽαžΎαžαž–αž–αž€αž’αŸ†αž•αŸ’αžŸαŸαž„αž‘αŸ€αžαŸ”

αž€αž˜αŸ’αž˜αžœαž·αž’αžΈ Cloud-native αžαŸ’αžšαžΌαžœαž”αžΆαž“αžšαž…αž“αžΆαž‘αžΎαž„αžŠαžΎαž˜αŸ’αž”αžΈαž‘αžΆαž‰αž™αž€αž’αžαŸ’αžαž”αŸ’αžšαž™αŸ„αž‡αž“αŸαž–αŸαž‰αž›αŸαž‰αž–αžΈαž—αžΆαž–αž”αžαŸ‹αž”αŸ‚αž“αžŠαŸ‚αž›αž˜αžΆαž“αž“αŸ…αž€αŸ’αž“αž»αž„αž€αž»αž„αžαžΊαž“αŸαžšαŸ” αž“αŸαŸ‡αž˜αžΆαž“αž“αŸαž™αžαžΆαž–αž½αž€αž‚αŸαž˜αž·αž“αž’αŸ’αžœαžΎαž€αžΆαžšαžŸαž“αŸ’αž˜αžαŸ‹αž’αŸ†αž–αžΈαž”αžšαž·αžŸαŸ’αžαžΆαž“αžŠαŸ‚αž›αž–αž½αž€αž‚αŸαž“αžΉαž„αžαŸ’αžšαžΌαžœαž”αžΆαž“αžŠαžΆαž€αŸ‹αž–αž„αŸ’αžšαžΆαž™αŸ” αž‡αžΆαž§αž‘αžΆαž αžšαžŽαŸ MinIO αž”αŸ’αžšαžΎαž™αž“αŸ’αžαž€αžΆαžšαžŸαžšαžŸαŸαžšαž€αžΌαžŠαž›αž»αž”αžαžΆαž„αž€αŸ’αž“αž»αž„αžŠαžΎαž˜αŸ’αž”αžΈαž•αŸ’αžαž›αŸ‹αž±αŸ’αž™αž”αŸ’αžšαž–αŸαž“αŸ’αž’αž“αžΌαžœαž—αžΆαž–αž’αž“αŸ‹αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαžΆαž“αŸ‹αžŠαžΎαž˜αŸ’αž”αžΈαž”αž“αŸ’αžαžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž‘αŸ„αŸ‡αž”αžΈαž‡αžΆαžαžΆαžŸαž–αžΆαž€αŸ‹αž€αžŽαŸ’αžαžΆαž›αž”αžšαžΆαž‡αŸαž™αž€αŸαžŠαŸ„αž™αŸ” MinIO αž€αŸαž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž—αžΆαž–αžαŸ’αžšαžΉαž˜αžαŸ’αžšαžΌαžœαž“αŸƒαž‘αž·αž“αŸ’αž“αž“αŸαž™ αž“αž·αž„αžŸαž»αžœαžαŸ’αžαž·αž—αžΆαž–αžŠαŸ„αž™αž”αŸ’αžšαžΎαž€αžΆαžšαž”αŸ†αž”αŸ‚αž€αž•αŸ’αž“αŸ‚αž€αžαžΆαž„αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαžŠαŸ‚αž›αž˜αžΆαž“αž€αž˜αŸ’αž˜αžŸαž·αž‘αŸ’αž’αž· αž“αž·αž„αž€αžΆαžšαž’αŸŠαž·αž“αž‚αŸ’αžšαžΈαž”αŸ”

αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžŠαŸ‚αž›αž•αŸ’αžαŸ„αžαž›αžΎαž–αž–αž€αž”αŸ‚αž”αž“αŸαŸ‡ αž”αžšαž·αž˜αžΆαžŽαž‡αžΆαž”αŸ‹αž›αžΆαž”αŸ‹αž€αŸ’αž“αž»αž„αžαŸ†αž”αž“αŸ‹ (PVs) αž‚αžΊαž„αžΆαž™αžŸαŸ’αžšαž½αž›αž”αŸ†αž•αž»αžαžŠαžΌαž…αž‡αžΆαž€αžΆαžšαž•αŸ’αž‘αž»αž€αž”αž˜αŸ’αžšαž»αž„αž‘αž»αž€αŸ” PV αž€αŸ’αž“αž»αž„αžŸαŸ’αžšαž»αž€αž•αŸ’αžαž›αŸ‹αž“αžΌαžœαžŸαž˜αžαŸ’αžαž—αžΆαž–αž€αŸ’αž“αž»αž„αž€αžΆαžšαžšαž€αŸ’αžŸαžΆαž‘αž»αž€αž‘αž·αž“αŸ’αž“αž“αŸαž™αž†αŸ… αžαžŽαŸˆαžŠαŸ‚αž›αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžŠαŸ‚αž›αž€αŸ†αž–αž»αž„αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž“αŸ…αž›αžΎαž€αŸ†αž–αžΌαž›αž“αŸƒ PVs αž‘αžΆαŸ†αž„αž“αŸαŸ‡αžŠαŸ„αž™αž―αž€αžšαžΆαž‡αŸ’αž™αž”αŸ’αžšαž˜αžΌαž›αž–αŸαžαŸŒαž˜αžΆαž“αžŠαžΎαž˜αŸ’αž”αžΈαž’αŸ’αžœαžΎαž˜αžΆαžαŸ’αžšαžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™ αž“αž·αž„αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αžαž˜αŸ’αžšαžΌαžœαž€αžΆαžšαž‘αž·αž“αŸ’αž“αž“αŸαž™αžŠαŸ‚αž›αž€αŸ†αž–αž»αž„αž€αžΎαž“αž‘αžΎαž„αŸ”

αžœαž·αž’αžΈαžŸαžΆαžŸαŸ’αžšαŸ’αžαž“αŸαŸ‡αž‚αžΊαžŸαžΆαž˜αž‰αŸ’αž‰αž‡αžΆαž„ αž“αž·αž„αž’αžΆαž…αž’αŸ’αžœαžΎαž˜αžΆαžαŸ’αžšαžŠαŸ’αž‹αžΆαž“αž”αžΆαž“αž…αŸ’αžšαžΎαž“αž‡αžΆαž„ PVs αžŠαŸ‚αž›αž˜αžΆαž“αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž›αžΎ CSI αžŠαŸ‚αž›αžŽαŸ‚αž“αžΆαŸ†αžŸαŸ’αžšαž‘αžΆαž”αŸ‹αž“αŸƒαž€αžΆαžšαž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž‘αž·αž“αŸ’αž“αž“αŸαž™αž•αŸ’αž‘αžΆαž›αŸ‹αžαŸ’αž›αž½αž“ αž“αž·αž„αž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž‘αžΎαž„αžœαž·αž‰αž‘αŸ…αž€αŸ’αž“αž»αž„αž”αŸ’αžšαž–αŸαž“αŸ’αž’αŸ” αž…αŸ†αž“αž»αž…αž“αŸ„αŸ‡αž‚αžΊαžαžΆ αžŸαŸ’αžšαž‘αžΆαž”αŸ‹αž‘αžΆαŸ†αž„αž“αŸαŸ‡αž‡αžΆαž’αž˜αŸ’αž˜αžαžΆαž”αŸ‰αŸ‡αž‘αž„αŸ’αž‚αž·αž…αž‡αžΆαž˜αž½αž™αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžŠαŸ‚αž›αž”αžΆαž“αžšαž…αž“αžΆαž‘αžΎαž„αžŠαžΎαž˜αŸ’αž”αžΈαž±αŸ’αž™αž˜αžΆαž“αž—αžΆαž–αž…αŸ’αž”αžΆαžŸαŸ‹αž›αžΆαžŸαŸ‹αŸ”

αž…αž›αž“αžΆαžαŸ’αž›αžΆαŸ†αž„αž†αŸ’αž–αŸ„αŸ‡αž‘αŸ…αžšαž€αž€αžΆαžšαž”αŸ†αž”αŸ‚αž€αž‘αž·αž“αŸ’αž“αž“αŸαž™αž–αžΈαž€αžΆαžšαž‚αžŽαž“αžΆ

αž“αŸ…αž€αŸ’αž“αž»αž„αž’αžαŸ’αžαž”αž‘αž“αŸαŸ‡ αž™αžΎαž„αž”αžΆαž“αž“αž·αž™αžΆαž™αž’αŸ†αž–αžΈαžšαž”αŸ€αž”αžŠαŸ‚αž›αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžαŸ’αžšαžΌαžœαž”αžΆαž“αžαŸ†αžšαž„αŸ‹αž‘αž·αžŸαžŠαžΎαž˜αŸ’αž”αžΈαžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžŠαŸ„αž™αž˜αž·αž“αžšαž€αŸ’αžŸαžΆαž‘αž»αž€αžŸαŸ’αžαžΆαž“αž—αžΆαž– αž¬αž“αž·αž™αžΆαž™αž˜αŸ’αž™αŸ‰αžΆαž„αž‘αŸ€αž αž€αžΆαžšαžšαž€αŸ’αžŸαžΆαž‘αž»αž€αž‘αž·αž“αŸ’αž“αž“αŸαž™αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ†αž”αŸ‚αž€αž…αŸαž‰αž–αžΈαž€αž»αŸ†αž–αŸ’αž™αžΌαž‘αŸαžšαž“αŸ…αž›αžΎαžœαžΆαŸ” αžŸαžšαž»αž”αžŸαŸαž…αž€αŸ’αžαžΈαž˜αž€ αžŸαžΌαž˜αž€αŸ’αžšαž‘αŸαž€αž˜αžΎαž›αž§αž‘αžΆαž αžšαžŽαŸαž‡αžΆαž€αŸ‹αžŸαŸ’αžαŸ‚αž„αž˜αž½αž™αž…αŸ†αž“αž½αž“αž“αŸƒαž“αž·αž“αŸ’αž“αžΆαž€αžΆαžšαž“αŸαŸ‡αŸ”

SparkαžŠαŸ‚αž›αž‡αžΆαžœαŸαž‘αž·αž€αžΆαžœαž·αž—αžΆαž‚αž‘αž·αž“αŸ’αž“αž“αŸαž™αžŠαŸαž›αŸαž…αž’αŸ’αž›αŸ„αž˜αž½αž™ αž˜αžΆαž“αž›αž€αŸ’αžαžŽαŸˆαž‡αžΆαž”αŸ’αžšαž–αŸƒαžŽαžΈ αž“αž·αž„αžαŸ’αžšαžΌαžœαž”αžΆαž“αžŠαžΆαž€αŸ‹αž±αŸ’αž™αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž“αŸ…αž›αžΎ HDFS αŸ” αž‘αŸ„αŸ‡αž‡αžΆαž™αŸ‰αžΆαž„αžŽαžΆαž€αŸαžŠαŸ„αž™ αž“αŸ…αž–αŸαž›αžŠαŸ‚αž› Spark αž•αŸ’αž›αžΆαžŸαŸ‹αž‘αžΈαž‘αŸ…αž€αŸ’αž“αž»αž„αž–αž·αž—αž–αž–αž–αž€αž€αžŽαŸ’αžαžΆαž› αžœαŸαž‘αž·αž€αžΆαž“αŸαŸ‡αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž€αžΆαž“αŸ‹αžαŸ‚αžαŸ’αž›αžΆαŸ†αž„αž‘αžΎαž„αžŠαŸ„αž™αž‚αŸ’αž˜αžΆαž“αžšαžŠαŸ’αž‹αžŠαŸ„αž™αž”αŸ’αžšαžΎ `s3a` αŸ” Spark αž”αŸ’αžšαžΎ s3a αžŠαžΎαž˜αŸ’αž”αžΈαž•αŸ’αž‘αŸαžšαžŸαŸ’αžαžΆαž“αž—αžΆαž–αž‘αŸ…αž”αŸ’αžšαž–αŸαž“αŸ’αž’αž•αŸ’αžŸαŸαž„αž‘αŸ€αž αžαžŽαŸˆαž–αŸαž›αžŠαŸ‚αž› Spark containers αžαŸ’αž›αž½αž“αž―αž„αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž‘αžΆαŸ†αž„αžŸαŸ’αžšαž»αž„αžŠαŸ„αž™αž‚αŸ’αž˜αžΆαž“αžšαžŠαŸ’αž‹αŸ” αž’αŸ’αž“αž€αž›αŸαž„αžŸαž αž‚αŸ’αžšαžΆαžŸαž’αŸ†αŸ—αž•αŸ’αžŸαŸαž„αž‘αŸ€αžαž“αŸ…αž€αŸ’αž“αž»αž„αžœαž·αžŸαŸαž™αžœαž·αž—αžΆαž‚αž‘αž·αž“αŸ’αž“αž“αŸαž™αž’αŸ† αž‡αžΆαž–αž·αžŸαŸαžŸαŸ” αž”αž‰αŸ’αžˆαžš, αžαŸαžšαŸ‰αžΆαžαžΆαžαžΆ, αž”αŸƒαžαž„αž•αŸ’αž›αž»αŸ† αž–αž½αž€αž‚αŸαž€αŸαž€αŸ†αž–αž»αž„αž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαž‘αŸ…αž’αŸ’αžœαžΎαž€αžΆαžšαž‡αžΆαž˜αž½αž™αž€αžΆαžšαž”αŸ†αž”αŸ‚αž€αž“αŸƒαž€αžΆαžšαž•αŸ’αž‘αž»αž€αž‘αž·αž“αŸ’αž“αž“αŸαž™ αž“αž·αž„αž€αžΆαžšαž‚αžŽαž“αžΆαž›αžΎαž–αž½αž€αž‚αŸαŸ”

αž‚αŸ†αžšαžΌαžŸαŸ’αžšαžŠαŸ€αž„αž‚αŸ’αž“αžΆαž“αŸαŸ‡αž€αŸαž’αžΆαž…αžαŸ’αžšαžΌαžœαž”αžΆαž“αž‚αŸαž˜αžΎαž›αžƒαžΎαž‰αž“αŸ…αž›αžΎαžœαŸαž‘αž·αž€αžΆαžœαž·αž—αžΆαž‚αž’αŸ†αž•αŸ’αžŸαŸαž„αž‘αŸ€αž αžšαž½αž˜αž‘αžΆαŸ†αž„ Presto, Tensorflow αž‘αŸ… R, Jupyter αŸ” αžαžΆαž˜αžšαž™αŸˆαž€αžΆαžšαž”αž‰αŸ’αž‡αžΌαž“αžŸαŸ’αžαžΆαž“αž—αžΆαž–αž‘αŸ…αž”αŸ’αžšαž–αŸαž“αŸ’αž’αž•αŸ’αž‘αž»αž€αž–αž–αž€αž–αžΈαž…αž˜αŸ’αž„αžΆαž™ αžœαžΆαž€αžΆαž“αŸ‹αžαŸ‚αž„αžΆαž™αžŸαŸ’αžšαž½αž›αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„ αž“αž·αž„αž–αž„αŸ’αžšαžΈαž€αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αŸ” αž›αžΎαžŸαž–αžΈαž“αŸαŸ‡αž‘αŸ€αžαžœαžΆαž‡αž½αž™αžŸαž˜αŸ’αžšαž½αž›αžŠαž›αŸ‹αž€αžΆαžšαž…αž›αŸαžαž“αŸƒαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž‘αŸ…αž€αžΆαž“αŸ‹αž”αžšαž·αž™αžΆαž€αžΆαžŸαž•αŸ’αžŸαŸαž„αŸ—αŸ”

αž”αŸ’αžšαž—αž–: www.habr.com

αž”αž“αŸ’αžαŸ‚αž˜αž˜αžαž·αž™αŸ„αž”αž›αŸ‹