ืขืคืขืžืขืจืึทืœ ื•ื•ืึทืœื™ื•ืžื– ืžื™ื˜ ืกื˜ืึธืจื™ื“ื–ืฉ ืงืึทืคึผืึทืฆื™ื˜ืขื˜ ื˜ืจืึทืงื™ื ื’: EmptyDir ืื•ื™ืฃ ืกื˜ืขืจื•ื™ื“ื–

ืขืคืขืžืขืจืึทืœ ื•ื•ืึทืœื™ื•ืžื– ืžื™ื˜ ืกื˜ืึธืจื™ื“ื–ืฉ ืงืึทืคึผืึทืฆื™ื˜ืขื˜ ื˜ืจืึทืงื™ื ื’: EmptyDir ืื•ื™ืฃ ืกื˜ืขืจื•ื™ื“ื–

ืขื˜ืœืขื›ืข ืึทืคึผืœืึทืงื™ื™ืฉืึทื ื– ืื•ื™ืš ื“ืึทืจืคึฟืŸ ืฆื• ืงืจืึธื ื“ืึทื˜ืŸ, ืึธื‘ืขืจ ื–ื™ื™ ื–ืขื ืขืŸ ื’ืึทื ืฅ ื‘ืึทืงื•ื•ืขื ืžื™ื˜ ื“ื™ ืคืึทืงื˜ ืึทื– ื“ื™ ื“ืึทื˜ืŸ ื•ื•ืขื˜ ื ื™ืฉื˜ ื–ื™ื™ืŸ ื’ืขืจืื˜ืขื•ื•ืขื˜ ื ืึธืš ืจื™ืกื˜ืึทืจื˜.

ืคึฟืึทืจ ื‘ื™ื™ึทืฉืคึผื™ืœ, ืงืึทื˜ืฉื™ื ื’ ื‘ืึทื“ื™ื ื•ื ื’ืก ื–ืขื ืขืŸ ืœื™ืžื™ื˜ืขื“ ื“ื•ืจืš ื‘ืึทืจืึทืŸ, ืึธื‘ืขืจ ืงืขื ืขืŸ ืื•ื™ืš ืžืึทืš ื“ืึทื˜ืŸ ื•ื•ืึธืก ืื™ื– ืจืึทืจืขืœื™ ื’ืขื ื™ืฆื˜ ืฆื• ืกื˜ืึธืจื™ื“ื–ืฉ ื•ื•ืึธืก ืื™ื– ืกืœืึธื•ืขืจ ื•ื•ื™ ื‘ืึทืจืึทืŸ, ืžื™ื˜ ืงืœื™ื™ืŸ ืคึผืจืึทืœ ืื•ื™ืฃ ื“ื™ ืงื•ื™ืœืขืœื“ื™ืง ืคืึธืจืฉื˜ืขืœื•ื ื’. ืื ื“ืขืจืข ืึทืคึผืœืึทืงื™ื™ืฉืึทื ื– ื“ืึทืจืคึฟืŸ ืฆื• ื–ื™ื™ืŸ ืึทื•ื•ืขืจ ืึทื– ืขืก ืงืขืŸ ื–ื™ื™ืŸ ืขื˜ืœืขื›ืข ืœื™ื™ืขื ืขืŸ-ื‘ืœื•ื™ื– ืึทืจื™ื™ึทื ืฉืจื™ื™ึทื‘ ืื™ืŸ ื“ื™ ื˜ืขืงืขืก, ืึทื–ืึท ื•ื•ื™ ืกืขื˜ื˜ื™ื ื’ืก ืึธื“ืขืจ ืกื•ื“ ืฉืœื™ืกืœืขืŸ.

ืงื•ื‘ืขืจื ืขื˜ืขืก ื”ืื˜ ืฉื•ื™ืŸ ืขื˜ืœืขื›ืข ื˜ื™ื™ืคึผืก ืขืคืขืžืขืจืึทืœ ื•ื•ืึทืœื™ื•ืžื–, ืึธื‘ืขืจ ื–ื™ื™ืขืจ ืคืึทื ื’ืงืฉืึทื ืึทืœื™ื˜ื™ ืื™ื– ืœื™ืžื™ื˜ืขื“ ืฆื• ื•ื•ืึธืก ืื™ื– ื™ืžืคึผืœืึทืžืขื ืึทื“ ืื™ืŸ ื“ื™ K8s.

ืขืคืขืžืขืจืึทืœ CSI ื•ื•ืึทืœื™ื•ืžื– ื“ืขืจืœื•ื™ื‘ื˜ Kubernetes ืฆื• ื–ื™ื™ืŸ ืขืงืกื˜ืขื ื“ืขื“ ืžื™ื˜ CSI ื“ืจื™ื•ื•ืขืจืก ืฆื• ืฆื•ืฉื˜ืขืœืŸ ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ ืœื™ื™ื˜ื•ื•ื™ื™ื˜ ื”ื™ื’ืข ื•ื•ืึทืœื™ื•ืžื–. ืื™ืŸ ื“ืขื ื•ื•ืขื’ ืขืก ืื™ื– ืžืขื’ืœืขืš ืฆื• ื ื•ืฆืŸ ืึทืจื‘ื™ื˜ืจืึทืจื™ืฉ ืกื˜ืจืึทืงื˜ืฉืขืจื–: ืกืขื˜ื˜ื™ื ื’ืก, ืกื™ืงืจื™ืฅ, ืœืขื’ื™ื˜ื™ืžืึทืฆื™ืข ื“ืึทื˜ืŸ, ื•ื•ืขืจื™ืึทื‘ืึทืœื–, ืื•ืŸ ืึทื–ื•ื™ ืื•ื™ืฃ. CSI ื“ืจื™ื•ื•ืขืจืก ืžื•ื–ืŸ ื–ื™ื™ืŸ ืžืึทื“ืึทืคื™ื™ื“ ืฆื• ืฉื˜ื™ืฆืŸ ื“ืขื Kubernetes ืฉื˜ืจื™ืš, ื•ื•ื™ื™ึทืœ ืขืก ืื™ื– ืื ื’ืขื ื•ืžืขืŸ ืึทื– ืจืขื’ื•ืœืขืจ ืกื˜ืึทื ื“ืขืจื“ื™ื™ื–ื“ ื“ืจื™ื•ื•ืขืจืก ื•ื•ืขื˜ ื ื™ืฉื˜ ืึทืจื‘ืขื˜ืŸ - ืึธื‘ืขืจ ืขืก ืื™ื– ืื ื’ืขื ื•ืžืขืŸ ืึทื– ืึทื–ืึท ื•ื•ืึทืœื™ื•ืžื– ืงืขื ืขืŸ ื–ื™ื™ืŸ ื’ืขื•ื•ื™ื™ื ื˜ ืื•ื™ืฃ ืงื™ื™ืŸ ื ืึธื“ืข ืื•ื™ืกื’ืขืงืœื™ื‘ืŸ ืคึฟืึทืจ ื“ื™ ืคึผืึธื“.

