рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рд╕реНрдЯреЛрд░реЗрдЬ рд╡реЙрд▓реНрдпреВрдо рдкреНрд▓рдЧрдЗрдиреНрд╕: рдлреНрд▓реЗрдХреНрд╕рд╡реЛрд▓реНрдпреВрдо рдЯреВ рд╕реАрдПрд╕рдЖрдИ



рдЙрди рджрд┐рдиреЛрдВ рдореЗрдВ рдЬрдм рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдЕрднреА рднреА v1.0.0 рдерд╛, рд╡реЙрд▓реНрдпреВрдо рдкреНрд▓рдЧрдЗрдиреНрд╕ рдореМрдЬреВрдж рдереЗред рдЙрдиреНрд╣реЗрдВ рд╕реНрдерд╛рдпреА (рд╕реНрдерд╛рдпреА) рдХрдВрдЯреЗрдирд░ рдбреЗрдЯрд╛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдмреЗрд░рдиреЗрдЯ рд╕рд┐рд╕реНрдЯрдо рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереАред рдЙрдирдХреА рд╕рдВрдЦреНрдпрд╛ рдХрдо рдереА, рдФрд░ рдкрд╣рд▓реЗ рдРрд╕реЗ рднрдВрдбрд╛рд░рдг рдкреНрд░рджрд╛рддрд╛ рдереЗ рдЬреИрд╕реЗ рдЬреАрд╕реАрдИ рдкреАрдбреА, рд╕реЗрдл, рдПрдбрдмреНрд▓реНрдпреВрдПрд╕ рдИрдмреАрдПрд╕ рдФрд░ рдЕрдиреНрдпред

рдкреНрд▓рдЧ-рдЗрди рдХреЛ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдХреЗ рд╕рд╛рде рдорд┐рд▓рдХрд░ рд╡рд┐рддрд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдЙрдиреНрд╣реЗрдВ рдЕрдкрдирд╛ рдирд╛рдо рдорд┐рд▓рд╛ - рдЗрди-рдЯреНрд░реАред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдРрд╕реЗ рдкреНрд▓рдЧ-рдЗрди рдХреЗ рдореМрдЬреВрджрд╛ рд╕реЗрдЯ рдореЗрдВ рд╕реЗ рдХрдИ рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рдереЗред рд╢рд┐рд▓реНрдкрдХрд╛рд░реЛрдВ рдиреЗ рдкреИрдЪ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдХреЗ рдореВрд▓ рдореЗрдВ рд╕рд░рд▓ рдкреНрд▓рдЧрдЗрдиреНрд╕ рдХреЛ рдЬреЛрдбрд╝рд╛, рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рдЙрдиреНрд╣реЛрдВрдиреЗ рдЕрдкрдиреЗ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд┐рдпрд╛ рдФрд░ рдЗрд╕реЗ рдЕрдкрдиреЗ рд╕рд░реНрд╡рд░ рдкрд░ рдбрд╛рд▓ рджрд┐рдпрд╛ред рд▓реЗрдХрд┐рди рд╕рдордп рдХреЗ рд╕рд╛рде, рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдиреЗ рдорд╣рд╕реВрд╕ рдХрд┐рдпрд╛ рдХрд┐ рдордЫрд▓реА рдХреЛ рд╣рд▓ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд▓реЛрдЧреЛрдВ рдХреЛ рдордЫрд▓реА рдкрдХрдбрд╝рдиреЗ рдХреА рдЫрдбрд╝реА рдХреА рдЬрд░реВрд░рдд рд╣реЛрддреА рд╣реИред рдФрд░ Kubernetes v1.2.0 рд░рд┐рд▓реАрдЬ рдореЗрдВ, рдпрд╣ рджрд┐рдЦрд╛рдИ рджрд┐рдпрд╛ ...

Flexvolume рдкреНрд▓рдЧрдЗрди: рдиреНрдпреВрдирддрдо рдордЫрд▓реА рдкрдХрдбрд╝рдиреЗ рд╡рд╛рд▓реА рдЫрдбрд╝реА


рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдХреЗ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдиреЗ FlexVolume рдкреНрд▓рдЧрдЗрди рдмрдирд╛рдпрд╛, рдЬреЛ рддреГрддреАрдп-рдкрдХреНрд╖ Flexvolume рдбреНрд░рд╛рдЗрд╡рд░реЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЪрд░ рдФрд░ рд╡рд┐рдзрд┐рдпреЛрдВ рдХрд╛ рдПрдХ рддрд╛рд░реНрдХрд┐рдХ рдмрдВрдзрди рдерд╛ред

