Kubernetes เจธเจŸเฉ‹เจฐเฉ‡เจœเจผ เจฒเจˆ เจตเจพเจฒเฉ€เจ…เจฎ เจชเจฒเฉฑเจ—เจ‡เจจ: Flexvolume เจคเฉ‹เจ‚ CSI เจคเฉฑเจ•

Kubernetes เจธเจŸเฉ‹เจฐเฉ‡เจœเจผ เจฒเจˆ เจตเจพเจฒเฉ€เจ…เจฎ เจชเจฒเฉฑเจ—เจ‡เจจ: Flexvolume เจคเฉ‹เจ‚ CSI เจคเฉฑเจ•

เจœเจฆเฉ‹เจ‚ เจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ เจ…เจœเฉ‡ เจตเฉ€ v1.0.0 เจธเฉ€, เจ‰เฉฑเจฅเฉ‡ เจตเจพเจฒเฉ€เจ…เจฎ เจชเจฒเฉฑเจ—เจ‡เจจ เจธเจจเฅค เจ‰เจนเจจเจพเจ‚ เจจเฉ‚เฉฐ เจธเจฅเจพเจˆ (เจธเจฅเจพเจˆ) เจ•เฉฐเจŸเฉ‡เจจเจฐ เจกเฉ‡เจŸเจพ เจจเฉ‚เฉฐ เจธเจŸเฉ‹เจฐ เจ•เจฐเจจ เจฒเจˆ เจธเจฟเจธเจŸเจฎเจพเจ‚ เจจเฉ‚เฉฐ เจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ เจจเจพเจฒ เจœเฉ‹เฉœเจจ เจฆเฉ€ เจฒเฉ‹เฉœ เจธเฉ€เฅค เจ‰เจนเจจเจพเจ‚ เจฆเฉ€ เจ—เจฟเจฃเจคเฉ€ เจฌเจนเฉเจค เจ˜เฉฑเจŸ เจธเฉ€, เจ…เจคเฉ‡ เจธเจญ เจคเฉ‹เจ‚ เจชเจนเจฟเจฒเจพเจ‚ เจ…เจœเจฟเจนเฉ‡ เจธเจŸเฉ‹เจฐเฉ‡เจœ เจชเฉเจฐเจฆเจพเจคเจพ เจธเจจ เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ GCE PD, Ceph, AWS EBS เจ…เจคเฉ‡ เจนเฉ‹เจฐเฅค

เจชเจฒเฉฑเจ—เจ‡เจจเจพเจ‚ เจจเฉ‚เฉฐ เจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ เจฆเฉ‡ เจจเจพเจฒ เจกเจฟเจฒเฉ€เจตเจฐ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจธเฉ€, เจœเจฟเจธ เจ•เจฐเจ•เฉ‡ เจ‰เจนเจจเจพเจ‚ เจจเฉ‚เฉฐ เจ‰เจนเจจเจพเจ‚ เจฆเจพ เจจเจพเจฎ เจฎเจฟเจฒเจฟเจ† - เจ‡เจจ-เจŸเจฐเฉ€. เจนเจพเจฒเจพเจ‚เจ•เจฟ, เจ•เจˆเจ†เจ‚ เจฒเจˆ, เจ…เจœเจฟเจนเฉ‡ เจชเจฒเฉฑเจ—เจ‡เจจเจพเจ‚ เจฆเจพ เจฎเฉŒเจœเฉ‚เจฆเจพ เจธเฉˆเฉฑเจŸ เจจเจพเจ•เจพเจซเฉ€ เจธเจพเจฌเจค เจนเฉ‹เจ‡เจ†เฅค เจ•เจพเจฐเฉ€เจ—เจฐเจพเจ‚ เจจเฉ‡ เจชเฉˆเจšเจพเจ‚ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจนเฉ‹เจ เจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ เจ•เฉ‹เจฐ เจตเจฟเฉฑเจš เจธเจงเจพเจฐเจจ เจชเจฒเฉฑเจ—เจ‡เจจ เจธเจผเจพเจฎเจฒ เจ•เฉ€เจคเฉ‡, เจœเจฟเจธ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ เจ‰เจจเฉเจนเจพเจ‚ เจจเฉ‡ เจ†เจชเจฃเฉ‡ เจ–เฉเจฆ เจฆเฉ‡ เจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ เจจเฉ‚เฉฐ เจ‡เจ•เฉฑเจ เจพ เจ•เฉ€เจคเจพ เจ…เจคเฉ‡ เจ‡เจธเจจเฉ‚เฉฐ เจ†เจชเจฃเฉ‡ เจธเจฐเจตเจฐเจพเจ‚ 'เจคเฉ‡ เจธเจฅเจพเจชเจฟเจค เจ•เฉ€เจคเจพเฅค เจชเจฐ เจธเจฎเฉ‡เจ‚ เจฆเฉ‡ เจจเจพเจฒ, เจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ เจกเจฟเจตเฉˆเจฒเจชเจฐเจพเจ‚ เจจเฉ‚เฉฐ เจ‡เจน เจ…เจนเจฟเจธเจพเจธ เจนเฉ‹เจ‡เจ† เจฎเฉฑเจ›เฉ€ เจธเจฎเฉฑเจธเจฟเจ† เจฆเจพ เจนเฉฑเจฒ เจจเจนเฉ€เจ‚ เจ•เฉ€เจคเจพ เจœเจพ เจธเจ•เจฆเจพเฅค เจฒเฉ‹เจ•เจพเจ‚ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆ เจซเฉœเจจ เจฆเฉ€ เจ›เฉœเฉ€. เจ…เจคเฉ‡ เจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ v1.2.0 เจฆเฉ€ เจฐเจฟเจฒเฉ€เจœเจผ เจตเจฟเฉฑเจš เจ‡เจน เจชเฉเจฐเจ—เจŸ เจนเฉ‹เจ‡เจ† ...

เจซเจฒเฉˆเจ•เจธเจตเฉ‹เจฒเจฟเจŠเจฎ เจชเจฒเฉฑเจ—เจ‡เจจ: เจจเจฟเจŠเจจเจคเจฎ เจซเจฟเจธเจผเจฟเฉฐเจ— เจฐเจพเจก

Kubernetes เจกเจฟเจตเฉˆเจฒเจชเจฐเจพเจ‚ เจจเฉ‡ FlexVolume เจชเจฒเฉฑเจ—เจ‡เจจ เจฌเจฃเจพเจ‡เจ†, เจœเฉ‹ เจ•เจฟ เจฅเจฐเจก-เจชเจพเจฐเจŸเฉ€ เจกเจฟเจตเฉˆเจฒเจชเจฐเจพเจ‚ เจฆเฉเจ†เจฐเจพ เจฒเจพเจ—เฉ‚ เจ•เฉ€เจคเฉ‡ เจ—เจ FlexVolume เจกเจฐเจพเจˆเจตเจฐเจพเจ‚ เจจเจพเจฒ เจ•เฉฐเจฎ เจ•เจฐเจจ เจฒเจˆ เจตเฉ‡เจฐเฉ€เจเจฌเจฒเจพเจ‚ เจ…เจคเฉ‡ เจคเจฐเฉ€เจ•เจฟเจ†เจ‚ เจฆเจพ เจ‡เฉฑเจ• เจฒเจพเจœเจผเฉ€เจ•เจฒ เจซเจฐเฉ‡เจฎเจตเจฐเจ• เจธเฉ€เฅค