ื“ืึธืก ืงืขืŸ ื–ื™ื™ืŸ ืึท ืคึผืจืึธื‘ืœืขื ืคึฟืึทืจ ื•ื•ืึทืœื™ื•ืžื– ื•ื•ืึธืก ืคืึทืจื ื•ืฆืŸ ื‘ืึทื˜ื™ื™ื˜ื™ืง ื‘ืึทืœืขื‘ืึธืก ืจืขืกื•ืจืกืŸ ืึธื“ืขืจ ืกื˜ืึธืจื™ื“ื–ืฉ ื•ื•ืึธืก ืื™ื– ื‘ืœื•ื™ื– ื‘ื ื™ืžืฆื ืื•ื™ืฃ ืขื˜ืœืขื›ืข ืžื—ื ื•ืช. ืึทื– ืก ื•ื•ืึธืก Kubernetes 1.19 ื™ื ื˜ืจืึทื“ื•ืกื™ื– ืฆื•ื•ื™ื™ ื ื™ื™ึท ืึทืœืฃ ื˜ืขืกื˜ื™ื ื’ ื‘ืึทื ื“ ืคึฟืขื™ึดืงื™ื™ื˜ืŸ ื•ื•ืึธืก ื–ืขื ืขืŸ ืงืึทื ืกืขืคึผื˜ืฉื•ืึทืœื™ ืขื ืœืขืš ืฆื• EmptyDir ื•ื•ืึทืœื™ื•ืžื–:

  • ื™ืคืขืžืขืจืึทืœ ื•ื•ืึทืœื™ื•ืžื– ืคื•ืŸ ืึทืœื’ืขืžื™ื™ืŸ ืฆื™ืœ;

  • CSI ืกื˜ืึธืจื™ื“ื–ืฉ ืงืึทืคึผืึทืฆื™ื˜ืขื˜ ื˜ืจืึทืงื™ื ื’.