рдЪрд▓реЛ рд░реБрдХрддреЗ рд╣реИрдВ рдФрд░ FlexVolume рдбреНрд░рд╛рдЗрд╡рд░ рдХреНрдпрд╛ рд╣реИ, рдЗрд╕ рдкрд░ рдХрд░реАрдм рд╕реЗ рдирдЬрд╝рд░ рдбрд╛рд▓рддреЗ рд╣реИрдВред рдпрд╣ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдлрд╝рд╛рдЗрд▓ (рдмрд╛рдЗрдирд░реА рдлрд╝рд╛рдЗрд▓, рдкрд╛рдпрдерди рд╕реНрдХреНрд░рд┐рдкреНрдЯ, рдмреИрд╢ рд╕реНрдХреНрд░рд┐рдкреНрдЯ, рдЖрджрд┐) рд╣реИ, рдЬрд┐рд╕реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддреЗ рд╕рдордп, рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдЖрд░реНрдЧреНрдпреБрдореЗрдВрдЯреНрд╕ рд▓реЗрддрд╛ рд╣реИ рдФрд░ JSON рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рдЬреНрдЮрд╛рдд рдлрд╝реАрд▓реНрдб рдХреЗ рд╕рд╛рде рдПрдХ рд╕рдВрджреЗрд╢ рджреЗрддрд╛ рд╣реИред рд╕рдореНрдореЗрд▓рди рджреНрд╡рд╛рд░рд╛, рдкрд╣рд▓реА рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рддрд░реНрдХ рд╣рдореЗрд╢рд╛ рд╡рд┐рдзрд┐ рд╣реИ, рдФрд░ рдмрд╛рдХреА рддрд░реНрдХ рдЗрд╕рдХреЗ рдкреИрд░рд╛рдореАрдЯрд░ рд╣реИрдВред


CIFS OpenShift рдореЗрдВ рдХрдиреЗрдХреНрд╢рди рдпреЛрдЬрдирд╛ рд╕рд╛рдЭрд╛ рдХрд░рддрд╛ рд╣реИред Flexvolume рдЪрд╛рд▓рдХ - рдХреЗрдВрджреНрд░ рдореЗрдВ рд╕рд╣реА

рддрд░реАрдХреЛрдВ рдХрд╛ рдиреНрдпреВрдирддрдо рд╕реЗрдЯ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:

flexvolume_driver mount #      pod' #   : { "status": "Success"/"Failure"/"Not supported", "message": "       ", } flexvolume_driver unmount #      pod' #   : { "status": "Success"/"Failure"/"Not supported", "message": "       ", } flexvolume_driver init #     #   : { "status": "Success"/"Failure"/"Not supported", "message": "       ", // ,     attach/deatach "capabilities":{"attach": True/False} } 

attach рдФрд░ detach рд╡рд┐рдзрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЙрд╕ рдкрд░рд┐рджреГрд╢реНрдп рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдЬрд┐рд╕рдХреЗ рдЕрдиреБрд╕рд╛рд░ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдХреНрдпреВрдмрд▓реЗрдЯ рдЪрд╛рд▓рдХ рдХреЛ рдмреБрд▓рд╛рдП рдЬрд╛рдиреЗ рдкрд░ рдХрд╛рд░реНрдп рдХрд░реЗрдЧрд╛ред рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ expandvolume рдФрд░ expandfs рдЬреЛ рдЧрддрд┐рд╢реАрд▓ рд░реВрдк рд╕реЗ рд╡реЙрд▓реНрдпреВрдо рдХреЛ рдЖрдХрд╛рд░ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИрдВред

expandvolume рд╡рд┐рдзрд┐ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ, рдФрд░ рдЗрд╕рдХреЗ рд╕рд╛рде рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рдореЗрдВ рд╡реЙрд▓реНрдпреВрдо рдЖрдХрд╛рд░ рджреЗрдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рд╣реИ, рдЖрдк рд░реВрдХ рд╕реЗрдл рдСрдкрд░реЗрдЯрд░ рдореЗрдВ рд╣рдорд╛рд░реЗ рдкреБрд▓ рдЕрдиреБрд░реЛрдз рдХреА рдЬрд╛рдВрдЪ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдпрд╣рд╛рдБ NFS рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП Flexvolume рдбреНрд░рд╛рдЗрд╡рд░ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣реИ:

 usage() { err "Invalid usage. Usage: " err "\t$0 init" err "\t$0 mount <mount dir> <json params>" err "\t$0 unmount <mount dir>" exit 1 } err() { echo -ne $* 1>&2 } log() { echo -ne $* >&1 } ismounted() { MOUNT=`findmnt -n ${MNTPATH} 2>/dev/null | cut -d' ' -f1` if [ "${MOUNT}" == "${MNTPATH}" ]; then echo "1" else echo "0" fi } domount() { MNTPATH=$1 NFS_SERVER=$(echo $2 | jq -r '.server') SHARE=$(echo $2 | jq -r '.share') if [ $(ismounted) -eq 1 ] ; then log '{"status": "Success"}' exit 0 fi mkdir -p ${MNTPATH} &> /dev/null mount -t nfs ${NFS_SERVER}:/${SHARE} ${MNTPATH} &> /dev/null if [ $? -ne 0 ]; then err "{ \"status\": \"Failure\", \"message\": \"Failed to mount ${NFS_SERVER}:${SHARE} at ${MNTPATH}\"}" exit 1 fi log '{"status": "Success"}' exit 0 } unmount() { MNTPATH=$1 if [ $(ismounted) -eq 0 ] ; then log '{"status": "Success"}' exit 0 fi umount ${MNTPATH} &> /dev/null if [ $? -ne 0 ]; then err "{ \"status\": \"Failed\", \"message\": \"Failed to unmount volume at ${MNTPATH}\"}" exit 1 fi log '{"status": "Success"}' exit 0 } op=$1 if [ "$op" = "init" ]; then log '{"status": "Success", "capabilities": {"attach": false}}' exit 0 fi if [ $# -lt 2 ]; then usage fi shift case "$op" in mount) domount $* ;; unmount) unmount $* ;; *) log '{"status": "Not supported"}' exit 0 esac exit 1 

рдЗрд╕рд▓рд┐рдП, рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдлрд╝рд╛рдЗрд▓ рддреИрдпрд╛рд░ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдкрдХреЛ рдХреБрдмреЗрд░рдиреЗрдЯ рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рдбреНрд░рд╛рдЗрд╡рд░ рдХреЛ рдмрд┐рдЫрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдбреНрд░рд╛рдЗрд╡рд░ рдХреЛ рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдкрде рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдХреНрд▓рд╕реНрдЯрд░ рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рдиреЛрдб рдкрд░ рд╕реНрдерд┐рдд рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдЪреБрдирд╛ рдЧрдпрд╛ рдерд╛:

/usr/libexec/kubernetes/kubelet-plugins/volume/exec/__~_/

... рд▓реЗрдХрд┐рди рдХреБрдмреЗрд░рдиреЗрдЯ рдХреЗ рд╡рд┐рддрд░рдг (рдУрдкрдирд╢рд┐рдлреНрдЯ, рд░реИрдВрдЪрд░ ...) рдХреЗ рдЙрдкрдпреЛрдЧ рд╕реЗ рд░рд╛рд╕реНрддрд╛ рдЕрд▓рдЧ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

рдлреНрд▓реЗрдХреНрд╕рд╡реЛрд▓реНрдпреВрдо рд╕рдорд╕реНрдпрд╛рдПрдВ: рдордЫрд▓реА рдкрдХрдбрд╝рдиреЗ рд╡рд╛рд▓реА рдЫрдбрд╝реА рдХреИрд╕реЗ рдбрд╛рд▓реА рдЬрд╛рдП?


рдлреНрд▓реЗрдХреНрд╕рд╡реЛрд▓реНрдпреВрдо рдЪрд╛рд▓рдХ рдХреЛ рдХреНрд▓рд╕реНрдЯрд░ рдиреЛрдбреНрд╕ рдкрд░ рд░рдЦрдирд╛ рдПрдХ рдЧреИрд░-рддреБрдЪреНрдЫ рдХрд╛рд░реНрдп рд╣реИред рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдПрдХ рдмрд╛рд░ рдСрдкрд░реЗрд╢рди рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдПрдХ рд╕реНрдерд┐рддрд┐ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реЛрддрд╛ рд╣реИ рдЬрдм рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рдирдП рдиреЛрдб рджрд┐рдЦрд╛рдИ рджреЗрддреЗ рд╣реИрдВ: рдПрдХ рдирдП рдиреЛрдб рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╕реНрд╡рдд: рдХреНрд╖реИрддрд┐рдЬ рд╕реНрдХреЗрд▓рд┐рдВрдЧ, рдпрд╛ рдЗрд╕рд╕реЗ рднреА рдмрджрддрд░, рдПрдХ рдЦрд░рд╛рдмреА рдХреЗ рдХрд╛рд░рдг рдиреЛрдб рдХреА рдЬрдЧрд╣ред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЗрди рдиреЛрдбреНрд╕ рдкрд░ рд╕реНрдЯреЛрд░реЗрдЬ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдЕрд╕рдВрднрд╡ рд╣реИ рдЬрдм рддрдХ рдХрд┐ рдЖрдк рдЙрд╕реА рддрд░рд╣ рд╕реЗ рдлреНрд▓реЗрдХреНрд╕рд╡реЛрд▓реНрдпреВрдо рдбреНрд░рд╛рдЗрд╡рд░ рдХреЛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдирд╣реАрдВ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВред

рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдХреА рдкреНрд░рдореБрдЦ рдкреНрд░рд╛рдердорд┐рдХрддрд╛рдУрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдерд╛ - DaemonSet ред рдЬрдм рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рдПрдХ рдирдпрд╛ рдиреЛрдб рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИ, рддреЛ рдпрд╣ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рд╣рдорд╛рд░реЗ DaemonSet рд╕реЗ рдПрдХ рдлрд▓реА рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ Flexvolume рдбреНрд░рд╛рдЗрд╡рд░реЛрдВ рдХреЛ рдЦреЛрдЬрдиреЗ рдХреЗ рддрд░реАрдХреЗ рдХреЗ рд╕рд╛рде рдПрдХ рд╕реНрдерд╛рдиреАрдп рд╡реЙрд▓реНрдпреВрдо рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИред рд╕рдлрд▓ рдирд┐рд░реНрдорд╛рдг рдкрд░, рдкреЙрдб рдбрд┐рд╕реНрдХ рдкрд░ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбреНрд░рд╛рдЗрд╡рд░ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрдирд╛рддрд╛ рд╣реИред

рдлреНрд▓реЗрдХреНрд╕рд╡реЛрд▓реНрдпреВрдо рдкреНрд▓рдЧрдЗрди рдХреЛ рдмрд╛рд╣рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ рдбреЗрдореЛрдирд╕реЗрдЯ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ:

 apiVersion: extensions/v1beta1 kind: DaemonSet metadata: name: flex-set spec: template: metadata: name: flex-deploy labels: app: flex-deploy spec: containers: - image: <deployment_image> name: flex-deploy securityContext: privileged: true volumeMounts: - mountPath: /flexmnt name: flexvolume-mount volumes: - name: flexvolume-mount hostPath: path: <host_driver_directory> 

... рдФрд░ рдлреНрд▓реЗрдХреНрд╕рд╡реЛрд▓реНрдпреВрдо рдЪрд╛рд▓рдХ рдХреЛ рдмрд╛рд╣рд░ рдирд┐рдХрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдмреИрд╢ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг:

 #!/bin/sh set -o errexit set -o pipefail VENDOR=k8s.io DRIVER=nfs driver_dir=$VENDOR${VENDOR:+"~"}${DRIVER} if [ ! -d "/flexmnt/$driver_dir" ]; then mkdir "/flexmnt/$driver_dir" fi cp "/$DRIVER" "/flexmnt/$driver_dir/.$DRIVER" mv -f "/flexmnt/$driver_dir/.$DRIVER" "/flexmnt/$driver_dir/$DRIVER" while : ; do sleep 3600 done 

рдпрд╣ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХрд┐ рдпрд╣ рди рднреВрд▓реЗрдВ рдХрд┐ рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдСрдкрд░реЗрд╢рди рдкрд░рдорд╛рдгреБ рдирд╣реАрдВ рд╣реИ ред рдпрд╣ рдЕрддреНрдпрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рдЗрд╕рдХреА рддреИрдпрд╛рд░реА рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдкреВрд░реА рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЪрд╛рд▓рдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджреЗрдЧрд╛, рдЬрд┐рд╕рд╕реЗ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдПрдХ рддреНрд░реБрдЯрд┐ рд╣реЛрдЧреАред рд╕рд╣реА рджреГрд╖реНрдЯрд┐рдХреЛрдг рдкрд╣рд▓реЗ рдПрдХ рдЕрд▓рдЧ рдирд╛рдо рдХреЗ рддрд╣рдд рдбреНрд░рд╛рдЗрд╡рд░ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрдирд╛рдирд╛ рд╣реЛрдЧрд╛, рдФрд░ рдлрд┐рд░ рдкрд░рдорд╛рдгреБ рдирд╛рдо рдмрджрд▓рдиреЗ рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред


рд░рдХ рдмрдпрд╛рди рдореЗрдВ рд╕рд┐рдл рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛: рдЖрд░реЗрдЦ рдкрд░ рдлреНрд▓реЗрдХреНрд╕рд╡реЛрд▓реНрдпреВрдо рдЪрд╛рд▓рдХ рд░реВрдХ рдПрдЬреЗрдВрдЯ рдХреЗ рдЕрдВрджрд░ рд╣реИ

рдлреНрд▓реЗрдХреНрд╕рд╡реЛрд▓реНрдпреВрдо рдбреНрд░рд╛рдЗрд╡рд░реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рдЕрдЧрд▓реА рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдЕрдзрд┐рдХрд╛рдВрд╢ рднрдВрдбрд╛рд░рдг рдХреЗ рд▓рд┐рдП , рдЗрд╕рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдХреНрд▓рд╕реНрдЯрд░ рдиреЛрдб (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕реЗрдл рдХреЗ рд▓рд┐рдП рд╕реЗрдл-рдЖрдо рдкреИрдХреЗрдЬ) рдкрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП ред рдкреНрд░рд╛рд░рдВрдн рдореЗрдВ, Flexvolume рдкреНрд▓рдЧрдЗрди рдРрд╕реЗ рдЬрдЯрд┐рд▓ рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред

рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдПрдХ рдореВрд▓ рд╕рдорд╛рдзрд╛рди рд░реВрдХ рдСрдкрд░реЗрдЯрд░ рдХреЗ рдлреНрд▓реЗрдХреНрд╕рд╡реЛрд▓реНрдпреВрдо рдЪрд╛рд▓рдХ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдореЗрдВ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:

рдбреНрд░рд╛рдЗрд╡рд░ рдХреЛ рд╕реНрд╡рдпрдВ RPC рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рд╕рдВрдЪрд╛рд░ рдХреЗ рд▓рд┐рдП рдЖрдИрдкреАрд╕реА рд╕реЙрдХреЗрдЯ рдЙрд╕реА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдирд┐рд╣рд┐рдд рд╣реИ рдЬреЛ рдЪрд╛рд▓рдХ рдХреЗ рд░реВрдк рдореЗрдВ рд╣реИред рд╣рдореЗрдВ рдпрд╛рдж рд╣реИ рдХрд┐ рдбреНрд░рд╛рдЗрд╡рд░ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП DaemonSet рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛, рдЬреЛ рдбреНрд░рд╛рдЗрд╡рд░ рдХреЗ рд╕рд╛рде рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЛ рд╡реЙрд▓реНрдпреВрдо рдХреЗ рд░реВрдк рдореЗрдВ рдЬреЛрдбрд╝рддрд╛ рд╣реИред рдЖрд╡рд╢реНрдпрдХ рд░реВрдХ рдбреНрд░рд╛рдЗрд╡рд░ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрдирд╛рдиреЗ рдХреЗ рдмрд╛рдж, рдпрд╣ рдкреЙрдб рдирд╣реАрдВ рдорд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдПрдХ рдкреВрд░реНрдг рдЖрд░рдкреАрд╕реА рд╕рд░реНрд╡рд░ рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдВрд▓рдЧреНрди рд╡реЙрд▓реНрдпреВрдо рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЖрдИрдкреАрд╕реА рд╕реЙрдХреЗрдЯ рд╕реЗ рдЬреБрдбрд╝ рдЬрд╛рддрд╛ рд╣реИред рдкреЙрдб рдХрдВрдЯреЗрдирд░ рдХреЗ рдЕрдВрджрд░ рд╕реЗрдл-рдХреЙрдорди рдкреИрдХреЗрдЬ рдкрд╣рд▓реЗ рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рд╣реИред IPC рд╕реЙрдХреЗрдЯ рдЖрддреНрдорд╡рд┐рд╢реНрд╡рд╛рд╕ рджреЗрддрд╛ рд╣реИ рдХрд┐ рдХреНрдпреВрдмрд▓реЗрдЯ рдЙрд╕реА рдиреЛрдб рдкрд░ рд╕реНрдерд┐рдд рд╡рд┐рд╢реЗрд╖ рдкреЙрдб рдХреЗ рд╕рд╛рде рд╕рдВрдЪрд╛рд░ рдХрд░реЗрдЧрд╛ред рд╕рдм рдХреБрдЫ рд╕рд░рд▓ рд╣реИ!

рдЕрд▓рд╡рд┐рджрд╛, рд╣рдорд╛рд░реЗ рд╕реНрдиреЗрд╣реА ... рдЗрди-рдЯреНрд░реА рдкреНрд▓рдЧрдЗрдиреНрд╕!


рдХреБрдмреЗрд░рдиреЗрдЯ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдиреЗ рдкрд╛рдпрд╛ рд╣реИ рдХрд┐ рдХрд░реНрдиреЗрд▓ рдХреЗ рдЕрдВрджрд░ рднрдВрдбрд╛рд░рдг рдкреНрд▓рдЧ рдХреА рд╕рдВрдЦреНрдпрд╛ рдмреАрд╕ рд╣реИред рдФрд░ рдЙрдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдХрд┐рд╕реА рддрд░рд╣ рдкреВрд░реНрдг рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рд░рд┐рд▓реАрдЬ рдЪрдХреНрд░ рд╕реЗ рдЧреБрдЬрд░рддрд╛ рд╣реИред

рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рднрдВрдбрд╛рд░рдг рдХреЗ рд▓рд┐рдП рдкреНрд▓рдЧрдЗрди рдХреЗ рдирдП рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдкреВрд░реЗ рдХреНрд▓рд╕реНрдЯрд░ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЖрдк рдЖрд╢реНрдЪрд░реНрдпрдЪрдХрд┐рдд рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдХрд╛ рдирдпрд╛ рд╕рдВрд╕реНрдХрд░рдг рдЕрдЪрд╛рдирдХ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП рд▓рд┐рдирдХреНрд╕ рдХрд░реНрдиреЗрд▓ рдХреЗ рд╕рд╛рде рдЕрд╕рдВрдЧрдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ ... рдФрд░ рдЗрд╕рд▓рд┐рдП, рдЖрдк рдЖрдБрд╕реВ рдкреЛрдВрдЫрддреЗ рд╣реИрдВ рдФрд░ рдЕрдкрдиреЗ рджрд╛рдВрддреЛрдВ рдХреЛ рдкреАрд╕рдХрд░ рдЕрдзрд┐рдХрд╛рд░рд┐рдпреЛрдВ рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд╕рд╛рде рд╕рдордиреНрд╡рдп рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рд▓рд┐рдирдХреНрд╕ рдХрд░реНрдиреЗрд▓ рдФрд░ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдХреНрд▓рд╕реНрдЯрд░ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХрд╛ рд╕рдордп рджреЗрддреЗ рд╣реИрдВред рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рдкреНрд░рд╛рд╡рдзрд╛рди рдореЗрдВ рд╕рдВрднрд╛рд╡рд┐рдд рдЧрд┐рд░рд╛рд╡рдЯ рдХреЗ рд╕рд╛рдеред

рд╕реНрдерд┐рддрд┐ рд╣рд╛рд╕реНрдп рд╕реЗ рдЕрдзрд┐рдХ рд╣реИ, рдХреНрдпрд╛ рдЖрдк рдирд╣реАрдВ рд╣реИрдВ? рдпрд╣ рдкреВрд░реЗ рд╕рдореБрджрд╛рдп рдХреЗ рд▓рд┐рдП рд╕реНрдкрд╖реНрдЯ рд╣реЛ рдЧрдпрд╛ рдХрд┐ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рдерд╛ред рдПрдХ рдордЬрдмреВрдд рдЗрд░рд╛рджреЛрдВ рд╡рд╛рд▓реЗ рдлреИрд╕рд▓реЗ рдХреЗ рд╕рд╛рде, рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдШреЛрд╖рдгрд╛ рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдирдП рд╕реНрдЯреЛрд░реЗрдЬ рдкреНрд▓рдЧрдЗрдиреНрд╕ рдХреЛ рдЕрдм рдХрд░реНрдиреЗрд▓ рдореЗрдВ рд╕реНрд╡реАрдХрд╛рд░ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдмрд╛рдХреА рд╕рдм рдХреБрдЫ, рдЬреИрд╕рд╛ рдХрд┐ рд╣рдо рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЬрд╛рдирддреЗ рд╣реИрдВ, рдлреНрд▓реЗрдХреНрд╕рд╡реЛрд▓реНрдпреВрдо рдкреНрд▓рдЧрдЗрди рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдореЗрдВ рдХрдИ рдХрдорд┐рдпреЛрдВ рдХрд╛ рдкрддрд╛ рдЪрд▓рд╛ рдерд╛ ...

рдПрдХ рдмрд╛рд░ рдФрд░ рд╕рднреА рдХреЗ рд▓рд┐рдП, Kubernetes, CSI рдореЗрдВ рд╡реЙрд▓реНрдпреВрдо рдХреЗ рд▓рд┐рдП рдЕрдВрддрд┐рдо рдЬреЛрдбрд╝рд╛ рдкреНрд▓рдЧрдЗрди, рд▓рдЧрд╛рддрд╛рд░ рдбреЗрдЯрд╛ рд╡реЗрдпрд░рд╣рд╛рдЙрд╕ рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛ рдХреЛ рдмрдВрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рд╛ рдЧрдпрд╛ рдерд╛ред рдЗрд╕рдХрд╛ рдЕрд▓реНрдлрд╛ рд╕рдВрд╕реНрдХрд░рдг, рдЬрд┐рд╕реЗ рдЖрдорддреМрд░ рдкрд░ рдЖрдЙрдЯ-рдСрдл-рдЯреНрд░реА рд╕реАрдПрд╕рдЖрдИ рд╡реЙрд▓реНрдпреВрдо рдкреНрд▓рдЧрдЗрдиреНрд╕ рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдВрджрд░реНрднрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ 1.9 рдореЗрдВ рдШреЛрд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред

рдХрдВрдЯреЗрдирд░ рд╕рдВрдЧреНрд░рд╣рдг рдЗрдВрдЯрд░рдлрд╝реЗрд╕, рдпрд╛ CSI 3000 рдХрддрд╛рдИ!


рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдореИрдВ рдпрд╣ рдиреЛрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ рдХрд┐ рд╕реАрдПрд╕рдЖрдИ рдХреЗрд╡рд▓ рд╡реЙрд▓реНрдпреВрдо рдкреНрд▓рдЧрдЗрди рдирд╣реАрдВ рд╣реИ, рдмрд▓реНрдХрд┐ рдЙрддреНрдкрд╛рдж рдЧреЛрджрд╛рдореЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╕реНрдЯрдо рдШрдЯрдХ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдорд╛рдирдХ рд╣реИ ред рдпрд╣ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рдерд╛ рдХрд┐ рдХрдВрдЯреЗрдирд░ рдСрд░реНрдХреЗрд╕реНрдЯреНрд░реЗрд╢рди рд╕рд┐рд╕реНрдЯрдо, рдЬреИрд╕реЗ рдХреБрдмрд░реНрдиреЗрдЯреНрд╕ рдФрд░ рдореЗрд╕реЛрд╕ рдХреЛ рдЗрд╕ рдорд╛рдирдХ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдШрдЯрдХреЛрдВ рдХреЗ рд╕рд╛рде рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, "рд╕реАрдЦрдирд╛" рдЪрд╛рд╣рд┐рдПред рдФрд░ рдЕрдм рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдкрд╣рд▓реЗ рд╣реА рд╕реАрдЦ рдЪреБрдХреЗ рд╣реИрдВред

Kubernetes рдореЗрдВ CSI рдкреНрд▓рдЧрдЗрди рдХрд╛ рдЙрдкрдХрд░рдг рдХреНрдпрд╛ рд╣реИ? CSI рдкреНрд▓рдЧрдЗрди рддреАрд╕рд░реЗ рдкрдХреНрд╖ рдХреЗ рдбреЗрд╡рд▓рдкрд░реНрд╕ рджреНрд╡рд╛рд░рд╛ рд▓рд┐рдЦреЗ рдЧрдП рд╡рд┐рд╢реЗрд╖ рдбреНрд░рд╛рдЗрд╡рд░реЛрдВ ( CSI рдбреНрд░рд╛рдЗрд╡рд░реЛрдВ ) рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред Kubernetes рдореЗрдВ CSI рдбреНрд░рд╛рдЗрд╡рд░ рдореЗрдВ рдХрдо рд╕реЗ рдХрдо рджреЛ рдШрдЯрдХ (рдкреЙрдб) рд╢рд╛рдорд┐рд▓ рд╣реЛрдиреЗ рдЪрд╛рд╣рд┐рдП:

  • рдирд┐рдпрдВрддреНрд░рдХ - рдмрд╛рд╣рд░реА рд▓рдЧрд╛рддрд╛рд░ рднрдВрдбрд╛рд░рдг рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдПрдХ gRPC рд╕рд░реНрд╡рд░ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП StatefulSet рдкреНрд░рд╛рдЗрдореЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
  • рдиреЛрдб - рдХреНрд▓рд╕реНрдЯрд░ рдиреЛрдбреНрд╕ рдХреЗ рд▓рд┐рдП рд▓рдЧрд╛рддрд╛рд░ рд╕реНрдЯреЛрд░ рдмрдврд╝рддреЗ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИред рдЗрд╕реЗ gRPC рд╕рд░реНрд╡рд░ рдХреЗ рд░реВрдк рдореЗрдВ рднреА рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рд▓рд┐рдП DaemonSet рдЖрджрд┐рдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред


Kubernetes CSI рдкреНрд▓рдЧрдЗрди рд╡рд░реНрдХрдлрд╝реНрд▓реЛ

рдЖрдк рд╕реАрдПрд╕рдЖрдИ рдХреЗ рдХреБрдЫ рдЕрдиреНрдп рд╡рд┐рд╡рд░рдгреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рди рд╕рдХрддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, " рд╕реАрдПрд╕рдЖрдИ рдХреЛ рд╕рдордЭрдирд╛ " рд▓реЗрдЦ рд╕реЗ, рдЬрд┐рд╕рдХрд╛ рдЕрдиреБрд╡рд╛рдж рд╣рдордиреЗ рдПрдХ рд╕рд╛рд▓ рдкрд╣рд▓реЗ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд┐рдпрд╛ рдерд╛ред

рдЗрд╕ рддрд░рд╣ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рдлрд╛рдпрджреЗ


  • рдмреБрдирд┐рдпрд╛рджреА рдЪреАрдЬреЛрдВ рдХреЗ рд▓рд┐рдП - рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рдЪрд╛рд▓рдХ рдХреЛ рдиреЛрдб рдХреЗ рд▓рд┐рдП рдкрдВрдЬреАрдХреГрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП - рдХреБрдмреЗрд░рдиреЗрдЯ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдиреЗ рдХрдВрдЯреЗрдирд░реЛрдВ рдХрд╛ рдПрдХ рд╕реЗрдЯ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рд╣реИред рдЕрдм рдЖрдкрдХреЛ рд╕реНрд╡рдпрдВ рдХреНрд╖рдорддрд╛рдУрдВ рдХреЗ рд╕рд╛рде JSON рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ рдлреНрд▓реЗрдХреНрд╕рд╡реЛрд▓реНрдпреВрдо рдкреНрд▓рдЧрдЗрди рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
  • рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рдиреЛрдбреНрд╕ "рдлрд┐рд╕рд▓рдиреЗ" рдХреЗ рдмрдЬрд╛рдп, рд╣рдо рдЕрдм рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рдкреЙрдбреНрд╕ рдмрд┐рдЫрд╛рддреЗ рд╣реИрдВред рдпрд╣ рд╣рдо рдореВрд▓ рд░реВрдк рд╕реЗ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рд╕реЗ рдЙрдореНрдореАрдж рдХрд░рддреЗ рдереЗ: рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдкреНрд░рд╛рдЗрдореЗрдЯрд┐рд╡реНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рддреИрдирд╛рдд рдХрд┐рдП рдЧрдП рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЗ рдЕрдВрджрд░ рд╕рднреА рдкреНрд░рдХреНрд░рд┐рдпрд╛рдПрдВ рд╣реЛрддреА рд╣реИрдВред
  • рдЬрдЯрд┐рд▓ рдбреНрд░рд╛рдЗрд╡рд░реЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдЕрдм RPC рд╕рд░реНрд╡рд░ рдФрд░ RPC рдХреНрд▓рд╛рдЗрдВрдЯ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдХреНрд▓рд╛рдЗрдВрдЯ рдХреБрдмреЗрд░рдиреЗрдЯ рдбреЗрд╡рд▓рдкрд░реНрд╕ рджреНрд╡рд╛рд░рд╛ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
  • GRPC рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддрд░реНрдХ рдкрд╛рд░рд┐рдд рдХрд░рдирд╛ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рддрд░реНрдХреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ, рд▓рдЪреАрд▓рд╛ рдФрд░ рдЕрдзрд┐рдХ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рд╣реИред рдПрдХ рдорд╛рдирдХреАрдХреГрдд gRPC рд╡рд┐рдзрд┐ рдЬреЛрдбрд╝рдХрд░ CSI рдореЗрдВ рд╡реЙрд▓реНрдпреВрдо рдЙрдкрдпреЛрдЧ рдореЗрдЯреНрд░рд┐рдХреНрд╕ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдХреИрд╕реЗ рдЬреЛрдбрд╝рд╛ рдЬрд╛рдП, рдпрд╣ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк vsphere-csi рдбреНрд░рд╛рдЗрд╡рд░ рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░реЗ рдкреБрд▓ рдЕрдиреБрд░реЛрдз рдХреА рдЬрд╛рдВрдЪ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
  • рд╕рдВрдЪрд╛рд░ IPC рд╕реЙрдХреЗрдЯреНрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╣реЛрддрд╛ рд╣реИ рддрд╛рдХрд┐ рднреНрд░рдорд┐рдд рди рд╣реЛрдВ рдХрд┐ рдХреНрдпреВрдмрд▓реЗрдЯ рдкреЙрдб рдиреЗ рдЕрдиреБрд░реЛрдз рднреЗрдЬрд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВред

рдХреНрдпрд╛ рдпрд╣ рд╕реВрдЪреА рдЖрдкрдХреЛ рдХреБрдЫ рдпрд╛рдж рджрд┐рд▓рд╛рддреА рд╣реИ? CSI рдХреЗ рдлрд╛рдпрджреЗ рдЙрди рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рд╕рдорд╛рдзрд╛рди рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдлреНрд▓реЗрдХреНрд╕рд╡реЛрд▓реНрдпреВрдо рдкреНрд▓рдЧрдЗрди рд╡рд┐рдХрд╕рд┐рдд рдХрд░рддреЗ рд╕рдордп рдзреНрдпрд╛рди рдореЗрдВ рдирд╣реАрдВ рд░рдЦрд╛ рдЧрдпрд╛ рдерд╛ред

рдирд┐рд╖реНрдХрд░реНрд╖


рдбреЗрдЯрд╛ рд╡реЗрдпрд░рд╣рд╛рдЙрд╕ рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рдХреЗ рд▓рд┐рдП рдХрд╕реНрдЯрдо рдкреНрд▓рдЧрдЗрдиреНрд╕ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдорд╛рдирдХ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реАрдПрд╕рдЖрдИ рдХреЛ рд╕рдореБрджрд╛рдп рджреНрд╡рд╛рд░рд╛ рдмрд╣реБрдд рдЧрд░реНрдордЬреЛрд╢реА рд╕реЗ рд╕реНрд╡реАрдХрд╛рд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЗрд╕рдХреЗ рдлрд╛рдпрджреЗ рдФрд░ рдмрд╣реБрдореБрдЦреА рдкреНрд░рддрд┐рднрд╛ рдХреЗ рдХрд╛рд░рдг, CSI рдбреНрд░рд╛рдЗрд╡рд░реЛрдВ рдХреЛ рд╕рд┐рдл рдпрд╛ AWS EBS рдЬреИрд╕реЗ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреЗ рд▓рд┐рдП рднреА рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рдирдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд▓рдЧрдЗрдиреНрд╕ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдХреЗ рдкрд╣рд▓реЗ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдЬреЛрдбрд╝реЗ рдЧрдП рдереЗред

2019 рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ, рдЗрди-рдЯреНрд░реА рдкреНрд▓рдЧрдЗрдиреНрд╕ рдХреЛ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ ред рдЗрд╕реЗ Flexvolume рдкреНрд▓рдЧрдЗрди рдХрд╛ рд╕рдорд░реНрдерди рдЬрд╛рд░реА рд░рдЦрдиреЗ рдХреА рдпреЛрдЬрдирд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рд▓рд┐рдП рдирдИ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХрд╛ рдХреЛрдИ рд╡рд┐рдХрд╛рд╕ рдирд╣реАрдВ рд╣реЛрдЧрд╛ред

рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА ceph-csi, vsphere-csi рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдЕрдиреБрднрд╡ рд╣реИ рдФрд░ рдЗрд╕ рд╕реВрдЪреА рдореЗрдВ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реИрдВ! рдЕрдм рддрдХ, рд╕реАрдПрд╕рдЖрдИ рдПрдХ рдзрдорд╛рдХреЗ рдХреЗ рд╕рд╛рде рд╕реМрдВрдкреЗ рдЧрдП рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рд╡рд╣рд╛рдВ рд╣рдо рдЗрдВрддрдЬрд╛рд░ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рджреЗрдЦрддреЗ рд╣реИрдВред

рдордд рднреВрд▓реЛ рдХрд┐ рд╕рдм рдХреБрдЫ рдирдпрд╛ рдПрдХ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдкреБрдирд░реНрд╡рд┐рдЪрд╛рд░ рдкреБрд░рд╛рдирд╛ рд╣реИ!

рдкреБрдирд╢реНрдЪ


рд╣рдорд╛рд░реЗ рдмреНрд▓реЙрдЧ рдореЗрдВ рднреА рдкрдврд╝реЗрдВ:

Source: https://habr.com/ru/post/hi465417/


All Articles