เจ†เจ“ เจฐเฉเจ•เฉ€เจ เจ…เจคเฉ‡ เจ‡เจธ 'เจคเฉ‡ เจกเฉ‚เฉฐเจ˜เจพเจˆ เจจเจพเจฒ เจตเจฟเจšเจพเจฐ เจ•เจฐเฉ€เจ เจ•เจฟ FlexVolume เจกเจฐเจพเจˆเจตเจฐ เจ•เฉ€ เจนเฉˆเฅค เจ‡เจน เจ‡เฉฑเจ• เจจเจฟเจธเจผเจšเจฟเจค เจนเฉˆ เจšเฉฑเจฒเจฃเจฏเฉ‹เจ— เจซเจพเจˆเจฒ (เจฌเจพเจˆเจจเจฐเฉ€ เจซเจพเจˆเจฒ, เจชเจพเจˆเจฅเจจ เจธเจ•เฉเจฐเจฟเจชเจŸ, เจฌเฉˆเจธเจผ เจธเจ•เฉเจฐเจฟเจชเจŸ, เจ†เจฆเจฟ), เจœเฉ‹, เจœเจฆเฉ‹เจ‚ เจšเจฒเจพเจ‡เจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆ, เจ•เจฎเจพเจ‚เจก เจฒเจพเจˆเจจ เจ†เจฐเจ—เฉ‚เจฎเฉˆเจ‚เจŸเจพเจ‚ เจจเฉ‚เฉฐ เจ‡เจจเจชเฉเจŸ เจตเจœเฉ‹เจ‚ เจฒเฉˆเจ‚เจฆเจพ เจนเฉˆ เจ…เจคเฉ‡ JSON เจซเจพเจฐเจฎเฉˆเจŸ เจตเจฟเฉฑเจš เจชเฉ‚เจฐเจต-เจœเจพเจฃเจฟเจ† เจ–เฉ‡เจคเจฐเจพเจ‚ เจฆเฉ‡ เจจเจพเจฒ เจ‡เฉฑเจ• เจธเฉเจจเฉ‡เจนเจพ เจตเจพเจชเจธ เจ•เจฐเจฆเจพ เจนเฉˆเฅค เจชเจฐเฉฐเจชเจฐเจพ เจ…เจจเฉเจธเจพเจฐ, เจชเจนเจฟเจฒเฉ€ เจ•เจฎเจพเจ‚เจก เจฒเจพเจˆเจจ เจ†เจฐเจ—เฉ‚เจฎเฉˆเจ‚เจŸ เจนเจฎเฉ‡เจธเจผเจพ เจ‡เฉฑเจ• เจขเฉฐเจ— เจนเฉเฉฐเจฆเฉ€ เจนเฉˆ, เจ…เจคเฉ‡ เจฌเจพเจ•เฉ€ เจ†เจฐเจ—เฉ‚เจฎเฉˆเจ‚เจŸ เจ‡เจธเจฆเฉ‡ เจฎเจพเจชเจฆเฉฐเจก เจนเฉเฉฐเจฆเฉ‡ เจนเจจเฅค

Kubernetes เจธเจŸเฉ‹เจฐเฉ‡เจœเจผ เจฒเจˆ เจตเจพเจฒเฉ€เจ…เจฎ เจชเจฒเฉฑเจ—เจ‡เจจ: Flexvolume เจคเฉ‹เจ‚ CSI เจคเฉฑเจ•
OpenShift เจตเจฟเฉฑเจš CIFS เจธเจผเฉ‡เจ…เจฐเจพเจ‚ เจฒเจˆ เจ•เจจเฉˆเจ•เจธเจผเจจ เจšเจฟเฉฑเจคเจฐเฅค เจซเจฒเฉˆเจ•เจธเจตเฉ‹เจฒเจฟเจŠเจฎ เจกเจฐเจพเจˆเจตเจฐ - เจธเฉฑเจœเฉ‡ เจ•เฉ‡เจ‚เจฆเจฐ เจตเจฟเฉฑเจš

เจตเจฟเจงเฉ€เจ†เจ‚ เจฆเจพ เจ˜เฉฑเจŸเฉ‹-เจ˜เฉฑเจŸ เจธเฉˆเฉฑเจŸ เจ‡เจธ เจคเจฐเฉเจนเจพเจ‚ เจฆเจฟเฉฑเจธเจฆเจพ เจนเฉˆ:

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, เจ…เจคเฉ‡ เจ‡เจธเจฆเฉ‡ เจจเจพเจฒ เจฐเฉ€เจ…เจฒ เจŸเจพเจˆเจฎ เจตเจฟเฉฑเจš เจตเจพเจฒเฉ€เจ…เจฎ เจจเฉ‚เฉฐ เจฎเฉเฉœ เจ†เจ•เจพเจฐ เจฆเฉ‡เจฃ เจฆเฉ€ เจธเจฎเจฐเฉฑเจฅเจพ, เจคเฉเจธเฉ€เจ‚ เจ†เจชเจฃเฉ‡ เจ†เจช เจจเฉ‚เฉฐ เจœเจพเจฃเฉ‚ เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹ เจธเจพเจกเฉ€ เจชเฉเฉฑเจฒ เจฌเฉ‡เจจเจคเฉ€ Rook Ceph เจ†เจชเจฐเฉ‡เจŸเจฐ เจตเจฟเฉฑเจš.

เจ…เจคเฉ‡ เจ‡เฉฑเจฅเฉ‡ 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/ะธะผั_ะฟะพัั‚ะฐะฒั‰ะธะบะฐ_ั…ั€ะฐะฝะธะปะธั‰ะฐ~ะธะผั_ะดั€ะฐะนะฒะตั€ะฐ/

... เจชเจฐ เจœเจฆเฉ‹เจ‚ เจตเฉฑเจ–-เจตเฉฑเจ– เจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ เจกเจฟเจธเจŸเจฐเฉ€เจฌเจฟเจŠเจธเจผเจจเจพเจ‚ (เจ“เจชเจจเจธเจผเจฟเจซเจŸ, เจฐเฉˆเจ‚เจšเจฐ...) เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจนเฉ‹ เจคเจพเจ‚ เจฎเจพเจฐเจ— เจตเฉฑเจ–เจฐเจพ เจนเฉ‹ เจธเจ•เจฆเจพ เจนเฉˆเฅค

เจซเจฒเฉˆเจ•เจธ เจตเจพเจฒเฉ€เจ…เจฎ เจธเจฎเฉฑเจธเจฟเจ†เจตเจพเจ‚: เจซเจฟเจธเจผเจฟเฉฐเจ— เจฐเจพเจก เจจเฉ‚เฉฐ เจธเจนเฉ€ เจขเฉฐเจ— เจจเจพเจฒ เจ•เจฟเจตเฉ‡เจ‚ เจธเฉเฉฑเจŸเจฟเจ† เจœเจพเจตเฉ‡?