ืึทื“ื•ื•ืึทื ื˜ืึทื’ืขืก ืคื•ืŸ ื“ื™ ื ื™ื™ึทืข ืฆื•ื’ืึทื ื’:

  • ืกื˜ืึธืจื™ื“ื–ืฉ ืงืขื ืขืŸ ื–ื™ื™ืŸ ื”ื™ื’ืข ืึธื“ืขืจ ืงืึธื ื ืขืงื˜ืขื“ ื“ื•ืจืš ืึท ื ืขืฅ;

  • ื•ื•ืึทืœื™ื•ืžื– ืงืขื ืขืŸ ื”ืึธื‘ืŸ ืึท ืกืคึผืขืกื™ืคื™ืขื“ ื’ืจื™ื™ืก ื•ื•ืึธืก ืงืขื ืขืŸ ื ื™ื˜ ื–ื™ื™ืŸ ื™ืงืกื™ื“ื™ื“ ื“ื•ืจืš ื“ื™ ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ;

  • ืึทืจื‘ืขื˜ ืžื™ื˜ ืงื™ื™ืŸ CSI ื“ืจื™ื•ื•ืขืจืก ื•ื•ืึธืก ืฉื˜ื™ืฆืŸ ืคึผืจืึทื•ื•ื™ื–ืฉืึทื ื– ืคื•ืŸ ืคึผืขืจืกื™ืกื˜ืขื ื˜ ื•ื•ืึทืœื™ื•ืžื– ืื•ืŸ (ืฆื• ืฉื˜ื™ืฆืŸ ืงืึทืคึผืึทืฆื™ื˜ืขื˜ ื˜ืจืึทืงื™ื ื’) ื™ื ืกื˜ืจื•ืžืขื ื˜ ื“ื™ ืจื•ืคืŸ GetCapacity;

  • ื•ื•ืึทืœื™ื•ืžื– ืงืขืŸ ื”ืึธื‘ืŸ ืขื˜ืœืขื›ืข ืขืจืฉื˜ ื“ืึทื˜ืŸ ื“ื™ืคึผืขื ื“ื™ื ื’ ืื•ื™ืฃ ื“ื™ ืฉืึธืคืขืจ ืื•ืŸ ืกืขื˜ื˜ื™ื ื’ืก;

  • ืึทืœืข ื ืึธืจืžืึทืœ ืึทืคึผืขืจื™ื™ืฉืึทื ื– ืžื™ื˜ ืึท ื‘ืึทื ื“ (ืฉืืคืŸ ืึท ืžืึธืžืขื ื˜ื‘ื™ืœื“, ืจืขืกื™ื–ื™ื ื’, ืืื–"ื• ื•) ื–ืขื ืขืŸ ื’ืขืฉื˜ื™ืฆื˜;

  • ื•ื•ืึทืœื™ื•ืžื– ืงืขื ืขืŸ ื–ื™ื™ืŸ ื’ืขื•ื•ื™ื™ื ื˜ ืžื™ื˜ ืงื™ื™ืŸ ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ ืงืึทื ื˜ืจืึธื•ืœืขืจ ื•ื•ืึธืก ืึทืงืกืขืคึผืฅ ืึท ืžืึธื“ื•ืœืข ืึธื“ืขืจ ื‘ืึทื ื“ ื‘ืึทืฉืจื™ื™ึทื‘ื•ื ื’;

  • ื“ื™ Kubernetes ืกืงืขื“ื–ืฉื•ืœืขืจ ืกืึทืœืขืงืฅ ืคึผืึทืกื™ืง ื ืึธื•ื“ื– ืื•ื™ืฃ ื–ื™ืš, ืึทื–ื•ื™ ืขืก ืื™ื– ื ื™ื˜ ืžืขืจ ื ื•ื™ื˜ื™ืง ืฆื• ืฆื•ืฉื˜ืขืœืŸ ืื•ืŸ ืงืึทื ืคื™ื’ื™ืขืจ ืกืงืขื“ื–ืฉื•ืœืขืจ ื™ืงืกื˜ืขื ืฉืึทื ื– ืึธื“ืขืจ ืžืึธื“ื™ืคื™ืฆื™ืจืŸ ื•ื•ืขื‘ื”ืึธืึธืงืก.

ืึทืคึผืคึผืœื™ืงืึทื˜ื™ืึธืŸ ืึธืคึผืฆื™ืขืก

ื“ืขืจื™ื‘ืขืจ, ื™ืคืขืžืขืจืึทืœ ื•ื•ืึทืœื™ื•ืžื– ืคึฟืึทืจ ืึทืœื’ืขืžื™ื™ืŸ ืฆื™ืœ ื–ืขื ืขืŸ ืคึผืึทืกื™ืง ืคึฟืึทืจ ื“ื™ ืคืืœื’ืขื ื“ืข ืงืึทืกืขืก:

ืคึผืขืจืกื™ืกื˜ืขื ื˜ ื–ื›ึผืจื•ืŸ ื•ื•ื™ ืึท ืคืึทืจื‘ื™ื™ึทื˜ ืคึฟืึทืจ ื‘ืึทืจืึทืŸ ืคึฟืึทืจ ืžืขืžืงืึทื˜ืฉืขื“

ืœืขืฆื˜ืข ืจื™ืœื™ืกื™ื– ืคื•ืŸ ืžืขืžืงืึทื˜ืฉืขื“ ืฆื•ื’ืขื’ืขื‘ืŸ ืฉื˜ื™ืฆืŸ ื ื™ืฆืŸ ืคึผืขืจืกื™ืกื˜ืขื ื˜ ื–ื›ึผืจื•ืŸ (ื™ื ื˜ืขืœ ืึธืคึผื˜ืึทื ืข, ืืื–"ื• ื•, ืึทืคึผืคึผืจืึธืงืก. ืื™ื‘ืขืจื–ืขืฆืขืจ) ืึทื ืฉื˜ืึธื˜ ืคื•ืŸ ืจืขื’ื•ืœืขืจ ื‘ืึทืจืึทืŸ. ื•ื•ืขืŸ ื“ื™ืคึผืœื•ื™ื™ื ื’ ืžืขืžืงืึทื˜ืฉืขื“ ื“ื•ืจืš ืึท ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ ืงืึธื ื˜ืจืึธืœืœืขืจ, ืื™ืจ ืงืขื ืขืŸ ื ื•ืฆืŸ ื™ืคืขืžืขืจืึทืœ ื•ื•ืึทืœื™ื•ืžื– ืคื•ืŸ ืึทืœื’ืขืžื™ื™ืŸ ืฆื™ืœ ืฆื• ื‘ืขื˜ืŸ ืึทื– ืึท ื‘ืึทื ื“ ืคื•ืŸ ืึท ื’ืขื’ืขื‘ืŸ ื’ืจื™ื™ืก ื–ืึธืœ ื–ื™ื™ืŸ ืึทืœืึทืงื™ื™ื˜ื™ื“ ืคึฟื•ืŸ PMEM ื ื™ืฆืŸ ื“ื™ CSI ืฉืึธืคืขืจ, ืœืžืฉืœ PMEM-CSI.

LVM ื”ื™ื’ืข ืกื˜ืึธืจื™ื“ื–ืฉ ื•ื•ื™ ืึท ื•ื•ืึธืจืงืกืคึผืึทืกืข

ืึทืคึผืคึผืœื™ืงืึทื˜ื™ืึธื ืก ื•ื•ืึธืก ืึทืจื‘ืขื˜ ืžื™ื˜ ื“ืึทื˜ืŸ ื•ื•ืึธืก ื–ืขื ืขืŸ ื’ืจืขืกืขืจ ื•ื•ื™ ื‘ืึทืจืึทืŸ ืงืขืŸ ื“ืึทืจืคืŸ ื”ื™ื’ืข ืกื˜ืึธืจื™ื“ื–ืฉ ืžื™ื˜ ืึท ื’ืจื™ื™ืก ืึธื“ืขืจ ืคืึธืจืฉื˜ืขืœื•ื ื’ ืžืขื˜ืจื™ืงืก ื•ื•ืึธืก ืจืขื’ื•ืœืขืจ EmptyDir ื•ื•ืึทืœื™ื•ืžื– ืคื•ืŸ Kubernetes ืงืขื ืขืŸ ื ื™ืฉื˜ ืฆื•ืฉื˜ืขืœืŸ. ืคึฟืึทืจ ื‘ื™ื™ึทืฉืคึผื™ืœ, ืคึฟืึทืจ ื“ืขื ืฆื•ื•ืขืง ืขืก ืื™ื– ื’ืขืฉืจื™ื‘ืŸ TopoLVM.

ืœื™ื™ืขื ืขืŸ ื‘ืœื•ื™ื– ืึทืงืกืขืก ืคึฟืึทืจ ื“ืึทื˜ืŸ ื•ื•ืึทืœื™ื•ืžื–

ืึทืœืึทืงื™ื™ืฉืึทืŸ ืคื•ืŸ ืึท ื‘ืึทื ื“ ืงืขื ืขืŸ ืจืขื–ื•ืœื˜ืึทื˜ ืื™ืŸ ื“ืขืจ ืฉืึทืคื•ื ื’ ืคื•ืŸ ืึท ืคื•ืœ ื‘ืึทื ื“ ื•ื•ืขืŸ:

ื“ื™ ื•ื•ืึทืœื™ื•ืžื– ืงืขื ืขืŸ ื–ื™ื™ืŸ ืžืึธื•ื ื˜ืขื“ ืื™ืŸ ืœื™ื™ืขื ืขืŸ-ื‘ืœื•ื™ื– ืžืึธื“ืข.

ื•ื•ื™ ืขืก ื•ื•ืึธืจืงืก

ืึทืœื’ืขืžื™ื™ื ืข ืฆื™ืœ ืขืคืขืžืขืจืึทืœ ื•ื•ืึทืœื™ื•ืžื–

ื ืฉืœื™ืกืœ ืฉื˜ืจื™ืš ืคื•ืŸ ื™ืคืขืžืขืจืึทืœ ื•ื•ืึทืœื™ื•ืžื– ืคื•ืŸ ืึทืœื’ืขืžื™ื™ืŸ ืฆื™ืœ ืื™ื– ื“ื™ ื ื™ื™ึทืข ื‘ืึทื ื“ ืžืงื•ืจ, EphemeralVolumeSource, ืžื™ื˜ ืึทืœืข ื“ื™ ืคืขืœื“ืขืจ ืฆื• ืฉืึทืคึฟืŸ ืึท ื‘ืึทื ื“ ื‘ืขื˜ืŸ (ื›ื™ืกื˜ืึธืจื™ืงืœื™ ื’ืขืจื•ืคืŸ ืึท ืคึผืขืจืกื™ืกื˜ืขื ื˜ ื‘ืึทื ื“ ื‘ืขื˜ืŸ, ืคึผื•ื•ืง). ื ื™ื™ึท ืงืึธื ื˜ืจืึธืœืœืขืจ ืื™ืŸ kube-controller-manager ืงื•ืงื˜ ืื•ื™ืฃ ื“ื™ ืคึผืึธื“ืก ื•ื•ืึธืก ืฉืึทืคึฟืŸ ืึทื–ืึท ืึท ื‘ืึทื ื“ ืžืงื•ืจ, ืื•ืŸ ื“ืขืžืึธืœื˜ ืงืจื™ื™ื™ืฅ ืึท ืคึผื•ื•ืง ืคึฟืึทืจ ื“ื™ ืคึผืึธื“ืก. ืคึฟืึทืจ ื“ื™ CSI ืฉืึธืคืขืจ, ื“ืขื ื‘ืงืฉื” ืงื•ืงื˜ ื“ื™ ื–ืขืœื‘ืข ื•ื•ื™ ื“ื™ ืื ื“ืขืจืข, ืึทื–ื•ื™ ืงื™ื™ืŸ ืกืคึผืขืฆื™ืขืœ ืฉื˜ื™ืฆืŸ ืื™ื– ื“ืืจืฃ ื“ืึธ.

ื•ื•ื™ ืœืึทื ื’ ื•ื•ื™ ืึทื–ืึท ืคึผื•ื•ืงื– ืขืงืกื™ืกื˜ื™ืจืŸ, ื–ื™ื™ ืงืขื ืขืŸ ื–ื™ื™ืŸ ื’ืขื•ื•ื™ื™ื ื˜ ื•ื•ื™ ืงื™ื™ืŸ ืื ื“ืขืจืข ืจื™ืงื•ื•ืขืก ืื•ื™ืฃ ื“ืขื ื‘ืึทื ื“. ืื™ืŸ ื‘ืึทื–ื•ื ื“ืขืจ, ื–ื™ื™ ืงืขื ืขืŸ ื–ื™ื™ืŸ ืจืขืคืขืจืขื ืกื˜ ื•ื•ื™ ืึท ื“ืึทื˜ืŸ ืžืงื•ืจ ื•ื•ืขืŸ ืงืึทืคึผื™ื™ื ื’ ืึท ื‘ืึทื ื“ ืึธื“ืขืจ ืฉืึทืคึฟืŸ ืึท ืžืึธืžืขื ื˜ื‘ื™ืœื“ ืคื•ืŸ ืึท ื‘ืึทื ื“. ื“ื™ ืคึผื•ื•ืง ื›ื™ื™ืคืขืฅ ืื•ื™ืš ื›ึผื•ืœืœ ื“ื™ ืงืจืึทื ื˜ ืฉื˜ืึทื˜ ืคื•ืŸ ื“ื™ ื‘ืึทื ื“.

ื“ื™ ื ืขืžืขืŸ ืคื•ืŸ ืื•ื™ื˜ืึธืžืึทื˜ื™ืฉ ื‘ืืฉืืคืŸ ืคึผื•ื•ืงืก ื–ืขื ืขืŸ ืคึผืจืขื“ืขืคื™ื ืขื“: ื–ื™ื™ ื–ืขื ืขืŸ ืึท ืงืึธืžื‘ื™ื ืึทืฆื™ืข ืคื•ืŸ โ€‹โ€‹โ€‹โ€‹ื“ื™ ืคึผืึธื“ ื ืึธืžืขืŸ ืื•ืŸ ื“ื™ ื‘ืึทื ื“ ื ืึธืžืขืŸ, ืืคื’ืขืฉื™ื™ื“ื˜ ื“ื•ืจืš ืึท ื‘ื™ื ืข. ืคึผืจืขื“ืขืคื™ื ืขื“ ื ืขืžืขืŸ ืžืึทื›ืŸ ืขืก ื’ืจื™ื ื’ืขืจ ืฆื• ื™ื ื˜ืขืจืึทืงื˜ ืžื™ื˜ ื“ื™ ืคึผื•ื•ืง ื•ื•ื™ื™ึทืœ ืื™ืจ ื˜ืึธืŸ ื ื™ื˜ ื”ืึธื‘ืŸ ืฆื• ืงื•ืงืŸ ืคึฟืึทืจ ืขืก ืื•ื™ื‘ ืื™ืจ ื•ื•ื™ืกืŸ ื“ื™ ืคึผืึธื“ ื ืึธืžืขืŸ ืื•ืŸ ื‘ืึทื ื“ ื ืึธืžืขืŸ. ื“ื™ ื“ืึทื•ื ืกื™ื™ื“ ืื™ื– ืึทื– ื“ืขืจ ื ืึธืžืขืŸ ืงืขืŸ ืฉื•ื™ืŸ ื–ื™ื™ืŸ ืื™ืŸ ื ื•ืฆืŸ, ื•ื•ืึธืก ืื™ื– ื“ื™ื˜ืขืงื˜ืึทื“ ื“ื•ืจืš Kubernetes ืื•ืŸ ื•ื•ื™ ืึท ืจืขื–ื•ืœื˜ืึทื˜, ื“ื™ ืคึผืึธื“ ืื™ื– ืืคื’ืขืฉื˜ืขืœื˜ ืคื•ืŸ ืกื˜ืึทืจื˜ื™ื ื’.

ืฆื• ืขื ืฉื•ืจ ืึทื– ื“ืขืจ ื‘ืึทื ื“ ืื™ื– ืื•ื™ืกื’ืขืžืขืงื˜ ืฆื•ื–ืืžืขืŸ ืžื™ื˜ ื“ื™ ืคึผืึธื“, ื“ื™ ืงืึธื ื˜ืจืึธืœืœืขืจ ืžืื›ื˜ ืึท ื‘ืงืฉื” ืฆื• ื“ืขื ื‘ืึทื ื“ ืื•ื ื˜ืขืจ ื“ื™ ื‘ืึทื–ื™ืฆืขืจ. ื•ื•ืขืŸ ื“ื™ ืคึผืึธื“ ืื™ื– ืื•ื™ืกื’ืขืžืขืงื˜, ื“ืขืจ ื ืึธืจืžืึทืœ ืžื™ืกื˜ ื–ืึทืžืœื•ื ื’ ืžืขืงืึทื ื™ื–ืึทื ืึทืจื‘ืขื˜, ื•ื•ืึธืก ื“ื™ืœื™ืฅ ื‘ื™ื™ื“ืข ื“ื™ ื‘ืขื˜ืŸ ืื•ืŸ ื“ื™ ื‘ืึทื ื“.

ืจื™ืงื•ื•ืขืก ื–ืขื ืขืŸ ืžืึทื˜ืฉื˜ ื“ื•ืจืš ื“ื™ ืกื˜ืึธืจื™ื“ื–ืฉ ืฉืึธืคืขืจ ื“ื•ืจืš ื“ื™ ื ืึธืจืžืึทืœ ืžืขืงืึทื ื™ื–ืึทื ืคื•ืŸ ื“ื™ ืกื˜ืึธืจื™ื“ื–ืฉ ืงืœืึทืก. ื›ืึธื˜ืฉ ืงืœืืกืŸ ืžื™ื˜ ื‘ืึทืœื“ื™ืง ืื•ืŸ ืฉืคึผืขื˜ ื‘ื™ื™ื ื“ื™ื ื’ (ืึทืงืึท WaitForFirstConsumer) ื–ืขื ืขืŸ ื’ืขืฉื˜ื™ืฆื˜, ืคึฟืึทืจ ื™ืคืขืžืขืจืึทืœ ื•ื•ืึทืœื™ื•ืžื– ืขืก ืื™ื– ื–ื™ื ืขืŸ ืฆื• ื ื•ืฆืŸ WaitForFirstConsumer, ื“ืขืจ ืกืงืขื“ื–ืฉื•ืœืขืจ ืงืขื ืขืŸ ื‘ืึทื˜ืจืึทื›ื˜ืŸ ื‘ื™ื™ื“ืข ื ืึธื“ืข ื‘ืึทื ื™ืฅ ืื•ืŸ ืกื˜ืึธืจื™ื“ื–ืฉ ืึทื•ื•ื™ื™ืœืึทื‘ื™ืœืึทื˜ื™ ื•ื•ืขืŸ ืกืึทืœืขืงื˜ื™ื ื’ ืึท ื ืึธื“ืข. ื ื ื™ื™ึทืข ืฉื˜ืจื™ืš ืื™ื– ื’ืขื•ื•ื™ื–ืŸ ื“ืึธ.

ืกื˜ืึธืจื™ื“ื–ืฉ ืงืึทืคึผืึทืกื™ื˜ื™ ื˜ืจืึทืงื™ื ื’

ื˜ื™ืคึผื™ืงืึทืœืœื™ ื“ืขืจ ืกืงืขื“ื–ืฉื•ืœืขืจ ื”ืื˜ ืงื™ื™ืŸ ื•ื•ื™ืกืŸ ืคื•ืŸ ื•ื•ื• ื“ื™ CSI ืฉืึธืคืขืจ ื•ื•ืขื˜ ืžืึทื›ืŸ ื“ืขื ื‘ืึทื ื“. ืขืก ืื™ื– ืื•ื™ืš ืงื™ื™ืŸ ื•ื•ืขื’ ืคึฟืึทืจ ื“ื™ ืกืงืขื“ื–ืฉื•ืœืขืจ ืฆื• ืงืึธื ื˜ืึทืงื˜ ื“ื™ ืฉืึธืคืขืจ ื’ืœื™ื™ึทืš ืฆื• ื‘ืขื˜ืŸ ื“ืขื ืื™ื ืคึฟืึธืจืžืึทืฆื™ืข. ื“ืขืจื™ื‘ืขืจ, ื“ื™ ืกืงืขื“ื–ืฉื•ืœืขืจ ืคึผืึธืœืœืก ื ืึธื•ื“ื– ื‘ื™ื– ืขืก ื’ืขืคื™ื ื˜ ืื™ื™ื ืขืจ ืื•ื™ืฃ ื•ื•ืึธืก ื•ื•ืึทืœื™ื•ืžื– ืงืขื ืขืŸ ื–ื™ื™ืŸ ืึทืงืกืขืกื˜ (ืฉืคึผืขื˜ ื‘ื™ื™ื ื“ื™ื ื’) ืึธื“ืขืจ ืœืึธื–ืŸ ื“ื™ ื‘ืจื™ืจื” ืคื•ืŸ ืึธืจื˜ ืœืขื’ืึทืžืจืข ืฆื• ื“ื™ ืฉืึธืคืขืจ (ื’ืœื™ื™ืš ื‘ื™ื™ื ื“ื™ื ื’).

ื ื™ื™ึท ืึทืคึผื™ CSIStorageCapacity, ื•ื•ืึธืก ืื™ื– ืื™ืŸ ื“ื™ ืึทืœืฃ ื‘ื™ื ืข, ืึทืœืึทื•ื– ื“ื™ ื ื™ื™ื˜ื™ืง ื“ืึทื˜ืŸ ืฆื• ื–ื™ื™ืŸ ืกื˜ืึธืจื“ ืื™ืŸ ืขื˜ืง ืึทื–ื•ื™ ืึทื– ืขืก ืื™ื– ื‘ืืจืขื›ื˜ื™ื’ื˜ ืคึฟืึทืจ ื“ื™ ืกืงืขื“ื–ืฉื•ืœืขืจ. ื ื™ื˜ ืขื ืœืขืš ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ ื™ืคืขืžืขืจืึทืœ ื•ื•ืึทืœื™ื•ืžื– ืคื•ืŸ ืึทืœื’ืขืžื™ื™ืŸ ืฆื™ืœ, ื•ื•ืขืŸ ืื™ืจ ืฆืขื•ื•ื™ืงืœืขืŸ ื“ืขื ืฉืึธืคืขืจ, ืื™ืจ ืžื•ื–ืŸ ื’ืขื‘ืŸ ื˜ืจืึทืงื™ื ื’ ืกื˜ืึธืจื™ื“ื–ืฉ ืงืึทืคึผืึทืฆื™ื˜ืขื˜: external-provisioner ื–ืึธืœ ืึทืจื•ื™ืกื’ืขื‘ืŸ ื“ื™ ืงืึทืคึผืึทืฆื™ื˜ืขื˜ ืื™ื ืคึฟืึธืจืžืึทืฆื™ืข ื‘ืืงื•ืžืขืŸ ืคื•ืŸ ื“ื™ ืฉืึธืคืขืจ ื“ื•ืจืš ื ืึธืจืžืึทืœ GetCapacity.

ืื•ื™ื‘ ื“ืขืจ ืกืงืขื“ื–ืฉื•ืœืขืจ ื“ืึทืจืฃ ืื•ื™ืกืงืœื™ื™ึทื‘ืŸ ืึท ื ืึธื“ืข ืคึฟืึทืจ ืึท ืคึผืึธื“ ืžื™ื˜ ืึท ืึทื ื‘ืึทื•ื ื“ ื‘ืึทื ื“ ื•ื•ืึธืก ื ื™ืฆื˜ ืฉืคึผืขื˜ ื‘ื™ื™ื ื“ื™ื ื’, ืื•ืŸ ื“ืขืจ ืฉืึธืคืขืจ ืขื ื™ื™ื‘ืึทืœื“ ื“ืขื ืฉื˜ืจื™ืš ื‘ืขืฉืึทืก ื“ื™ืคึผืœื•ื™ืžืึทื ื˜ ื“ื•ืจืš ื‘ืึทืฉื˜ืขื˜ื™ืงืŸ ื“ื™ ืคืึธืŸ CSIDriver.storageCapacity, ื“ืขืžืึธืœื˜ ื ืึธื•ื“ื– ื•ื•ืึธืก ื˜ืึธืŸ ื ื™ื˜ ื”ืึธื‘ืŸ ื’ืขื ื•ื’ ืกื˜ืึธืจื™ื“ื–ืฉ ืงืึทืคึผืึทืฆื™ื˜ืขื˜ ื•ื•ืขื˜ ื–ื™ื™ืŸ ืื•ื™ื˜ืึธืžืึทื˜ื™ืฉ ื“ื™ืกืงืึทืจื“ื™ื“. ื“ืึธืก ืึทืจื‘ืขื˜ ืคึฟืึทืจ ื™ืคืขืžืขืจืึทืœ ื•ื•ืึทืœื™ื•ืžื– ืื•ืŸ ืคึผืขืจืกื™ืกื˜ืขื ื˜ ื•ื•ืึทืœื™ื•ืžื–, ืึธื‘ืขืจ ื ื™ืฉื˜ ืคึฟืึทืจ ื™ืคืขืžืขืจืึทืœ ื•ื•ืึทืœื™ื•ืžื– ืคื•ืŸ CSI ื•ื•ื™ื™ึทืœ ื–ื™ื™ืขืจ ืคึผืึทืจืึทืžืขื˜ืขืจืก ืงืขื ืขืŸ ื ื™ื˜ ื–ื™ื™ืŸ ืœื™ื™ืขื ืขืŸ ื“ื•ืจืš Kubernetes.

ื•ื•ื™ ื’ืขื•ื•ื™ื™ื ื˜ืœืขืš, ื’ืœื™ื™ืš ืœื™ื ื’ืงื˜ ื•ื•ืึทืœื™ื•ืžื– ื–ืขื ืขืŸ ื‘ืืฉืืคืŸ ืื™ื™ื“ืขืจ ืคึผืึธื“ืก ื–ืขื ืขืŸ ืกืงืขื“ื–ืฉื•ืœื“, ืื•ืŸ ื–ื™ื™ืขืจ ืคึผืœื™ื™ืกืžืึทื ื˜ ืื™ื– ืื•ื™ืกื“ืขืจื•ื•ื™ื™ืœื˜ ื“ื•ืจืš ื“ื™ ืกื˜ืึธืจื™ื“ื–ืฉ ืฉืึธืคืขืจ, ืึทื–ื•ื™ ื•ื•ืขืŸ ืงืึทื ืคื™ื’ื™ืขืจื™ื ื’ external-provisioner ื“ื•ืจืš ืคืขืœื™ืงื™ื™ึทื˜, ืกื˜ืึธืจื™ื“ื–ืฉ ืงืœืืกืŸ ืžื™ื˜ ื’ืœื™ื™ืš ื‘ื™ื™ื ื“ื™ื ื’ ื–ืขื ืขืŸ ืกืงื™ืคึผื˜, ื–ื™ื ื˜ ื“ื™ ื“ืึทื˜ืŸ ื•ื•ืขื˜ ื ื™ืฉื˜ ื–ื™ื™ืŸ ื’ืขื•ื•ื™ื™ื ื˜ ืกื™ื™ึท ื•ื•ื™ ืกื™ื™ึท.

ื–ื™ื ื˜ ื“ื™ kubernetes ืกืงืขื“ื–ืฉื•ืœืขืจ ืื™ื– ื’ืขืฆื•ื•ื•ื ื’ืขืŸ ืฆื• ืึทืจื‘ืขื˜ืŸ ืžื™ื˜ ืคึผืึทื˜ืขื ื˜ืฉืึทืœื™ ืื•ื™ืก-ืคื•ืŸ-ื“ืึทื˜ืข ืื™ื ืคึฟืึธืจืžืึทืฆื™ืข, ืขืก ืื™ื– ืงื™ื™ืŸ ื’ืึทืจืึทื ื˜ื™ืจืŸ ืึทื– ืงืึทืคึผืึทืฆื™ื˜ืขื˜ ื•ื•ืขื˜ ื–ื™ื™ืŸ ื‘ืืจืขื›ื˜ื™ื’ื˜ ืื™ืŸ ื™ืขื“ืขืจ ืคืึทืœ ื•ื•ืขืŸ ื“ืขืจ ื‘ืึทื ื“ ืื™ื– ื‘ืืฉืืคืŸ, ืึธื‘ืขืจ ื“ื™ ื’ื™ื›ืขืจ ืึทื– ืขืก ื•ื•ืขื˜ ื–ื™ื™ืŸ ื‘ืืฉืืคืŸ ืึธืŸ ืจื™ื˜ืจื™ื•ื– ื–ืขื ืขืŸ ื ืึธืš ื’ืขื•ื•ืืงืกืŸ.

ื ื‘ ืื™ืจ ืงืขื ืขืŸ ื‘ืึทืงื•ืžืขืŸ ืžืขืจ ื“ื™ื˜ื™ื™ืœื“ ืื™ื ืคึฟืึธืจืžืึทืฆื™ืข, ืื•ืŸ ื‘ืขืฉืึธืœืขื "ืคื™ืจ ืื•ื™ืฃ ื“ื™ ืงืึทืฅ ืฉื˜ื™ื™ืŸ", ืื•ืŸ ืื™ืŸ ืคืึทืœ ืคื•ืŸ ืึท ื’ืึธืจ ื™ื ื’ืงืึทืžืคึผืจืึทื›ืขื ืกื™ื‘ืึทืœ ืกื™ื˜ื•ืึทืฆื™ืข, ื‘ืึทืงื•ืžืขืŸ ืงื•ื•ืึทืœืึทืคื™ื™ื“ ื˜ืขื›ื ื™ืฉ ืฉื˜ื™ืฆืŸ ื”ื™ืœืฃ ืื™ืŸ ืื™ื ื˜ืขื ืกื™ื•ื•ืข ืงืึธืจืกืึทื– - Kubernetes Base ื•ื•ืขื˜ ื–ื™ื™ืŸ ื’ืขื”ืืœื˜ืŸ ืื•ื™ืฃ 28-30 ืกืขืคื˜ืขืžื‘ืขืจ, ืื•ืŸ ืคึฟืึทืจ ืžืขืจ ืึทื•ื•ืึทื ืกื™ืจื˜ืข ืกืคึผืขืฉืึทืœืึทืกืฅ Kubernetes Mega 14-16 ืืงื˜ืื‘ืขืจ.

ื–ื™ื›ืขืจืงื™ื™ึทื˜

CSIStorageCapacity

CSIStorageCapacity ืึทื‘ื“ื–ืฉืขืงืฅ ื•ื•ื•ื™ื ืขืŸ ืื™ืŸ ื ืึธืžืขืŸ ืกืคึผื™ื™ืกืึทื– ื•ื•ืขืŸ ืจืึธื•ืœื™ื ื’ ื™ืขื“ืขืจ CSI ืฉืึธืคืขืจ ืื™ืŸ ื–ื™ื™ืŸ ืื™ื™ื’ืขื ืข ื ืึธืžืขืŸ, ืขืก ืื™ื– ืจืขืงืึทืžืขื ื“ื™ื“ ืฆื• ื‘ืึทื’ืจืขื ืขืฆืŸ RBAC ืจืขื›ื˜ ืฆื• ื“ื™ CSIStorageCapacity ืื™ืŸ ื“ืขื ืคึผืœืึทืฅ, ื•ื•ื™ื™ึทืœ ืขืก ืื™ื– ืงืœืึธืจ ื•ื•ื™ ื“ืขืจ ื˜ืึธื’ ืคื•ืŸ ื•ื•ื• ื“ื™ ื“ืึทื˜ืŸ ืงื•ืžืขืŸ. Kubernetes ื˜ื•ื˜ ื ื™ืฉื˜ ื˜ืฉืขืง ืคึฟืึทืจ ื“ืขื ืกื™ื™ึท ื•ื•ื™ ืกื™ื™ึท, ืื•ืŸ ื™ื•ื–ืฉืึทื•ื•ืึทืœื™ ื“ืจื™ื•ื•ืขืจืก ื–ืขื ืขืŸ ืฉื˜ืขืœืŸ ืื™ืŸ ื“ื™ ื–ืขืœื‘ืข ื ืึธืžืขืŸ ืคึผืœืึทืฅ, ืึทื–ื•ื™ ืœืขืกืึธืฃ ื“ื™ ื“ืจื™ื•ื•ืขืจืก ื–ืขื ืขืŸ ื“ืขืจื•ื•ืึทืจื˜ ืฆื• ืึทืจื‘ืขื˜ืŸ ืื•ืŸ ื ื™ืฉื˜ ืึทืจื•ื™ืกื’ืขื‘ืŸ ืคืึทืœืฉ ื“ืึทื˜ืŸ (ืื•ืŸ ื“ืึธืก ืื™ื– ื•ื•ื• ืžื™ื™ืŸ ืงืึธืจื˜ ืื™ื– ื ื™ื˜ ืึทื ื“ืขืจืฉ, ืึทืคึผืคึผืจืึธืงืก. ืื™ื‘ืขืจื–ืขืฆืขืจ ื‘ืื–ื™ืจื˜ ืื•ื™ืฃ ืึท ื‘ื™ืจื“ืึทื“ ื•ื•ื™ืฅ)

ืึทืœื’ืขืžื™ื™ื ืข ืฆื™ืœ ืขืคืขืžืขืจืึทืœ ื•ื•ืึทืœื™ื•ืžื–

ืื•ื™ื‘ ื™ื•ื–ืขืจื– ื”ืึธื‘ืŸ ืจืขื›ื˜ ืฆื• ืฉืึทืคึฟืŸ ืึท ืคึผืึธื“ (ื“ื™ืจืขืงื˜ ืึธื“ืขืจ ืžื™ื ืึทืฆืึทื“), ื–ื™ื™ ื•ื•ืขืœืŸ ืื•ื™ืš ืงืขื ืขืŸ ืฆื• ืฉืึทืคึฟืŸ ื™ืคืขืžืขืจืึทืœ ื•ื•ืึทืœื™ื•ืžื– ืคึฟืึทืจ ืึทืœื’ืขืžื™ื™ืŸ ืฆื™ืœ ืืคื™ืœื• ืื•ื™ื‘ ื–ื™ื™ ื˜ืึธืŸ ื ื™ื˜ ื”ืึธื‘ืŸ ื“ื™ ืจืขื›ื˜ ืฆื• ืฉืึทืคึฟืŸ ืึท ื‘ืงืฉื” ืื•ื™ืฃ ื“ืขื ื‘ืึทื ื“. ื“ืึธืก ืื™ื– ื•ื•ื™ื™ึทืœ RBAC ื“ืขืจืœื•ื™ื‘ืขื ื™ืฉ ื˜ืฉืขืงืก ื–ืขื ืขืŸ ื’ืขื•ื•ืขื ื“ื˜ ืฆื• ื“ื™ ืงืึธื ื˜ืจืึธืœืœืขืจ ื•ื•ืึธืก ืงืจื™ื™ื™ืฅ ื“ื™ ืคึผื•ื•ืง, ื ื™ืฉื˜ ืฆื• ื“ืขืจ ื‘ืึทื ื™ืฆืขืจ. ื“ืึธืก ืื™ื– ื“ืขืจ ื”ื•ื™ืคึผื˜ ืขื ื“ืขืจื•ื ื’ ืฆื• ืœื™ื™ื’ืŸ ืฆื• ื“ื™ื™ืŸ ื—ืฉื‘ื•ืŸ, ืื™ื™ื“ืขืจ ื’ืขื‘ืŸ ื“ืขื ืฉื˜ืจื™ืš ืื•ื™ืฃ ืงืœืึทืกื˜ืขืจื– ื•ื•ื• ืึทื ื˜ืจืึทืกื˜ื™ื“ ื ื™ืฆืขืจืก ื–ืึธืœ ื ื™ืฉื˜ ื”ืึธื‘ืŸ ืจืขื›ื˜ ืฆื• ืฉืึทืคึฟืŸ ื•ื•ืึทืœื™ื•ืžื–.

ื‘ื™ื™ึทืฉืคึผื™ืœ

ื‘ืึทื–ื•ื ื“ืขืจ ืฆื•ื•ื™ื™ึทื’ PMEM-CSI ื›ึผื•ืœืœ ืึทืœืข ื“ื™ ื ื•ื™ื˜ื™ืง ืขื ื“ืขืจื•ื ื’ืขืŸ ืฆื• ืœื•ื™ืคืŸ ืึท Kubernetes 1.19 ืงื ื•ื™ืœ ืื™ืŸ QEMU ื•ื•ื™ืจื˜ื•ืึทืœ ืžืืฉื™ื ืขืŸ ืžื™ื˜ ืึทืœืข ื“ื™ ืคึฟืขื™ึดืงื™ื™ื˜ืŸ ืื™ืŸ ื“ื™ ืึทืœืฃ ื‘ื™ื ืข. ื“ืขืจ ืฉืึธืคืขืจ ืงืึธื“ ืื™ื– ื ื™ืฉื˜ ืคืืจืขื ื“ืขืจื˜, ื ืึธืจ ื“ื™ ื“ื™ืคึผืœื•ื™ืžืึทื ื˜ ืื™ื– ื’ืขื‘ื™ื˜ืŸ.

ืื•ื™ืฃ ืึท ืคึผืึทืกื™ืง ืžืึทืฉื™ืŸ (ืœื™ื ื•ืงืก, ืึท ื ืึธืจืžืึทืœ ื‘ืึทื ื™ืฆืขืจ ืงืขื ืขืŸ ื ื•ืฆืŸ ื“ืึธืงืงืขืจ, ืงื•ืง ื“ืึธ ื“ืขื˜ืึทื™ืœืก) ื“ื™ ืงืึทืžืึทื ื“ื– ื‘ืจืขื ื’ืขืŸ ืึทืจื•ื™ืฃ ื“ื™ ืงื ื•ื™ืœ ืื•ืŸ ื™ื ืกื˜ืึทืœื™ืจืŸ ื“ื™ PMEM-CSI ืฉืึธืคืขืจ:

git clone --branch=kubernetes-1-19-blog-post https://github.com/intel/pmem-csi.git
cd pmem-csi
export TEST_KUBERNETES_VERSION=1.19 TEST_FEATURE_GATES=CSIStorageCapacity=true,GenericEphemeralVolume=true TEST_PMEM_REGISTRY=intel
make start && echo && test/setup-deployment.sh

ื ืึธืš ืึทืœืฅ ืึทืจื‘ืขื˜, ื“ืขืจ ืจืขื–ื•ืœื˜ืึทื˜ ื•ื•ืขื˜ ืึทื ื˜ื”ืึทืœื˜ืŸ ื™ื ืกื˜ืจืึทืงืฉืึทื ื– ืคึฟืึทืจ ื ื•ืฆืŸ:

The test cluster is ready. Log in with [...]/pmem-csi/_work/pmem-govm/ssh.0, run
kubectl once logged in.  Alternatively, use kubectl directly with the
following env variable:
   KUBECONFIG=[...]/pmem-csi/_work/pmem-govm/kube.config

secret/pmem-csi-registry-secrets created
secret/pmem-csi-node-secrets created
serviceaccount/pmem-csi-controller created
...
To try out the pmem-csi driver ephemeral volumes:
   cat deploy/kubernetes-1.19/pmem-app-ephemeral.yaml |
   [...]/pmem-csi/_work/pmem-govm/ssh.0 kubectl create -f -

CSIStorageCapacity ืึทื‘ื“ื–ืฉืขืงืฅ ื–ืขื ืขืŸ ื ื™ืฉื˜ ืžืขื ื˜ ืฆื• ื–ื™ื™ืŸ ืœื™ื™ืขื ืขืŸ ื“ื•ืจืš ื™ื•ืžืึทื ื–, ืึทื–ื•ื™ ืขื˜ืœืขื›ืข ืคึผืจืึทืกืขืกื™ื ื’ ืื™ื– ืคืืจืœืื ื’ื˜. Golang ืžื•ืกื˜ืขืจ ืคื™ืœื˜ืขืจืก ื•ื•ืขื˜ ื•ื•ื™ื™ึทื–ืŸ ื“ื™ ืกื˜ืึธืจื™ื“ื–ืฉ ืงืœืืกืŸ, ื“ืขื ื‘ื™ื™ึทืฉืคึผื™ืœ ื•ื•ืขื˜ ื•ื•ื™ื™ึทื–ืŸ ื“ื™ ื ืึธืžืขืŸ, ื˜ืึทืคึผืึทืœืึทื“ื–ืฉื™ ืื•ืŸ ืงืึทืคึผืึทืฆื™ื˜ืขื˜:

$ kubectl get 
        -o go-template='{{range .items}}{{if eq .storageClassName "pmem-csi-sc-late-binding"}}{{.metadata.name}} {{.nodeTopology.matchLabels}} {{.capacity}}
{{end}}{{end}}' 
        csistoragecapacities
csisc-2js6n map[pmem-csi.intel.com/node:pmem-csi-pmem-govm-worker2] 30716Mi
csisc-sqdnt map[pmem-csi.intel.com/node:pmem-csi-pmem-govm-worker1] 30716Mi
csisc-ws4bv map[pmem-csi.intel.com/node:pmem-csi-pmem-govm-worker3] 30716Mi

ื ืื™ื™ืŸ ื›ื™ื™ืคืขืฅ ื”ืื˜ ื“ื™ ืคืืœื’ืขื ื“ืข ืื™ื ื”ืึทืœื˜:

$ kubectl describe csistoragecapacities/csisc-6cw8j
Name:         csisc-sqdnt
Namespace:    default
Labels:       <none>
Annotations:  <none>
API Version:  storage.k8s.io/v1alpha1
Capacity:     30716Mi
Kind:         CSIStorageCapacity
Metadata:
  Creation Timestamp:  2020-08-11T15:41:03Z
  Generate Name:       csisc-
  Managed Fields:
    ...
  Owner References:
    API Version:     apps/v1
    Controller:      true
    Kind:            StatefulSet
    Name:            pmem-csi-controller
    UID:             590237f9-1eb4-4208-b37b-5f7eab4597d1
  Resource Version:  2994
  Self Link:         /apis/storage.k8s.io/v1alpha1/namespaces/default/csistoragecapacities/csisc-sqdnt
  UID:               da36215b-3b9d-404a-a4c7-3f1c3502ab13
Node Topology:
  Match Labels:
    pmem-csi.intel.com/node:  pmem-csi-pmem-govm-worker1
Storage Class Name:           pmem-csi-sc-late-binding
Events:                       <none>

ืœืึธืžื™ืจ ืคึผืจื•ื‘ื™ืจืŸ ืฆื• ืฉืึทืคึฟืŸ ืึท ื“ืขืžืึธ ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ ืžื™ื˜ ืึท ื™ืคืขืžืขืจืึทืœ ื‘ืึทื ื“ ืคื•ืŸ ืื™ื™ืŸ ื’ืขื ืขืจืึทืœ ืฆื™ืœ. ื˜ืขืงืข ืื™ื ื”ืึทืœื˜ pmem-app-ephemeral.yaml:

# This example Pod definition demonstrates
# how to use generic ephemeral inline volumes
# with a PMEM-CSI storage class.
kind: Pod
apiVersion: v1
metadata:
  name: my-csi-app-inline-volume
spec:
  containers:
    - name: my-frontend
      image: intel/pmem-csi-driver-test:v0.7.14
      command: [ "sleep", "100000" ]
      volumeMounts:
      - mountPath: "/data"
        name: my-csi-volume
  volumes:
  - name: my-csi-volume
    ephemeral:
      volumeClaimTemplate:
        spec:
          accessModes:
          - ReadWriteOnce
          resources:
            requests:
              storage: 4Gi
          storageClassName: pmem-csi-sc-late-binding

ื ืึธืš ืงืจื™ื™ื™ื˜ื™ื ื’, ื•ื•ื™ ื’ืขื•ื•ื™ื–ืŸ ืื™ืŸ ื“ื™ ื™ื ืกื˜ืจืึทืงืฉืึทื ื– ืื•ื™ื‘ืŸ, ืžื™ืจ ืื™ืฆื˜ ื”ืึธื‘ืŸ ืึทืŸ ื ืึธืš ืคึผืึธื“ ืื•ืŸ ืคึผื•ื•ืง:

$ kubectl get pods/my-csi-app-inline-volume -o wide
NAME                       READY   STATUS    RESTARTS   AGE     IP          NODE                         NOMINATED NODE   READINESS GATES
my-csi-app-inline-volume   1/1     Running   0          6m58s   10.36.0.2   pmem-csi-pmem-govm-worker1   <none>           <none>
$ kubectl get pvc/my-csi-app-inline-volume-my-csi-volume
NAME                                     STATUS   VOLUME                                     CAPACITY   ACCESS MODES   STORAGECLASS               AGE
my-csi-app-inline-volume-my-csi-volume   Bound    pvc-c11eb7ab-a4fa-46fe-b515-b366be908823   4Gi        RWO            pmem-csi-sc-late-binding   9m21s

ืคึผื•ื•ืง ื‘ืึทื–ื™ืฆืขืจ - ืื•ื ื˜ืขืจ:

$ kubectl get -o yaml pvc/my-csi-app-inline-volume-my-csi-volume
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  annotations:
    pv.kubernetes.io/bind-completed: "yes"
    pv.kubernetes.io/bound-by-controller: "yes"
    volume.beta.kubernetes.io/storage-provisioner: pmem-csi.intel.com
    volume.kubernetes.io/selected-node: pmem-csi-pmem-govm-worker1
  creationTimestamp: "2020-08-11T15:44:57Z"
  finalizers:
  - kubernetes.io/pvc-protection
  managedFields:
    ...
  name: my-csi-app-inline-volume-my-csi-volume
  namespace: default
  ownerReferences:
  - apiVersion: v1
    blockOwnerDeletion: true
    controller: true
    kind: Pod
    name: my-csi-app-inline-volume
    uid: 75c925bf-ca8e-441a-ac67-f190b7a2265f
...

ื“ืขืจื•ื•ืึทืจื˜ ื“ืขืจื”ื™ื™ึทื ื˜ื™ืงื˜ ืื™ื ืคึฟืึธืจืžืึทืฆื™ืข ืคึฟืึทืจ pmem-csi-pmem-govm-worker1:

csisc-2js6n map[pmem-csi.intel.com/node:pmem-csi-pmem-govm-worker2] 30716Mi
csisc-sqdnt map[pmem-csi.intel.com/node:pmem-csi-pmem-govm-worker1] 26620Mi
csisc-ws4bv map[pmem-csi.intel.com/node:pmem-csi-pmem-govm-worker3] 30716Mi

ืื•ื™ื‘ ืืŸ ืื ื“ืขืจ ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ ื“ืึทืจืฃ ืžืขืจ ื•ื•ื™ 26620ืžื™, ื“ื™ ืกืงืขื“ื–ืฉื•ืœืขืจ ื•ื•ืขื˜ ื ื™ืฉื˜ ื ืขืžืขืŸ ืื™ืŸ ื—ืฉื‘ื•ืŸ pmem-csi-pmem-govm-worker1 ืื™ืŸ ืงื™ื™ืŸ ืคืึทืœ.

ื•ื•ืึธืก ืก ื•ื•ื™ื™ึทื˜ืขืจ?

ื‘ื™ื™ื“ืข ืคึฟืขื™ึดืงื™ื™ื˜ืŸ ื–ืขื ืขืŸ ื ืึธืš ืื™ืŸ ืึทื ื˜ื•ื•ื™ืงืœื•ื ื’. ืขื˜ืœืขื›ืข ืึทืคึผืœืึทืงื™ื™ืฉืึทื ื– ื–ืขื ืขืŸ ื’ืขืขืคื ื˜ ื‘ืขืฉืึทืก ืึทืœืฃ ื˜ืขืกื˜ื™ื ื’. ื“ื™ ืคึฟืึทืจื‘ืขืกืขืจื•ื ื’ ืคืึธืจืฉืœืึธื’ ืคึฟืึทืจื‘ื™ื ื“ื•ื ื’ืขืŸ ื“ืึธืงื•ืžืขื ื˜ ื“ื™ ืึทืจื‘ืขื˜ ื•ื•ืึธืก ื“ืึทืจืฃ ื–ื™ื™ืŸ ื’ืขื˜ืืŸ ืฆื• ืึทืจื™ื‘ืขืจืคื™ืจืŸ ืฆื• ื“ื™ ื‘ื™ืชื ื‘ื™ื ืข, ื•ื•ื™ ื’ืขื–ื•ื ื˜ ื•ื•ื™ ื•ื•ืึธืก ืึทืœื˜ืขืจื ืึทื˜ื™ื•ื•ืขืก ื”ืึธื‘ืŸ ืฉื•ื™ืŸ ื‘ืึทื˜ืจืึทื›ื˜ ืื•ืŸ ืคืืจื•ื•ืืจืคืŸ:

ืžืงื•ืจ: www.habr.com

ืœื™ื™ื’ืŸ ืึท ื‘ืึทืžืขืจืงื•ื ื’