เจซเจฒเฉˆเจ•เจธเจตเฉ‹เจฒเจฟเจŠเจฎ เจกเจฐเจพเจˆเจตเจฐ เจจเฉ‚เฉฐ เจ•เจฒเฉฑเจธเจŸเจฐ เจจเฉ‹เจกเจพเจ‚ 'เจคเฉ‡ เจ…เจชเจฒเฉ‹เจก เจ•เจฐเจจเจพ เจ‡เฉฑเจ• เจ—เฉˆเจฐ-เจฎเจพเจฎเฉ‚เจฒเฉ€ เจ•เฉฐเจฎ เจจเจฟเจ•เจฒเจฟเจ†เฅค เจ‡เฉฑเจ• เจตเจพเจฐ เจนเฉฑเจฅเฉ€เจ‚ เจ“เจชเจฐเฉ‡เจธเจผเจจ เจ•เจฐเจจ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ, เจ…เจœเจฟเจนเฉ€ เจธเจฅเจฟเจคเฉ€ เจฆเจพ เจธเจพเจนเจฎเจฃเจพ เจ•เจฐเจจเจพ เจ†เจธเจพเจจ เจนเฉˆ เจœเจฟเฉฑเจฅเฉ‡ เจจเจตเฉ‡เจ‚ เจจเฉ‹เจก เจ•เจฒเฉฑเจธเจŸเจฐ เจตเจฟเฉฑเจš เจฆเจฟเจ–เจพเจˆ เจฆเจฟเฉฐเจฆเฉ‡ เจนเจจ: เจ‡เฉฑเจ• เจจเจตเจพเจ‚ เจจเฉ‹เจก เจœเฉ‹เฉœเจจ เจฆเฉ‡ เจ•เจพเจฐเจจ, เจ†เจŸเฉ‹เจฎเฉˆเจŸเจฟเจ• เจนเจฐเฉ€เจœเฉฑเจŸเจฒ เจธเจ•เฉ‡เจฒเจฟเฉฐเจ—, เจœเจพเจ‚ - เจ•เฉ€ เจฌเฉเจฐเจพ เจนเฉˆ - เจ–เจฐเจพเจฌเฉ€ เจฆเฉ‡ เจ•เจพเจฐเจจ เจ‡เฉฑเจ• เจจเฉ‹เจก เจจเฉ‚เฉฐ เจฌเจฆเจฒเจฃเจพเฅค เจ‡เจธ เจธเจฅเจฟเจคเฉ€ เจตเจฟเฉฑเจš, เจ‡เจนเจจเจพเจ‚ เจจเฉ‹เจกเจพเจ‚ 'เจคเฉ‡ เจธเจŸเฉ‹เจฐเฉ‡เจœ เจฆเฉ‡ เจจเจพเจฒ เจ•เฉฐเจฎ เจ•เฉ€เจคเจพ เจœเจพเจฃเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆ เจ…เจธเฉฐเจญเจต เจนเฉˆ, เจœเจฆเฉ‹เจ‚ เจคเฉฑเจ• เจคเฉเจธเฉ€เจ‚ เจ‰เจนเจจเจพเจ‚ เจตเจฟเฉฑเจš Flexvolume เจกเจฐเจพเจˆเจตเจฐ เจจเฉ‚เฉฐ เจฆเจธเจคเฉ€ เจจเจนเฉ€เจ‚ เจœเฉ‹เฉœเจฆเฉ‡ เจนเฉ‹เฅค

เจ‡เจธ เจธเจฎเฉฑเจธเจฟเจ† เจฆเจพ เจนเฉฑเจฒ เจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ เจ†เจฆเจฟเจฎ เจตเจฟเฉฑเจšเฉ‹เจ‚ เจ‡เฉฑเจ• เจธเฉ€ - 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>

... เจ…เจคเฉ‡ Flexvolume เจกเจฐเจพเจˆเจตเจฐ เจจเฉ‚เฉฐ เจฐเฉฑเจ–เจฃ เจฒเจˆ เจ‡เฉฑเจ• Bash เจธเจ•เฉเจฐเจฟเจชเจŸ เจฆเฉ€ เจ‡เฉฑเจ• เจ‰เจฆเจพเจนเจฐเจจ:

#!/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

เจ‡เจน เจจเจพ เจญเฉเฉฑเจฒเฉ‹ เจ•เจฟ เจ•เจพเจชเฉ€ เจ•เจพเจฐเจตเจพเจˆ เจฎเจนเฉฑเจคเจตเจชเฉ‚เจฐเจจ เจนเฉˆ เจชเจฐเจฎเจพเจฃเฉ‚ เจจเจนเฉ€เจ‚ เจนเฉˆ. เจ‡เจธ เจ—เฉฑเจฒ เจฆเฉ€ เจฌเจนเฉเจค เจธเฉฐเจญเจพเจตเจจเจพ เจนเฉˆ เจ•เจฟ เจ•เฉเจฌเฉ‡เจฒเฉ‡เจŸ เจ†เจชเจฃเฉ€ เจชเฉเจฐเฉ‹เจตเจฟเจœเจผเจจเจฟเฉฐเจ— เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† เจชเฉ‚เจฐเฉ€ เจนเฉ‹เจฃ เจคเฉ‹เจ‚ เจชเจนเจฟเจฒเจพเจ‚ เจกเจฐเจพเจˆเจตเจฐ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจจเจพ เจธเจผเฉเจฐเฉ‚ เจ•เจฐ เจฆเฉ‡เจตเฉ‡เจ—เจพ, เจœเจฟเจธ เจจเจพเจฒ เจธเจฟเจธเจŸเจฎ เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจ—เจฒเจคเฉ€ เจ†เจตเฉ‡เจ—เฉ€เฅค เจธเจนเฉ€ เจชเจนเฉเฉฐเจš เจ‡เจน เจนเฉˆ เจ•เจฟ เจชเจนเจฟเจฒเจพเจ‚ เจกเจฐเจพเจˆเจตเจฐ เจซเจพเจˆเจฒเจพเจ‚ เจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจตเฉฑเจ–เจฐเฉ‡ เจจเจพเจฎ เจนเฉ‡เจ  เจ•เจพเจชเฉ€ เจ•เจฐเฉ‹, เจ…เจคเฉ‡ เจซเจฟเจฐ เจ‡เฉฑเจ• เจชเจฐเจฎเจพเจฃเฉ‚ เจจเจพเจฎ เจฌเจฆเจฒเจฃ เจฆเฉ€ เจ•เจพเจฐเจตเจพเจˆ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเฉ‹เฅค

Kubernetes เจธเจŸเฉ‹เจฐเฉ‡เจœเจผ เจฒเจˆ เจตเจพเจฒเฉ€เจ…เจฎ เจชเจฒเฉฑเจ—เจ‡เจจ: Flexvolume เจคเฉ‹เจ‚ CSI เจคเฉฑเจ•
เจฐเฉเจ• เจ†เจชเจฐเฉ‡เจŸเจฐ เจตเจฟเฉฑเจš เจธเฉ‡เจซ เจจเจพเจฒ เจ•เฉฐเจฎ เจ•เจฐเจจ เจฆเจพ เจšเจฟเฉฑเจคเจฐ: เจšเจฟเฉฑเจคเจฐ เจตเจฟเฉฑเจš เจซเจฒเฉˆเจ•เจธเจตเฉ‹เจฒเจฟเจŠเจฎ เจกเจฐเจพเจˆเจตเจฐ เจฐเฉ‚เจ• เจเจœเฉฐเจŸ เจฆเฉ‡ เจ…เฉฐเจฆเจฐ เจธเจฅเจฟเจค เจนเฉˆ

เจซเจฒเฉˆเจ•เจธเจตเฉ‹เจฒเจฟเจŠเจฎ เจกเจฐเจพเจˆเจตเจฐเจพเจ‚ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจธเจฎเฉ‡เจ‚ เจ…เจ—เจฒเฉ€ เจธเจฎเฉฑเจธเจฟเจ† เจ‡เจน เจนเฉˆ เจ•เจฟ เจ•เจฒเฉฑเจธเจŸเจฐ เจจเฉ‹เจก 'เจคเฉ‡ เจœเจผเจฟเจ†เจฆเจพเจคเจฐ เจธเจŸเฉ‹เจฐเฉ‡เจœ เจฒเจˆ เจ‡เจธเจฆเฉ‡ เจฒเจˆ เจฒเฉ‹เฉœเฉ€เจ‚เจฆเจพ เจธเจพเจซเจŸเจตเฉ‡เจ…เจฐ เจ‡เฉฐเจธเจŸเจพเจฒ เจนเฉ‹เจฃเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆ (เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, Ceph เจฒเจˆ ceph-เจ†เจฎ เจชเฉˆเจ•เฉ‡เจœ)เฅค เจธเจผเฉเจฐเฉ‚ เจตเจฟเฉฑเจš, Flexvolume เจชเจฒเฉฑเจ—เจ‡เจจ เจ…เจœเจฟเจนเฉ‡ เจ—เฉเฉฐเจเจฒเจฆเจพเจฐ เจธเจฟเจธเจŸเจฎเจพเจ‚ เจจเฉ‚เฉฐ เจฒเจพเจ—เฉ‚ เจ•เจฐเจจ เจฒเจˆ เจคเจฟเจ†เจฐ เจจเจนเฉ€เจ‚ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจธเฉ€เฅค

เจ‡เจธ เจธเจฎเฉฑเจธเจฟเจ† เจฆเจพ เจ…เจธเจฒ เจนเฉฑเจฒ เจฐเฉ‚เจ• เจ†เจชเจฐเฉ‡เจŸเจฐ เจฆเฉ‡ เจซเจฒเฉˆเจ•เจธเจตเฉ‹เจฒเจฟเจŠเจฎ เจกเจฐเจพเจˆเจตเจฐ เจฒเจพเจ—เฉ‚เจ•เจฐเจจ เจตเจฟเฉฑเจš เจฆเฉ‡เจ–เจฟเจ† เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆ:

เจกเจฐเจพเจˆเจตเจฐ เจ–เฉเจฆ เจ‡เฉฑเจ• RPC เจ•เจฒเจพเจ‡เฉฐเจŸ เจตเจœเฉ‹เจ‚ เจคเจฟเจ†เจฐ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆเฅค เจธเฉฐเจšเจพเจฐ เจฒเจˆ IPC เจธเจพเจ•เจŸ เจ‰เจธเฉ‡ เจกเจพเจ‡เจฐเฉˆเจ•เจŸเจฐเฉ€ เจตเจฟเฉฑเจš เจธเจฅเจฟเจค เจนเฉˆ เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจกเจฐเจพเจˆเจตเจฐ เจ–เฉเจฆเฅค เจธเจพเจจเฉ‚เฉฐ เจฏเจพเจฆ เจนเฉˆ เจ•เจฟ เจกเจฐเจพเจˆเจตเจฐ เจซเจพเจˆเจฒเจพเจ‚ เจฆเฉ€ เจจเจ•เจฒ เจ•เจฐเจจ เจฒเจˆ เจกเฉˆเจฎเจจเจธเฉˆเฉฑเจŸ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจจเจพ เจšเฉฐเจ—เจพ เจนเฉ‹เจตเฉ‡เจ—เจพ, เจœเฉ‹ เจกเจพเจ‡เจฐเฉˆเจ•เจŸเจฐเฉ€ เจจเฉ‚เฉฐ เจตเจพเจฒเฉ€เจ…เจฎ เจฆเฉ‡ เจฐเฉ‚เจช เจตเจฟเฉฑเจš เจกเจฐเจพเจˆเจตเจฐ เจจเจพเจฒ เจœเฉ‹เฉœเจฆเจพ เจนเฉˆเฅค เจฒเฉ‹เฉœเฉ€เจ‚เจฆเฉ‡ เจฐเฉ‚เจ• เจกเจฐเจพเจˆเจตเจฐ เจซเจพเจˆเจฒเจพเจ‚ เจฆเฉ€ เจจเจ•เจฒ เจ•เจฐเจจ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ, เจ‡เจน เจชเฉŒเจก เจจเจนเฉ€เจ‚ เจฎเจฐเจฆเจพ, เจชเจฐ เจ‡เฉฑเจ• เจชเฉ‚เจฐเฉ‡ เจ†เจฐเจชเฉ€เจธเฉ€ เจธเจฐเจตเจฐ เจฆเฉ‡ เจฐเฉ‚เจช เจตเจฟเฉฑเจš เจ…เจŸเฉˆเจš เจตเจพเจฒเฉ€เจ…เจฎ เจฆเฉเจ†เจฐเจพ IPC เจธเจพเจ•เจŸ เจจเจพเจฒ เจœเฉเฉœเจฆเจพ เจนเฉˆเฅค เจชเฉŒเจก เจ•เฉฐเจŸเฉ‡เจจเจฐ เจฆเฉ‡ เจ…เฉฐเจฆเจฐ เจธเฉ€เจซ-เจ•เจพเจฎเจจ เจชเฉˆเจ•เฉ‡เจœ เจชเจนเจฟเจฒเจพเจ‚ เจนเฉ€ เจธเจฅเจพเจชเจฟเจค เจนเฉˆเฅค IPC เจธเจพเจ•เจŸ เจ‡เจน เจฏเจ•เฉ€เจจเฉ€ เจฌเจฃเจพเจ‰เจ‚เจฆเจพ เจนเฉˆ เจ•เจฟ เจ•เฉเจฌเฉ‡เจฒเฉ‡เจŸ เจ‰เจธเฉ‡ เจชเฉ‹เจก เจจเจพเจฒ เจธเฉฐเจšเจพเจฐ เจ•เจฐเฉ‡เจ—เจพ เจœเฉ‹ เจ‰เจธเฉ‡ เจจเฉ‹เจก 'เจคเฉ‡ เจธเจฅเจฟเจค เจนเฉˆเฅค เจนเจฐ เจšเฉ€เจœเจผ เจธเจงเจพเจฐเจฃ เจนเฉˆ! ..

เจ…เจฒเจตเจฟเจฆเจพ, เจธเจพเจกเฉ‡ เจชเจฟเจ†เจฐเฉ‡... เจ‡เจจ-เจŸเจฐเฉ€ เจชเจฒเฉฑเจ—เจ‡เจจ!

เจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ เจกเจฟเจตเฉˆเจฒเจชเจฐเจพเจ‚ เจจเฉ‡ เจ–เฉ‹เจœ เจ•เฉ€เจคเฉ€ เจ•เจฟ เจ•เฉ‹เจฐ เจฆเฉ‡ เจ…เฉฐเจฆเจฐ เจธเจŸเฉ‹เจฐเฉ‡เจœ เจฒเจˆ เจชเจฒเฉฑเจ—เจ‡เจจเจพเจ‚ เจฆเฉ€ เจ—เจฟเจฃเจคเฉ€ เจตเฉ€เจน เจนเฉˆเฅค เจ…เจคเฉ‡ เจ‰เจนเจจเจพเจ‚ เจตเจฟเฉฑเจšเฉ‹เจ‚ เจนเจฐเฉ‡เจ• เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจคเจฌเจฆเฉ€เจฒเฉ€, เจ‡เฉฑเจ• เจœเจพเจ‚ เจฆเฉ‚เจœเฉ‡ เจคเจฐเฉ€เจ•เฉ‡ เจจเจพเจฒ, เจชเฉ‚เจฐเฉ‡ เจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ เจฐเฉ€เจฒเฉ€เจœเจผ เจšเฉฑเจ•เจฐ เจตเจฟเฉฑเจšเฉ‹เจ‚ เจฒเฉฐเจ˜เจฆเจพ เจนเฉˆเฅค

เจ‡เจน เจชเจคเจพ เจšเจฒเจฆเจพ เจนเฉˆ เจ•เจฟ เจธเจŸเฉ‹เจฐเฉ‡เจœ เจชเจฒเฉฑเจ—เจ‡เจจ เจฆเฉ‡ เจจเจตเฉ‡เจ‚ เจธเฉฐเจธเจ•เจฐเจฃ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจจ เจฒเจˆ, เจคเฉเจนเจพเจจเฉ‚เฉฐ เจชเฉ‚เจฐเฉ‡ เจ•เจฒเฉฑเจธเจŸเจฐ เจจเฉ‚เฉฐ เจ…เฉฑเจชเจกเฉ‡เจŸ เจ•เจฐเจจ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆ. เจ‡เจธ เจคเฉ‹เจ‚ เจ‡เจฒเจพเจตเจพ, เจคเฉเจธเฉ€เจ‚ เจนเฉˆเจฐเจพเจจ เจนเฉ‹ เจธเจ•เจฆเฉ‡ เจนเฉ‹ เจ•เจฟ เจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ เจฆเจพ เจจเจตเจพเจ‚ เจธเฉฐเจธเจ•เจฐเจฃ เจคเฉเจนเจพเจกเฉ‡ เจฆเฉเจ†เจฐเจพ เจตเจฐเจคเฉ‡ เจœเจพ เจฐเจนเฉ‡ เจฒเฉ€เจจเจ•เจธ เจ•เจฐเจจเจฒ เจจเจพเจฒ เจ…เจšเจพเจจเจ• เจ…เจธเฉฐเจ—เจค เจนเฉ‹ เจœเจพเจตเฉ‡เจ—เจพ... เจ‡เจธ เจฒเจˆ เจคเฉเจธเฉ€เจ‚ เจ†เจชเจฃเฉ‡ เจนเฉฐเจเฉ‚ เจชเฉ‚เฉฐเจเจฆเฉ‡ เจนเฉ‹ เจ…เจคเฉ‡, เจ†เจชเจฃเฉ‡ เจฆเฉฐเจฆ เจชเฉ€เจธเจฆเฉ‡ เจนเฉ‹เจ, เจ†เจชเจฃเฉ‡ เจชเฉเจฐเจฌเฉฐเจงเจจ เจ…เจคเฉ‡ เจ‰เจชเจญเฉ‹เจ—เจคเจพเจตเจพเจ‚ เจจเจพเจฒ เจคเจพเจฒเจฎเฉ‡เจฒ เจ•เจฐเฉ‹ เจฒเฉ€เจจเจ•เจธ เจ•เจฐเจจเจฒ เจ…เจคเฉ‡ เจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ เจ•เจฒเฉฑเจธเจŸเจฐ เจจเฉ‚เฉฐ เจ…เฉฑเจชเจกเฉ‡เจŸ เจ•เจฐเฉ‹เฅค เจธเฉ‡เจตเจพเจตเจพเจ‚ เจฆเฉ‡ เจชเฉเจฐเจฌเฉฐเจง เจตเจฟเฉฑเจš เจธเฉฐเจญเจต เจกเจพเจŠเจจเจŸเจพเจˆเจฎ เจฆเฉ‡ เจจเจพเจฒ.

เจธเจฅเจฟเจคเฉ€ เจนเจพเจธเฉ‹เจนเฉ€เจฃเฉ€ เจคเฉ‹เจ‚ เจตเฉฑเจง เจนเฉˆ, เจ•เฉ€ เจคเฉเจธเฉ€เจ‚ เจจเจนเฉ€เจ‚ เจธเฉ‹เจšเจฆเฉ‡? เจ‡เจน เจธเจฎเฉเฉฑเจšเฉ‡ เจญเจพเจˆเจšเจพเจฐเฉ‡ เจจเฉ‚เฉฐ เจธเจชเฉฑเจธเจผเจŸ เจนเฉ‹ เจ—เจฟเจ† เจ•เจฟ เจชเจนเฉเฉฐเจš เจ•เฉฐเจฎ เจจเจนเฉ€เจ‚ เจ•เจฐ เจฐเจนเฉ€ เจธเฉ€เฅค เจ‡เฉฑเจ• เจœเจพเจฃเจฌเฉเฉฑเจ เจ•เฉ‡ เจซเฉˆเจธเจฒเฉ‡ เจฆเฉเจ†เจฐเจพ, เจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ เจกเจฟเจตเฉˆเจฒเจชเจฐ เจ˜เฉ‹เจธเจผเจฃเจพ เจ•เจฐเจฆเฉ‡ เจนเจจ เจ•เจฟ เจธเจŸเฉ‹เจฐเฉ‡เจœ เจจเจพเจฒ เจ•เฉฐเจฎ เจ•เจฐเจจ เจฒเจˆ เจจเจตเฉ‡เจ‚ เจชเจฒเฉฑเจ—เจ‡เจจ เจนเฉเจฃ เจ•เจฐเจจเจฒ เจตเจฟเฉฑเจš เจธเจตเฉ€เจ•เจพเจฐ เจจเจนเฉ€เจ‚ เจ•เฉ€เจคเฉ‡ เจœเจพเจฃเจ—เฉ‡เฅค เจ‡เจธ เจคเฉ‹เจ‚ เจ‡เจฒเจพเจตเจพ, เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจ…เจธเฉ€เจ‚ เจชเจนเจฟเจฒเจพเจ‚ เจนเฉ€ เจœเจพเจฃเจฆเฉ‡ เจนเจพเจ‚, เจซเจฒเฉˆเจ•เจธเจตเฉ‹เจฒเจฟเจŠเจฎ เจชเจฒเฉฑเจ—เจ‡เจจ เจจเฉ‚เฉฐ เจฒเจพเจ—เฉ‚ เจ•เจฐเจจ เจตเจฟเฉฑเจš เจฌเจนเฉเจค เจธเจพเจฐเฉ€เจ†เจ‚ เจ•เจฎเฉ€เจ†เจ‚ เจฆเฉ€ เจชเจ›เจพเจฃ เจ•เฉ€เจคเฉ€ เจ—เจˆ เจธเฉ€...

เจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ, เจธเฉ€เจเจธเจ†เจˆ เจตเจฟเฉฑเจš เจตเฉŒเจฒเจฏเฉ‚เจฎ เจฒเจˆ เจจเจตเฉ€เจจเจคเจฎ เจœเฉ‹เฉœเจฟเจ† เจ—เจฟเจ† เจชเจฒเฉฑเจ—เจ‡เจจ, เจ‡เฉฑเจ• เจตเจพเจฐ เจ…เจคเฉ‡ เจธเจญ เจฒเจˆ เจจเจฟเจฐเฉฐเจคเจฐ เจกเฉ‡เจŸเจพ เจธเจŸเฉ‹เจฐเฉ‡เจœ เจจเจพเจฒ เจฎเฉเฉฑเจฆเฉ‡ เจจเฉ‚เฉฐ เจฌเฉฐเจฆ เจ•เจฐเจจ เจฒเจˆ เจ•เจฟเจนเจพ เจ—เจฟเจ† เจธเฉ€เฅค เจ‡เจธเจฆเฉ‡ เจ…เจฒเจซเจผเจพ เจธเฉฐเจธเจ•เจฐเจฃ, เจœเจฟเจธเจจเฉ‚เฉฐ เจชเฉ‚เจฐเฉ€ เจคเจฐเฉเจนเจพเจ‚ เจ†เจŠเจŸ-เจ†เจซ-เจŸเจฐเฉ€ CSI เจตเจพเจฒเฉ€เจ…เจฎ เจชเจฒเฉฑเจ—เจ‡เจจ เจ•เจฟเจนเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆ, เจจเฉ‚เฉฐ เจฐเจฟเจฒเฉ€เจœเจผ เจตเจฟเฉฑเจš เจ˜เฉ‹เจธเจผเจฟเจค เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจธเฉ€เฅค เจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ 1.9..XNUMX.

เจ•เฉฐเจŸเฉ‡เจจเจฐ เจธเจŸเฉ‹เจฐเฉ‡เจœ เจ‡เฉฐเจŸเจฐเจซเฉ‡เจธ, เจœเจพเจ‚ CSI 3000 เจธเจชเจฟเจจเจฟเฉฐเจ— เจฐเจพเจก!

เจธเจญ เจคเฉ‹เจ‚ เจชเจนเจฟเจฒเจพเจ‚, เจฎเฉˆเจ‚ เจ‡เจน เจจเฉ‹เจŸ เจ•เจฐเจจเจพ เจšเจพเจนเจพเจ‚เจ—เจพ เจ•เจฟ เจธเฉ€เจเจธเจ†เจˆ เจ•เฉ‡เจตเจฒ เจ‡เฉฑเจ• เจตเจพเจฒเฉ€เจ…เจฎ เจชเจฒเฉฑเจ—เจ‡เจจ เจจเจนเฉ€เจ‚ เจนเฉˆ, เจชเจฐ เจ‡เฉฑเจ• เจ…เจธเจฒเฉ€ เจนเฉˆ เจฎเจพเจจเจ• เจกเจพเจŸเจพ เจตเฉ‡เจ…เจฐเจนเจพเจŠเจธเจพเจ‚ เจจเจพเจฒ เจ•เฉฐเจฎ เจ•เจฐเจจ เจฒเจˆ เจ•เจธเจŸเจฎ เจ•เฉฐเจชเฉ‹เจจเฉˆเจ‚เจŸ เจฌเจฃเจพเจ‰เจฃ 'เจคเฉ‡. เจ•เฉฐเจŸเฉ‡เจจเจฐ เจ†เจฐเจ•เฉˆเจธเจŸเจฐเฉ‡เจธเจผเจจ เจชเฉเจฐเจฃเจพเจฒเฉ€เจ†เจ‚ เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ เจ…เจคเฉ‡ เจฎเฉ‡เจธเฉ‹เจธ เจจเฉ‚เฉฐ "เจธเจฟเฉฑเจ–เจฃเจพ" เจšเจพเจนเฉ€เจฆเจพ เจธเฉ€ เจ•เจฟ เจ‡เจธ เจฎเจฟเจ†เจฐ เจฆเฉ‡ เจ…เจจเฉเจธเจพเจฐ เจฒเจพเจ—เฉ‚ เจ•เฉ€เจคเฉ‡ เจญเจพเจ—เจพเจ‚ เจจเจพเจฒ เจ•เจฟเจตเฉ‡เจ‚ เจ•เฉฐเจฎ เจ•เจฐเจจเจพ เจนเฉˆเฅค เจ…เจคเฉ‡ เจนเฉเจฃ เจฎเฉˆเจ‚ เจชเจนเจฟเจฒเจพเจ‚ เจนเฉ€ เจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ เจธเจฟเฉฑเจ– เจฒเจฟเจ† เจนเฉˆเฅค

เจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ เจตเจฟเฉฑเจš CSI เจชเจฒเฉฑเจ—เจ‡เจจ เจฆเฉ€ เจฌเจฃเจคเจฐ เจ•เฉ€ เจนเฉˆ? CSI เจชเจฒเฉฑเจ—เจ‡เจจ เจ–เจพเจธ เจกเจฐเจพเจˆเจตเจฐเจพเจ‚ เจจเจพเจฒ เจ•เฉฐเจฎ เจ•เจฐเจฆเจพ เจนเฉˆ (CSI เจกเจฐเจพเจˆเจตเจฐ) เจคเฉ€เจœเฉ€ เจงเจฟเจฐ เจฆเฉ‡ เจตเจฟเจ•เจพเจธเจ•เจพเจฐเจพเจ‚ เจฆเฉเจ†เจฐเจพ เจฒเจฟเจ–เจฟเจ† เจ—เจฟเจ† เจนเฉˆเฅค เจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ เจตเจฟเฉฑเจš เจ‡เฉฑเจ• CSI เจกเจฐเจพเจˆเจตเจฐ เจตเจฟเฉฑเจš เจ˜เฉฑเจŸเฉ‹-เจ˜เฉฑเจŸ เจฆเฉ‹ เจญเจพเจ— (เจชเฉ‹เจก) เจนเฉ‹เจฃเฉ‡ เจšเจพเจนเฉ€เจฆเฉ‡ เจนเจจ:

  • เจ•เฉฐเจŸเจฐเฉ‹เจฒเจฐ - เจฌเจพเจนเจฐเฉ€ เจจเจฟเจฐเฉฐเจคเจฐ เจธเจŸเฉ‹เจฐเฉ‡เจœ เจฆเจพ เจชเฉเจฐเจฌเฉฐเจงเจจ เจ•เจฐเจฆเจพ เจนเฉˆเฅค เจ‡เจน เจ‡เฉฑเจ• gRPC เจธเจฐเจตเจฐ เจฆเฉ‡ เจคเฉŒเจฐ เจคเฉ‡ เจฒเจพเจ—เฉ‚ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ, เจœเจฟเจธ เจฒเจˆ เจฎเฉเฉฑเจขเจฒเจพ เจตเจฐเจคเจฟเจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆ StatefulSet.
  • เจจเฉ‹เจก โ€” เจ•เจฒเฉฑเจธเจŸเจฐ เจจเฉ‹เจกเจพเจ‚ เจตเจฟเฉฑเจš เจธเจฅเจฟเจฐ เจธเจŸเฉ‹เจฐเฉ‡เจœเจผ เจจเฉ‚เฉฐ เจฎเจพเจŠเจ‚เจŸ เจ•เจฐเจจ เจฒเจˆ เจœเจผเจฟเฉฐเจฎเฉ‡เจตเจพเจฐ เจนเฉˆเฅค เจ‡เจน เจ‡เฉฑเจ• gRPC เจธเจฐเจตเจฐ เจฆเฉ‡ เจคเฉŒเจฐ เจคเฉ‡ เจตเฉ€ เจฒเจพเจ—เฉ‚ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ, เจชเจฐ เจ‡เจน เจฎเฉเฉฑเจขเจฒเฉ‡ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเจพ เจนเฉˆ DaemonSet.

Kubernetes เจธเจŸเฉ‹เจฐเฉ‡เจœเจผ เจฒเจˆ เจตเจพเจฒเฉ€เจ…เจฎ เจชเจฒเฉฑเจ—เจ‡เจจ: Flexvolume เจคเฉ‹เจ‚ CSI เจคเฉฑเจ•
เจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ เจตเจฟเฉฑเจš CSI เจชเจฒเฉฑเจ—เจ‡เจจ เจ•เจฟเจตเฉ‡เจ‚ เจ•เฉฐเจฎ เจ•เจฐเจฆเฉ€ เจนเฉˆ

เจคเฉเจธเฉ€เจ‚ CSI เจฆเฉ‡ เจ•เฉฐเจฎ เจฆเฉ‡ เจ•เฉเจ เจนเฉ‹เจฐ เจตเฉ‡เจฐเจตเจฟเจ†เจ‚ เจฌเจพเจฐเฉ‡ เจธเจฟเฉฑเจ– เจธเจ•เจฆเฉ‡ เจนเฉ‹, เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, เจฒเฉ‡เจ– เจคเฉ‹เจ‚C.S.I. เจจเฉ‚เฉฐ เจธเจฎเจเจฃเจพยป, เจœเจฟเจธ เจฆเจพ เจ…เจจเฉเจตเจพเจฆ เจ…เจธเฉ€เจ‚ เจ‡เฉฑเจ• เจธเจพเจฒ เจชเจนเจฟเจฒเจพเจ‚ เจชเฉเจฐเจ•เจพเจธเจผเจฟเจค เจ•เฉ€เจคเจพ เจธเฉ€เฅค

เจ…เจœเจฟเจนเฉ‡ เจฒเจพเจ—เฉ‚ เจ•เจฐเจจ เจฆเฉ‡ เจซเจพเจ‡เจฆเฉ‡

  • เจจเฉ‹เจก เจฒเจˆ เจกเจฐเจพเจˆเจตเจฐ เจฐเจœเจฟเจธเจŸเจฐ เจ•เจฐเจจ เจตเจฐเจ—เฉ€เจ†เจ‚ เจฌเฉเจจเจฟเจ†เจฆเฉ€ เจšเฉ€เจœเจผเจพเจ‚ เจฒเจˆ, เจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ เจกเจฟเจตเฉˆเจฒเจชเจฐเจพเจ‚ เจจเฉ‡ เจ•เฉฐเจŸเฉ‡เจจเจฐเจพเจ‚ เจฆเจพ เจ‡เฉฑเจ• เจธเฉˆเฉฑเจŸ เจฒเจพเจ—เฉ‚ เจ•เฉ€เจคเจพเฅค เจคเฉเจนเจพเจจเฉ‚เฉฐ เจนเฉเจฃ เจ†เจชเจฃเฉ‡ เจ†เจช เจตเจฟเฉฑเจš เจธเจฎเจฐเฉฑเจฅเจพเจตเจพเจ‚ เจฆเฉ‡ เจจเจพเจฒ JSON เจœเจตเจพเจฌ เจฌเจฃเจพเจ‰เจฃ เจฆเฉ€ เจฒเฉ‹เฉœ เจจเจนเฉ€เจ‚ เจนเฉˆ, เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ Flexvolume เจชเจฒเฉฑเจ—เจ‡เจจ เจฒเจˆ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจธเฉ€เฅค
  • เจเจ—เจœเจผเฉ€เจ•เจฟเจŠเจŸเฉ‡เจฌเจฒ เจซเจพเจˆเจฒเจพเจ‚ เจจเฉ‚เฉฐ เจจเฉ‹เจกเจพเจ‚ เจ‰เฉฑเจคเฉ‡ "เจธเจฒเจฟเจช" เจ•เจฐเจจ เจฆเฉ€ เจฌเจœเจพเจ, เจ…เจธเฉ€เจ‚ เจนเฉเจฃ เจ•เจฒเฉฑเจธเจŸเจฐ เจตเจฟเฉฑเจš เจชเฉŒเจก เจ…เฉฑเจชเจฒเฉ‹เจก เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚เฅค เจ‡เจน เจ‰เจน เจนเฉˆ เจœเฉ‹ เจ…เจธเฉ€เจ‚ เจธเจผเฉเจฐเฉ‚ เจตเจฟเฉฑเจš เจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ เจคเฉ‹เจ‚ เจ‰เจฎเฉ€เจฆ เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚: เจธเจพเจฐเฉ€เจ†เจ‚ เจชเฉเจฐเจ•เจฟเจฐเจฟเจ†เจตเจพเจ‚ เจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ เจชเฉเจฐเจพเจˆเจฎเจŸเจฟเจตเจœเจผ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจนเฉ‹เจ เจคเฉˆเจจเจพเจค เจ•เฉ€เจคเฉ‡ เจ•เฉฐเจŸเฉ‡เจจเจฐเจพเจ‚ เจฆเฉ‡ เจ…เฉฐเจฆเจฐ เจนเฉเฉฐเจฆเฉ€เจ†เจ‚ เจนเจจเฅค
  • เจคเฉเจนเจพเจจเฉ‚เฉฐ เจนเฉเจฃ เจ—เฉเฉฐเจเจฒเจฆเจพเจฐ เจกเจฐเจพเจˆเจตเจฐเจพเจ‚ เจจเฉ‚เฉฐ เจฒเจพเจ—เฉ‚ เจ•เจฐเจจ เจฒเจˆ เจ‡เฉฑเจ• RPC เจธเจฐเจตเจฐ เจ…เจคเฉ‡ RPC เจ•เจฒเจพเจ‡เฉฐเจŸ เจตเจฟเจ•เจธเจฟเจค เจ•เจฐเจจ เจฆเฉ€ เจฒเฉ‹เฉœ เจจเจนเฉ€เจ‚ เจนเฉˆเฅค เจ•เจฒเจพเจ‡เฉฐเจŸ เจธเจพเจกเฉ‡ เจฒเจˆ เจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ เจกเจฟเจตเฉˆเจฒเจชเจฐเจพเจ‚ เจฆเฉเจ†เจฐเจพ เจฒเจพเจ—เฉ‚ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจธเฉ€เฅค
  • gRPC เจชเฉเจฐเฉ‹เจŸเฉ‹เจ•เฉ‹เจฒ เจ‰เฉฑเจคเฉ‡ เจ•เฉฐเจฎ เจ•เจฐเจจ เจฒเจˆ เจ†เจฐเจ—เฉ‚เจฎเฉˆเจ‚เจŸเจพเจ‚ เจจเฉ‚เฉฐ เจชเจพเจธ เจ•เจฐเจจเจพ เจ‰เจนเจจเจพเจ‚ เจจเฉ‚เฉฐ เจ•เจฎเจพเจ‚เจก เจฒเจพเจˆเจจ เจ†เจฐเจ—เฉ‚เจฎเฉˆเจ‚เจŸเจพเจ‚ เจฐเจพเจนเฉ€เจ‚ เจชเจพเจธ เจ•เจฐเจจ เจจเจพเจฒเฉ‹เจ‚ เจฌเจนเฉเจค เจœเจผเจฟเจ†เจฆเจพ เจธเฉเจตเจฟเจงเจพเจœเจจเจ•, เจฒเจšเจ•เจฆเจพเจฐ เจ…เจคเฉ‡ เจญเจฐเฉ‹เจธเฉ‡เจฎเฉฐเจฆ เจนเฉˆเฅค เจ‡เจน เจธเจฎเจเจฃ เจฒเจˆ เจ•เจฟ เจ‡เฉฑเจ• เจชเฉเจฐเจฎเจพเจฃเจฟเจค gRPC เจตเจฟเจงเฉ€ เจจเฉ‚เฉฐ เจœเฉ‹เฉœ เจ•เฉ‡ CSI เจตเจฟเฉฑเจš เจตเจพเจฒเฉ€เจ…เจฎ เจตเจฐเจคเฉ‹เจ‚ เจฎเฉˆเจŸเฉเจฐเจฟเจ•เจธ เจฒเจˆ เจธเจฎเจฐเจฅเจจ เจ•เจฟเจตเฉ‡เจ‚ เจœเฉ‹เฉœเจจเจพ เจนเฉˆ, เจคเฉเจธเฉ€เจ‚ เจชเฉœเฉเจน เจธเจ•เจฆเฉ‡ เจนเฉ‹: เจธเจพเจกเฉ€ เจชเฉเฉฑเจฒ เจฌเฉ‡เจจเจคเฉ€ vsphere-csi เจกเจฐเจพเจˆเจตเจฐ เจฒเจˆเฅค
  • เจธเฉฐเจšเจพเจฐ IPC เจธเจพเจ•เจŸเจพเจ‚ เจฐเจพเจนเฉ€เจ‚ เจนเฉเฉฐเจฆเจพ เจนเฉˆ, เจคเจพเจ‚ เจœเฉ‹ เจ‡เจธ เจญเฉเจฒเฉ‡เจ–เฉ‡ เจตเจฟเฉฑเจš เจจเจพ เจชเจตเฉ‡ เจ•เจฟ เจ•เฉ€ เจ•เฉเจฌเฉ‡เจฒเฉ‡เจŸ เจจเฉ‡ เจธเจนเฉ€ เจชเฉ‹เจก เจจเฉ‚เฉฐ เจฌเฉ‡เจจเจคเฉ€ เจญเฉ‡เจœเฉ€ เจนเฉˆเฅค

เจ•เฉ€ เจ‡เจน เจธเฉ‚เจšเฉ€ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ•เจฟเจธเฉ‡ เจšเฉ€เจœเจผ เจฆเฉ€ เจฏเจพเจฆ เจฆเจฟเจตเจพเจ‰เจ‚เจฆเฉ€ เจนเฉˆ? CSI เจฆเฉ‡ เจซเจพเจ‡เจฆเฉ‡ เจนเจจ เจ‰เจนเฉ€ เจธเจฎเฉฑเจธเจฟเจ†เจตเจพเจ‚ เจจเฉ‚เฉฐ เจนเฉฑเจฒ เจ•เจฐเจจเจพ, เจœเฉ‹ เจ•เจฟ Flexvolume เจชเจฒเฉฑเจ—เจ‡เจจ เจจเฉ‚เฉฐ เจตเจฟเจ•เจธเจค เจ•เจฐเจจ เจตเฉ‡เจฒเฉ‡ เจงเจฟเจ†เจจ เจตเจฟเฉฑเจš เจจเจนเฉ€เจ‚ เจฐเฉฑเจ–เจฟเจ† เจ—เจฟเจ† เจธเฉ€เฅค

เจธเจฟเฉฑเจŸเจพ

เจกเฉ‡เจŸเจพ เจตเฉ‡เจ…เจฐเจนเจพเจŠเจธเจพเจ‚ เจจเจพเจฒ เจ—เฉฑเจฒเจฌเจพเจค เจ•เจฐเจจ เจฒเจˆ เจ•เจธเจŸเจฎ เจชเจฒเฉฑเจ—เจ‡เจจ เจฒเจพเจ—เฉ‚ เจ•เจฐเจจ เจฒเจˆ เจ‡เฉฑเจ• เจฎเจฟเจ†เจฐ เจตเจœเฉ‹เจ‚ CSI เจจเฉ‚เฉฐ เจญเจพเจˆเจšเจพเจฐเฉ‡ เจฆเฉเจ†เจฐเจพ เจฌเจนเฉเจค เจ—เจฐเจฎเจœเฉ‹เจธเจผเฉ€ เจจเจพเจฒ เจชเฉเจฐเจพเจชเจค เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจธเฉ€เฅค เจ‡เจธ เจคเฉ‹เจ‚ เจ‡เจฒเจพเจตเจพ, เจ‰เจนเจจเจพเจ‚ เจฆเฉ‡ เจซเจพเจ‡เจฆเจฟเจ†เจ‚ เจ…เจคเฉ‡ เจฌเจนเฉเจชเฉฑเจ–เฉ€เจคเจพ เจฆเฉ‡ เจ•เจพเจฐเจจ, CSI เจกเฉเจฐเจพเจˆเจตเจฐ เจธเจŸเฉ‹เจฐเฉ‡เจœ เจชเฉเจฐเจฃเจพเจฒเฉ€เจ†เจ‚ เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ Ceph เจœเจพเจ‚ AWS EBS, เจ•เฉฐเจฎ เจ•เจฐเจจ เจฒเจˆ เจชเจฒเฉฑเจ—เจ‡เจจเจพเจ‚ เจฒเจˆ เจตเฉ€ เจฌเจฃเจพเจ เจ—เจ เจนเจจ เจœเจฟเจจเฉเจนเจพเจ‚ เจจเจพเจฒ เจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ เจฆเฉ‡ เจชเจนเจฟเจฒเฉ‡ เจธเฉฐเจธเจ•เจฐเจฃ เจตเจฟเฉฑเจš เจœเฉ‹เฉœเจฟเจ† เจ—เจฟเจ† เจธเฉ€เฅค

2019 เจฆเฉ€ เจธเจผเฉเจฐเฉ‚เจ†เจค เจตเจฟเฉฑเจš, เจ‡เจจ-เจŸเจฐเฉ€ เจชเจฒเฉฑเจ—เจ‡เจจ เจจเฉ‚เฉฐ เจ…เจชเฉเจฐเจšเจฒเจฟเจค เจ˜เฉ‹เจธเจผเจฟเจค เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ. เจ…เจธเฉ€เจ‚ Flexvolume เจชเจฒเฉฑเจ—เจ‡เจจ เจฆเจพ เจธเจฎเจฐเจฅเจจ เจ•เจฐเจจเจพ เจœเจพเจฐเฉ€ เจฐเฉฑเจ–เจฃ เจฆเฉ€ เจฏเฉ‹เจœเจจเจพ เจฌเจฃเจพ เจฐเจนเฉ‡ เจนเจพเจ‚, เจชเจฐ เจ‡เจธเจฆเฉ‡ เจฒเจˆ เจจเจตเฉ€เจ‚ เจ•เจพเจฐเจœเจธเจผเฉ€เจฒเจคเจพ เจตเจฟเจ•เจธเจฟเจค เจจเจนเฉ€เจ‚ เจ•เจฐเจพเจ‚เจ—เฉ‡เฅค

เจธเจพเจกเฉ‡ เจ•เฉ‹เจฒ เจชเจนเจฟเจฒเจพเจ‚ เจนเฉ€ ceph-csi, vsphere-csi เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจจ เจฆเจพ เจคเจœเจฐเจฌเจพ เจนเฉˆ เจ…เจคเฉ‡ เจ…เจธเฉ€เจ‚ เจ‡เจธ เจธเฉ‚เจšเฉ€ เจตเจฟเฉฑเจš เจธเจผเจพเจฎเจฒ เจ•เจฐเจจ เจฒเจˆ เจคเจฟเจ†เจฐ เจนเจพเจ‚! เจนเฉเจฃ เจคเฉฑเจ•, เจธเฉ€เจเจธเจ†เจˆ เจ‡เจธ เจจเฉ‚เฉฐ เจธเฉŒเจ‚เจชเฉ‡ เจ—เจ เจ•เฉฐเจฎเจพเจ‚ เจฆเจพ เจกเฉฑเจŸ เจ•เฉ‡ เจฎเฉเจ•เจพเจฌเจฒเจพ เจ•เจฐ เจฐเจฟเจนเจพ เจนเฉˆ, เจชเจฐ เจ…เจธเฉ€เจ‚ เจ‰เจกเฉ€เจ• เจ•เจฐเจพเจ‚เจ—เฉ‡ เจ…เจคเฉ‡ เจฆเฉ‡เจ–เจพเจ‚เจ—เฉ‡เฅค

เจ‡เจน เจจเจพ เจญเฉเฉฑเจฒเฉ‹ เจ•เจฟ เจนเจฐ เจšเฉ€เจœเจผ เจจเจตเฉ€เจ‚ เจชเฉเจฐเจพเจฃเฉ€ เจฆเฉ€ เจšเฉฐเจ—เฉ€ เจชเฉเจจเจฐ เจตเจฟเจšเจพเจฐ เจนเฉˆ!

PS

เจธเจพเจกเฉ‡ เจฌเจฒเฉŒเจ— 'เจคเฉ‡ เจตเฉ€ เจชเฉœเฉเจนเฉ‹:

เจธเจฐเฉ‹เจค: www.habr.com

เจ‡เฉฑเจ• เจŸเจฟเฉฑเจชเจฃเฉ€ เจœเฉ‹เฉœเฉ‹