เบเบฑเบเปเบเปเบเปเบงเบฅเบฒเบเบตเป Kubernetes เบเบฑเบ v1.0.0, เบกเบต plugins เบเบฐเบฅเบดเบกเบฒเบ. เบเบงเบเปเบเบปเบฒเบเปเบญเบเบเบฒเบเปเบเบทเปเบญเปเบเบทเปเบญเบกเบเปเปเบฅเบฐเบเบปเบเบเบฑเบ Kubernetes เบชเปเบฒเบฅเบฑเบเบเบฒเบเปเบเบฑเบเบฎเบฑเบเบชเบฒเบเปเปเบกเบนเบเบเบฑเบเบเบธ (เบเบฒเบงเบญเบ) เบเบปเบเบเบตเป. เบเปเบฒเบเบงเบเบเบญเบเบเบงเบเปเบเบปเบฒเปเบกเปเบเบเปเบญเบ, เปเบฅเบฐเปเบเบเบฑเบเบเบฒเบเบนเปเบเปเบฒเบญเบดเบเปเบกเปเบเบเบนเปเปเบซเปเบเปเบฅเบดเบเบฒเบเปเบเบฑเบเบฎเบฑเบเบชเบฒเปเบเบฑเปเบ GCE PD, Ceph, AWS EBS เปเบฅเบฐเบญเบทเปเบเป.
เบเบฑเปเบเบญเบดเบเบเบทเบเบเบฑเบเบชเบปเปเบเบเปเบญเบกเบเบฑเบ Kubernetes, เบเบฑเปเบเปเบกเปเบเปเบซเบเบเบปเบเบเบตเปเบเบงเบเปเบเบปเบฒเปเบเปเบฎเบฑเบเบเบทเป - in-tree. เบขเปเบฒเบเปเบเบเปเบเบฒเบก, เบชเปเบฒเบฅเบฑเบเบเปเบฒเบเบงเบเบซเบผเบฒเบ, เบเบธเบเบเบตเปเบกเบตเบขเบนเปเปเบฅเปเบงเบเบญเบ plugins เบเบฑเปเบเบเปเบฒเบงเปเบเปเบซเบฑเบเบญเบญเบเบเปเปเบเบฝเบเบเป. เบเปเบฒเบเบซเบฑเบเบเบฐเบเปเบฒเปเบเปเปเบเบตเปเบก plugins เบเปเบฒเบเปเปเบชเปเบซเบผเบฑเบ Kubernetes เปเบเบเปเบเป patches, เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบเบงเบเปเบเบปเบฒเบเบฐเบเบญเบ Kubernetes เบเบญเบเบเบปเบเปเบญเบเปเบฅเบฐเบเบดเบเบเบฑเปเบเบกเบฑเบเบขเบนเปเปเบเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบเบเบญเบเบเบงเบเปเบเบปเบฒ. เปเบเปเปเบกเบทเปเบญเปเบงเบฅเบฒเบเปเบฒเบเปเบ, เบเบนเปเบเบฑเบเบเบฐเบเบฒ Kubernetes เปเบเปเบฎเบฑเบเบฎเบนเปเบชเบดเปเบเบเบฑเปเบ เบเบฒ เบเบฑเบเบซเบฒเบเปเปเบชเบฒเบกเบฒเบเปเบเปเปเบเปเบเป. เบเบฐเบเบฒเบเบปเบเบเปเบญเบเบเบฒเบ เบเบฑเบโเปเบเบฑเบ. เปเบฅเบฐเปเบเบเบฒเบเบเปเบญเบ Kubernetes v1.2.0 เบกเบฑเบเบเบฒเบเบปเบเบงเปเบฒ ...
เบเบฑเปเบเบญเบดเบ Flexvolume: เบเปเปเบซเบฒเบเบฒเปเปเบญเบเบเบตเปเบชเบธเบ
เบเบฑเบเบเบฑเบเบเบฐเบเบฒ Kubernetes เปเบเปเบชเปเบฒเบเบเบฅเบฑเบเบญเบดเบ FlexVolume, เปเบเบดเปเบเปเบเบฑเบเบเบญเบเบเบตเปเบกเบตเปเบซเบเบเบปเบเบเบญเบเบเบปเบงเปเบ เปเบฅเบฐเบงเบดเบเบตเบเบฒเบเปเบฎเบฑเบเบงเบฝเบเบเบฑเบเปเบเปเบงเบต Flexvolume เบเบตเปเบเบฐเบเบดเบเบฑเบเปเบเบเบเบนเปเบเบฑเบเบเบฐเบเบฒเบเบฒเบเบชเปเบงเบเบเบตเบชเบฒเบก.
เปเบซเปเบขเบธเบเปเบเบปเบฒเปเบฅเบฐเปเบเบดเปเบเบขเปเบฒเบเปเบเปเบเบดเบเบเปเบฝเบงเบเบฑเบเบชเบดเปเบเบเบตเปเปเบเปเบงเบต FlexVolume เปเบกเปเบเบซเบเบฑเบ. เบเบตเปเปเบกเปเบเปเบเปเบเบญเบ เปเบเบฅเปเบเบตเปเบชเบฒเบกเบฒเบเบเบฐเบเบดเบเบฑเบเปเบเป (เปเบเบฅเป binary, Python script, Bash script, เปเบฅเบฐเบญเบทเปเบเป), เปเบเบดเปเบ, เปเบกเบทเปเบญเบเบฐเบเบดเบเบฑเบ, เปเบญเบปเบฒ arguments เปเบชเบฑเปเบเบเปเบฒเบชเบฑเปเบเปเบเบฑเบเบเบฒเบเบเปเบญเบเบเปเปเบกเบนเบเปเบฅเบฐเบชเบปเปเบเบเบทเบเบเปเปเบเบงเบฒเบกเบเบตเปเบกเบตเบเปเบญเบเบเปเปเบกเบนเบเปเบเบทเปเบญเบเบเบปเปเบเปเบเบฎเบนเบเปเบเบ JSON. เปเบเบเบชเบปเบเบเบดเบชเบฑเบเบเบฒ, เบเบฒเบเปเบเปเบเบฝเบเปเบเบงเบเปเบฒเบชเบฑเปเบเบเปเบฒเบญเบดเบเปเบกเปเบเบงเบดเบเบตเบเบฒเบเบชเบฐเปเบซเบกเบต, เปเบฅเบฐเบเบฒเบเปเบเปเบเบฝเบเบเบตเปเบเบฑเบเปเบซเบผเบทเบญเปเบกเปเบเบเบปเบงเบเปเบฒเบเบปเบเบเบฒเบเบเบญเบเบกเบฑเบ.
เปเบเบเบงเบฒเบเบเบฒเบเปเบเบทเปเบญเบกเบเปเปเบชเปเบฒเบฅเบฑเบเบฎเบธเปเบ CIFS เปเบ OpenShift. Flexvolume Driver - เบชเบดเบเบขเบนเปเปเบเบชเบนเบ
เบเบธเบเบงเบดเบเบตเบเบฒเบเบเบฑเปเบเบเปเปเบฒ เปเบเบดเปเบเบเบทเบงเปเบฒเบเบตเป:
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
เบเบฐเบเปเบฒเบเบปเบเบชเบฐเบเบฒเบเบฐเบเบฒเบเบเบตเป kubelet เบเบฐเบเบฐเบเบดเบเบฑเบเปเบเบญเบฐเบเบฒเบเบปเบเปเบเปเบงเบฅเบฒเบเบตเปเปเบเบซเบฒเบเบปเบเบเบฑเบ. เบเบฑเบเบกเบตเบงเบดเบเบตเบเบฒเบเบเบดเปเบชเบ expandvolume
ะธ expandfs
, เปเบเบดเปเบเบกเบตเบเบงเบฒเบกเบฎเบฑเบเบเบดเบเบเบญเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบฑเบเบเบฐเบซเบเบฒเบเบเบญเบเบเบฐเบฅเบดเบกเบฒเบ.
เปเบเบฑเบเบเบปเบงเบขเปเบฒเบเบเบญเบเบเบฒเบเบเปเบฝเบเปเบเบเบเบตเปเบงเบดเบเบตเบเบฒเบเปเบเบตเปเบก expandvolume
, เปเบฅเบฐเบเปเบงเบเบเบงเบฒเบกเบชเบฒเบกเบฒเบเปเบเบเบฒเบเบเบฑเบเบเบฐเบซเบเบฒเบเบเบฐเบฅเบดเบกเบฒเบเปเบเปเบงเบฅเบฒเบเบตเปเปเบเปเบเบดเบ, เบเปเบฒเบเบชเบฒเบกเบฒเบเบเบธเปเบเปเบเบตเบเบเบฑเบเบเบปเบงเบเปเบฒเบเปเบญเบ
เปเบฅเบฐเบเบตเปเปเบกเปเบเบเบปเบงเบขเปเบฒเบเบเบญเบเบเบฒเบเบเบฐเบเบดเบเบฑเบเปเบเปเบงเบต Flexvolume เบชเปเบฒเบฅเบฑเบเบเบฒเบเปเบฎเบฑเบเบงเบฝเบเบเบฑเบ NFS:
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
เบเบฑเปเบเบเบฑเปเบ, เบซเบผเบฑเบเบเบฒเบเบเบฒเบเบเบฐเบเบฝเบกเปเบเบฅเปเบเบฐเบเบดเบเบฑเบเบเบปเบงเบเบดเบ, เบเปเบฒเบเบเปเบฒเปเบเบฑเบเบเปเบญเบเปเบเป เบญเบฑเบเปเบซเบฅเบเปเบเปเบงเบตเปเบเบเบตเปเบเบธเปเบก Kubernetes. เปเบเปเบงเบตเบเปเบญเบเบเบฑเปเบเบขเบนเปเปเบเปเบเปเบฅเบฐ node cluster เบเบฒเบกเปเบชเบฑเปเบเบเบฒเบเบเบตเปเบเบณเบเบปเบเปเบงเปเบฅเปเบงเบเปเปเบฒ. เปเบเบเบเปเบฒเปเบฅเบตเปเบกเบเบปเปเบเบกเบฑเบเบเบทเบเปเบฅเบทเบญเบ:
/usr/libexec/kubernetes/kubelet-plugins/volume/exec/ะธะผั_ะฟะพััะฐะฒัะธะบะฐ_ั
ัะฐะฝะธะปะธัะฐ~ะธะผั_ะดัะฐะนะฒะตัะฐ/
... เปเบเปเปเบกเบทเปเบญเปเบเปเบเบฒเบเปเบเบเบขเบฒเบ Kubernetes เบเบตเปเปเบเบเบเปเบฒเบเบเบฑเบ (OpenShift, Rancher...) เปเบชเบฑเปเบเบเบฒเบเบญเบฒเบเบเบฐเปเบเบเบเปเบฒเบเบเบฑเบ.
เบเบฑเบโเบซเบฒ Flexvolumeโ: เบงเบดโเบเบตโเบเบฒเบโเปเบเบโเบเบนเปโเบเบฒโเบขเปเบฒเบโเบเบทเบโเบเปเบญเบโ?
เบเบฒเบเบญเบฑเบเปเบซเบฅเบเปเบเปเบงเบต Flexvolume เปเบเปเบชเปเบเบธเปเบกเบเบธเปเบกเปเบเปเบเบฒเบเบกเบฒเปเบเบฑเบเปเปเบฒเบงเบฝเบเบเบตเปเบเปเปเปเบกเปเบเปเบฅเบทเปเบญเบเปเบฅเบฑเบเบเปเบญเบ. เปเบเปเปเบฎเบฑเบเบเบฒเบเบเปเบฒเปเบเบตเบเบเบฒเบเบเปเบงเบเบเบปเบเปเบญเบเบเบฑเปเบเบเบฝเบง, เบกเบฑเบเบเปเบฒเบเบเบตเปเบเบฐเบเบปเบเบเบฑเบเบชเบฐเบเบฒเบเบฐเบเบฒเบเบเบตเป nodes เปเบซเบกเปเบเบฒเบเบปเบเบขเบนเปเปเบเบเบธเปเบก: เปเบเบทเปเบญเบเบเบฒเบเบเบฒเบเปเบเบตเปเบกเบเบญเบ node เปเบซเบกเป, เบเบฑเบเบเบฒเบกเปเบเบงเบเบญเบเบญเบฑเบเบเบฐเปเบเบกเบฑเบ, เบซเบผเบท - เบชเบดเปเบเบเบตเปเบฎเปเบฒเบเปเบฎเบเบเบงเปเบฒเปเบเบปเปเบฒ - เบเบฒเบเบเบปเบเปเบเบเบเบญเบ node เปเบเบทเปเบญเบเบเบฒเบ malfunction. เปเบเบเปเบฅเบฐเบเบตเบเบตเป, เบเบฒเบเปเบฎเบฑเบเบงเบฝเบเบเบฑเบเบเบฒเบเปเบเบฑเบเบฎเบฑเบเบชเบฒเปเบ nodes เปเบซเบผเบปเปเบฒเบเบตเปเบเบงเบเบเบฐเปเบฎเบฑเบ เปเบกเปเบเบเปเปเปเบเบฑเบเปเบเปเบเป, เบเบปเบเบเปเบงเบฒเบเปเบฒเบเบเบฑเบเปเบเบตเปเบกเปเบเปเบงเบต Flexvolume เบเปเบงเบเบเบปเบเปเบญเบ.
เบเบฒเบโเปเบเปโเปเบโเบเบฑเบโเบซเบฒโเบเบตเปโเปเบกเปเบโเบซเบเบถเปเบโเปเบโเบเบปเปเบโเบเป Kubernetes - DaemonSet
. เปเบกเบทเปเบญ node เปเปเปเบเบฒเบเบปเบเบขเบนเปเปเบเบเบธเปเบก, เบกเบฑเบเบเบฐเบกเบตเบเบฑเบเบเบฒเบ DaemonSet เบเบญเบเบเบงเบเปเบฎเบปเบฒเปเบเบเบญเบฑเบเบเบฐเปเบเบกเบฑเบ, เปเบเบดเปเบเบกเบตเบเบฐเบฅเบดเบกเบฒเบเบเปเบญเบเบเบดเปเบเบเบดเบเบขเบนเปเบเบฒเบกเปเบชเบฑเปเบเบเบฒเบเปเบเบทเปเบญเบเบญเบเบซเบฒเปเบเปเบงเบต Flexvolume. เปเบกเบทเปเบญเบชเปเบฒเบเบชเบณเปเบฅเบฑเบเปเบฅเปเบง, เบเบฑเบเบเบฐเบชเบณเปเบเบปเบฒเปเบเบฅเปเบเบตเปเบเบณเปเบเบฑเบเปเบเบทเปเบญเปเบซเปเปเบเปเบงเบตเปเบฎเบฑเบเบงเบฝเบเปเบชเปเปเบเปเบเบเบดเบ.
เบเบตเปเปเบกเปเบเบเบปเบงเบขเปเบฒเบเบเบญเบ DaemonSet เบชเปเบฒเบฅเบฑเบเบเบฒเบเบงเบฒเบ plugin 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>
... เปเบฅเบฐเบเบปเบงเบขเปเบฒเบเบเบญเบ Bash script เบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบฑเบเบงเบฒเบเปเบเปเบงเบต Flexvolume:
#!/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
เบกเบฑเบเปเบเบฑเบเบชเบดเปเบเบชเปเบฒเบเบฑเบเบเบตเปเบเบฐเบเปเปเบฅเบทเบกเบงเปเบฒเบเบฒเบเบเปเบฒเปเบเบตเบเบเบฒเบเบชเปเบฒเปเบเบปเบฒ เบเปเปเปเบกเปเบเบเบฐเบฅเปเบฒเบกเบฐเบเบน. เบกเบตเปเบญเบเบฒเบเบชเบนเบเบเบตเป kubelet เบเบฐเปเบฅเบตเปเบกเปเบเปเปเบเปเบงเบตเบเปเบญเบเบเบตเปเบเบฐเบเบงเบเบเบฒเบเบเบฑเบเบซเบฒเบเบฐเบชเปเบฒเปเบฅเบฑเบ, เปเบฎเบฑเบเปเบซเปเบฅเบฐเบเบปเบเบเบฑเบเบเปเบญเบ. เบงเบดเบเบตเบเบฒเบเบเบตเปเบเบทเบเบเปเบญเบเปเบกเปเบเบเปเบฒเบญเบดเบเบเบฑเบเบฅเบญเบเปเบเบฅเปเปเบเปเบงเบตเบเบฒเบเปเบเปเบเบทเปเบญเบทเปเบ, เปเบฅเบฐเบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบเปเบฒเปเบเปเบเบฒเบเบเปเบฝเบเบเบทเปเบเบฐเบฅเปเบฒเบกเบฐเบเบน.
เปเบเบเบงเบฒเบเบเบญเบเบเบฒเบเปเบฎเบฑเบเบงเบฝเบเบเบฑเบ Ceph เปเบ Rook operator: เปเบเปเบงเบต Flexvolume เปเบเปเบเบเบงเบฒเบเปเบกเปเบเบเบฑเปเบเบขเบนเปเบเบฒเบเปเบเบเบปเบงเปเบเบ Rook
เบเบฑเบเบซเบฒเบเปเปเปเบเปเบเปเบงเบฅเบฒเบเบตเปเปเบเปเปเบเปเบงเบต Flexvolume เปเบกเปเบเบงเปเบฒเบชเปเบฒเบฅเบฑเบเบเบฒเบเปเบเบฑเบเบฎเบฑเบเบชเบฒเบชเปเบงเบเปเบซเบเปเปเบ node cluster เบเบญเบเปเบงเบเบตเปเบเปเบฒเปเบเบฑเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบตเปเบเปเบญเบเปเบเปเบฎเบฑเบเบเบฒเบเบเบดเบเบเบฑเปเบ (เบเบปเบงเบขเปเบฒเบ, เบเบธเบ ceph-เบเบปเปเบงเปเบเบชเปเบฒเบฅเบฑเบ Ceph). เปเบเปเบเบทเปเบญเบเบเบปเปเบ, plugin Flexvolume เบเปเปเปเบเปเบเบทเบเบญเบญเบเปเบเบเบกเบฒเปเบเบทเปเบญเบเบฐเบเบดเบเบฑเบเบฅเบฐเบเบปเบเบชเบฐเบฅเบฑเบเบชเบฑเบเบเปเบญเบเบเบฑเปเบเบเปเบฒเบง.
เบเบฒเบเปเบเปเปเบเบเบปเปเบเบชเบฐเบเบฑเบเบเบญเบเบเบฑเบเบซเบฒเบเบตเปเบชเบฒเบกเบฒเบเปเบซเบฑเบเปเบเปเปเบเบเบฒเบเบเบฐเบเบดเบเบฑเบเปเบเปเบงเบต Flexvolume เบเบญเบเบเบนเปเบเบฐเบเบดเบเบฑเบเบเบฒเบ Rook:
เปเบเปเบงเบตเบเบปเบงเบกเบฑเบเปเบญเบเบเบทเบเบญเบญเบเปเบเบเบกเบฒเปเบเบฑเบเบฅเบนเบเบเปเบฒ RPC. เปเบเบปเปเบฒเบฎเบฑเบ IPC เบชเปเบฒเบฅเบฑเบเบเบฒเบเบชเบทเปเบชเบฒเบเปเบกเปเบเบเบฑเปเบเบขเบนเปเปเบเปเบเปเบฅเบเบฐเบเปเบฅเบตเบเบฝเบงเบเบฑเบเบเบฑเบเบเบปเบงเบเบฑเบเปเบญเบ. เบเบงเบเปเบฎเบปเบฒเบเบทเปเปเบงเปเบงเปเบฒเปเบเบทเปเบญเบเบฑเบเบฅเบญเบเปเบเบฅเปเปเบเปเบงเบตเบกเบฑเบเบเบฐเปเบเบฑเบเบเบฒเบเบเบตเบเบตเปเบเบฐเปเบเป DaemonSet, เปเบเบดเปเบเปเบเบทเปเบญเบกเบเปเปเปเบเปเบฅเบเบฐเบเปเบฅเบตเบเบฑเบเปเบเปเบงเบตเปเบเบฑเบเบเบฐเบฅเบดเบกเบฒเบ. เบซเบผเบฑเบเบเบฒเบเบเบฒเบเบเบฑเบเบฅเบญเบเปเบเบฅเปเปเบเปเบงเบต rook เบเบตเปเบเปเบฒเปเบเบฑเบ, เบเบฑเบเบเบตเปเบเปเปเบเบฒเบ, เปเบเปเปเบเบทเปเบญเบกเบเปเปเบเบฑเบเปเบเบปเปเบฒเบชเบฝเบ IPC เบเปเบฒเบเบเบฐเบฅเบดเบกเบฒเบเบเบตเปเบเบดเบเบเบฑเบเบกเบฒเปเบเบฑเบเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบ RPC เปเบเบฑเบกเบฎเบนเบเปเบเบ. เบเบธเบ ceph-common เปเบเปเบเบทเบเบเบดเบเบเบฑเปเบเบขเบนเปเปเบฅเปเบงเบเบฒเบเปเบเบเปเบญเบเบเบฑเบเบเบธเบเบฑเบ. เปเบเบปเปเบฒเบฎเบฑเบ IPC เบฎเบฑเบเบเบฐเบเบฑเบเบงเปเบฒ kubelet เบเบฐเบเบดเบเบเปเปเบชเบทเปเบชเบฒเบเบเบฑเบเบเบฑเบเบเบตเปเบเบฑเปเบเบขเบนเปเปเบ node เบเบฝเบงเบเบฑเบ. เบเบธเบเบชเบดเปเบเบเบธเบเบขเปเบฒเบ ingenious เปเบกเปเบเบเปเบฒเบเบเบฒเบ!..
เบชเบฐเบเบฒเบเบเบต, เบเบตเปเบฎเบฑเบเปเบเบเบเบญเบเบเบงเบเปเบฎเบปเบฒ... plugins in-tree!
เบเบฑเบเบเบฑเบเบเบฐเบเบฒ Kubernetes เบเบปเปเบเบเบปเบเบงเปเบฒเบเปเบฒเบเบงเบเบเบญเบ plugins เบชเปเบฒเบฅเบฑเบเบเบฒเบเปเบเบฑเบเบฎเบฑเบเบชเบฒเบเบฒเบเปเบเบซเบผเบฑเบเปเบกเปเบเบเบฒเบง. เปเบฅเบฐเบเบฒเบเบเปเบฝเบเปเบเบเปเบเปเบเปเบฅเบฐเบเบงเบเบกเบฑเบ, เบเปเปเบเบฒเบเปเบเบเบฒเบเปเบถเปเบ, เบเบฐเบเปเบฒเบเบฎเบญเบเบเบฒเบเบเปเบญเบ Kubernetes เปเบเบฑเบกเบฎเบนเบเปเบเบ.
เบกเบฑเบ turns เปเบซเปโเปเบซเบฑเบโเบงเปเบฒโเบเบฒเบโเบเปเบฒโเปเบเปโเบชเบฐโเบเบฑเบโเปเบซเบกเปโเบเบญเบ plugin เบเบฒเบโเปเบเบฑเบโเบฎเบฑเบโเบชเบฒโ, เบเปเบฒเบเบเปเบฒเปเบเบฑเบเบเปเบญเบเบเบฑเบเบเบธเบเบเบธเปเบกเบเบฑเบเบซเบกเบปเบ. เบเบญเบเปเบซเบเบทเบญเปเบเบเบฒเบเบเบตเป, เบเปเบฒเบเบญเบฒเบเบเบฐเบเบปเบเบเบฐเบฅเบถเบเบงเปเบฒ Kubernetes เบฎเบธเปเบเปเบซเบกเปเบเปเปเบเบฐเบเบฒเบเปเบเบฑเบเบเบตเปเบเปเปเปเบเบปเปเบฒเบเบฑเบเปเบเปเบเบฑเบ Linux kernel เบเบตเปเบเปเบฒเบเบเปเบฒเบฅเบฑเบเปเบเป ... เบเบฑเปเบเบเบฑเปเบเบเปเบฒเบเปเบเบฑเบเบเปเปเบฒเบเบฒเบเบญเบเบเปเบฒเบเปเบฅเบฐ, เบเบฑเบเปเบเปเบง, เบเบฐเบชเบฒเบเบเบฒเบเบเบฑเบเบเบฒเบเบเบธเปเบกเบเบญเบเปเบฅเบฐเบเบนเปเปเบเปเบเบญเบเบเปเบฒเบ. เบญเบฑเบเปเบเบ kernel Linux เปเบฅเบฐเบเบธเปเบก Kubernetes. เบเปเบงเบเบเบฒเบเบขเบธเบเปเบงเบฅเบฒเบเบตเปเปเบเบฑเบเปเบเปเบเปเปเบเบเบฒเบเบชเบฐเบซเบเบญเบเบเบฒเบเบเปเบฅเบดเบเบฒเบ.
เบชเบฐเบเบฒเบเบฐเบเบฒเบเปเบกเปเบเบซเบผเบฒเบเบเบงเปเบฒเบเบฐเบซเบฅเบปเบ, เปเบเบปเปเบฒเบเบดเบเบเป? เบกเบฑเบเปเบเปเบเบฒเบเปเบเบฑเบเบเบตเปเบเบฐเปเบเปเบเบเปเปเบเบธเบกเบเบปเบเบเบฑเบเบซเบกเบปเบเบงเปเบฒเบงเบดเบเบตเบเบฒเบเบเบฑเปเบเบเปเบฒเบงเบเปเปเปเบเปเบเบปเบ. เปเบเบเบเบฒเบเบเบฑเบเบชเบดเบเปเบเบเบตเปเบเบฑเปเบเปเบ, เบเบนเปเบเบฑเบเบเบฐเบเบฒ Kubernetes เบเบฐเบเบฒเบเบงเปเบฒเบเบฅเบฑเบเบญเบดเบเปเบซเบกเปเบชเปเบฒเบฅเบฑเบเบเบฒเบเปเบฎเบฑเบเบงเบฝเบเบเบฑเบเบเปเบญเบเปเบเบฑเบเบกเปเบฝเบเบเบฐเบเปเปเบเบทเบเบเบญเบกเบฎเบฑเบเปเบเบปเปเบฒเปเบ kernel เบญเบตเบเบเปเปเปเบ. เบเบญเบเบเบฒเบเบเบฑเปเบ, เบเบฑเปเบเบเบตเปเบเบงเบเปเบฎเบปเบฒเบฎเบนเปเปเบฅเปเบง, เบเปเปเบเบปเบเบเปเบญเบเบเปเบฒเบเบงเบเบซเบเบถเปเบเปเบเปเบเบทเบเบเปเบฒเบเบปเบเปเบเบเบฒเบเบเบฐเบเบดเบเบฑเบเบเบญเบ plugin Flexvolume ...
เบเบฑเปเบเบญเบดเบเบเบตเปเปเบเบตเปเบกเบซเบผเปเบฒเบชเบธเบเบชเปเบฒเบฅเบฑเบเบเบฐเบฅเบดเบกเบฒเบเปเบ Kubernetes, CSI, เปเบเปเบเบทเบเบฎเบฝเบเบฎเปเบญเบเปเบซเปเบเบดเบเบเบฑเบเบซเบฒเบเปเบงเบเบเบฒเบเปเบเบฑเบเบฎเบฑเบเบชเบฒเบเปเปเบกเบนเบเบขเปเบฒเบเบเปเปเปเบเบทเปเบญเบเบเบฑเปเบเบเบฝเบงเปเบฅเบฐเบชเปเบฒเบฅเบฑเบเบเบฑเบเบซเบกเบปเบ. เบฎเบธเปเบ alpha เบเบญเบเบกเบฑเบ, เบเบทเบเปเบญเบตเปเบเบงเปเบฒ Out-of-Tree CSI Volume Plugins, เปเบเปเบเบทเบเบเบฐเบเบฒเบเปเบเบเบฒเบเบเปเบญเบ
เบเบฒเบเปเบเปเบเบญเบเบเบฒเบเปเบเบฑเบเบฎเบฑเบเบชเบฒเบเบนเปเบเบญเบเปเบเบเปเบเบต, เบซเบผเบท CSI 3000 spinning rod!
เบเปเบญเบเบญเบทเปเบ เปเบปเบ, เบเปเบฒเบเบฐเปเบเบปเปเบฒเบขเบฒเบเบชเบฑเบเปเบเบเบงเปเบฒ CSI เบเปเปเบเบฝเบเปเบเปเปเบเบฑเบ plugin เบเบฐเบฅเบดเบกเบฒเบ, เปเบเปเปเบเบฑเบเบเบดเบ
เปเบเบเบชเปเบฒเบเบเบญเบ plugin CSI เปเบ Kubernetes เปเบกเปเบเบซเบเบฑเบ? plugin CSI เปเบฎเบฑเบเบงเบฝเบเบเบฑเบเปเบเปเบงเบตเบเบดเปเบชเบ (เปเบเปเบงเบต CSI) เบเบฝเบเปเบเบเบเบนเปเบเบฑเบเบเบฐเบเบฒเบเบฒเบเบชเปเบงเบเบเบตเบชเบฒเบก. เปเบเปเบงเบต CSI เปเบ Kubernetes เบเบงเบเบกเบตเบขเปเบฒเบเปเปเบญเบเบชเบญเบเบญเบปเบเบเบฐเบเบญเบ (เบเบฑเบ):
- เบเบฒเบเบเบงเบเบเบธเบก โ เบเบธเปเบกโเบเบญเบโเบเบฒเบโเปเบเบฑเบโเบฎเบฑเบโเบชเบฒโเบเบตเปโเบเบปเบโเบเปเบฒเบโเบเบฒเบโเบเบญเบโ. เบกเบฑเบเบเบทเบเบเบฐเบเบดเบเบฑเบเปเบเบฑเบเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบ gRPC, เปเบเบดเปเบเบเบทเปเบเบเบฒเบเบเบทเบเบเปเบฒเปเบเป
StatefulSet
. - node โ เบฎเบฑเบเบเบดเบเบเบญเบเบเปเปเบเบฒเบเบเบดเบเบเบฑเปเบเบเปเบญเบเปเบเบฑเบเบเปเปเบกเบนเบเบเบปเบเบเบตเปเปเบชเปเบเบฑเบ nodes cluster. เบกเบฑเบเบเบฑเบเบเบทเบเบเบฐเบเบดเบเบฑเบเปเบเบฑเบเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบ gRPC, เปเบเปเบกเบฑเบเปเบเป primitive
DaemonSet
.
Plugin CSI เปเบฎเบฑเบเบงเบฝเบเปเบเบงเปเบเปเบ Kubernetes
เบเปเบฒเบเบชเบฒเบกเบฒเบเบฎเบฝเบเบฎเบนเปเบเปเบฝเบงเบเบฑเบเบฅเบฒเบเบฅเบฐเบญเบฝเบเบญเบทเปเบเปเบเบญเบเบงเบฝเบเบเบฒเบเบเบญเบ CSI, เบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบปเบเบเบปเบงเบขเปเบฒเบ, เบเบฒเบเบเบปเบเบเบงเบฒเบก "
เบเปเปเบเบตเบเบญเบเบเบฒเบเบเบฑเบเบเบฑเปเบเบเบฐเบเบดเบเบฑเบเบเบฑเปเบเบเปเบฒเบง
- เบชเปเบฒเบฅเบฑเบเบชเบดเปเบเบเบทเปเบเบเบฒเบเปเบเบฑเปเบเบเบฒเบเบฅเบปเบเบเบฐเบเบฝเบเปเบเปเบงเบตเบชเปเบฒเบฅเบฑเบ node, เบเบนเปเบเบฑเบเบเบฐเบเบฒ Kubernetes เปเบเปเบเบฐเบเบดเบเบฑเบเบเบธเบเบเบฑเบเบเบธ. เบเปเบฒเบเบเปเปเบเปเบฒเปเบเบฑเบเบเปเบญเบเบชเปเบฒเบเบเบฒเบเบเบญเบเบชเบฐเบซเบเบญเบ JSON เบเปเบงเบเบเบงเบฒเบกเบชเบฒเบกเบฒเบเบเบญเบเบเปเบฒเบเปเบญเบ, เบเบฑเปเบเบเบตเปเปเบเปเปเบฎเบฑเบเบชเปเบฒเบฅเบฑเบ plugin Flexvolume.
- เปเบเบเบเบตเปเบเบฐ "เปเบฅเบทเปเบญเบ" เปเบเบฅเปเบเบตเปเบเบฐเบเบดเบเบฑเบเปเบเปเปเบชเปเปเบซเบเบ, เบเบญเบเบเบตเปเบเบงเบเปเบฎเบปเบฒเบญเบฑเบเปเบซเบฅเบ pods เปเบชเปเบเบธเปเบก. เบเบตเปเปเบกเปเบเบชเบดเปเบเบเบตเปเบเบงเบเปเบฎเบปเบฒเบเบฒเบเบซเบงเบฑเบเปเบเปเบเบทเปเบญเบเบเบปเปเบเบเบฒเบ Kubernetes: เบเบฐเบเบงเบเบเบฒเบเบเบฑเบเบซเบกเบปเบเปเบเบตเบเบเบทเปเบเบเบฒเบเปเบเบเบฑเบเบเบธเบเบตเปเบเบทเบเบเปเบฒเปเบเปเปเบเบเปเบเป Kubernetes primitives.
- เบเปเบฒเบเบเปเปเบเปเบฒเปเบเบฑเบเบเปเบญเบเบเบฑเบเบเบฐเบเบฒเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบ RPC เปเบฅเบฐเบฅเบนเบเบเปเบฒ RPC เปเบเบทเปเบญเบเบฐเบเบดเบเบฑเบเปเบเปเบงเบตเบเบตเปเบชเบฑเบเบชเบปเบ. เบฅเบนเบเบเปเบฒเปเบเปเบเบทเบเบเบฐเบเบดเบเบฑเบเปเบซเปเบเบงเบเปเบฎเบปเบฒเปเบเบเบเบนเปเบเบฑเบเบเบฐเบเบฒ Kubernetes.
- เบเบฒเบเบเปเบฒเบเบเบญเบเบเบฒเบเปเบเปเบเบฝเบเปเบเบทเปเบญเปเบฎเบฑเบเบงเบฝเบเบเปเบฒเบเปเบเปเบเบเบญเบ gRPC เปเบกเปเบเบชเบฐเบเบงเบเบเบงเปเบฒ, เบกเบตเบเบงเบฒเบกเบเบทเบเบซเบเบธเปเบเปเบฅเบฐเปเบเบทเปเบญเบเบทเปเบเปเบซเบผเบฒเบเบเปเบงเบฒเบเบฒเบเบเปเบฒเบเบเบญเบเบเบงเบเบกเบฑเบเบเปเบฒเบเปเบชเบฑเปเบเบเปเบฒเบชเบฑเปเบ. เปเบเบทเปเบญเปเบเบปเปเบฒเปเบเบงเบดเบเบตเบเบฒเบเปเบเบตเปเบกเบเบฒเบเบชเบฐเบซเบเบฑเบเบชเบฐเบซเบเบนเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเบงเบฑเบเปเบเบเบเบฐเบฅเบดเบกเบฒเบเบเบฒเบเบเปเบฒเปเบเปเบเบฑเบ CSI เปเบเบเบเบฒเบเปเบเบตเปเบกเบงเบดเบเบตเบเบฒเบ gRPC เบกเบฒเบเบเบฐเบเบฒเบ, เบเปเบฒเบเบชเบฒเบกเบฒเบเบญเปเบฒเบ:
เบเบฒเบโเบฎเปเบญเบโเบเปโเบเบถเบโเบเบญเบโเบเบงเบโเปเบฎเบปเบฒโ เบชเปเบฒเบฅเบฑเบเบเบปเบเบเบฑเบ vsphere-csi. - เบเบฒเบเบชเบทเปเบชเบฒเบเปเบเบตเบเบเบถเปเบเบเปเบฒเบเบเบฑเบญเบเปเบเบฑเบ IPC, เปเบเบทเปเบญเบเปเปเปเบซเปเบชเบฑเบเบชเบปเบเบงเปเบฒ kubelet เบชเบปเปเบเบเปเบฒเบฎเปเบญเบเบเปเปเบเบซเบฒเบเบฑเบเบเบตเปเบเบทเบเบเปเบญเบ.
เบฅเบฒเบเบเบทเปเบเบตเปเปเบเบทเบญเบเปเบเบปเปเบฒเบเปเบฝเบงเบเบฑเบเบซเบเบฑเบเบเป? เบเปเปเบเบตเบเบญเบ CSI เปเบกเปเบ เปเบเปเปเบเบเบฑเบเบซเบฒเบเบฝเบงเบเบฑเบเบเบฑเปเบ, เปเบเบดเปเบเบเปเปเปเบเปเบเบทเบเบเบดเบเบฒเบฅเบฐเบเบฒเปเบเปเบงเบฅเบฒเบเบตเปเบเบฑเบเบเบฐเบเบฒ plugin Flexvolume.
เบเบฒเบเบเบปเปเบเบเบปเบ
CSI เปเบเบฑเบเบกเบฒเบเบเบฐเบเบฒเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบฐเบเบดเบเบฑเบ plugins เปเบเบเบเปเบฒเบเบปเบเปเบญเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบปเบงเบเบฑเบเบเบฑเบเบชเบฒเบเบเปเปเบกเบนเบเปเบเปเบฎเบฑเบเบเบฒเบเบเปเบญเบเบฎเบฑเบเบขเปเบฒเบเบญเบปเบเบญเบธเปเบเบเบฒเบเบเบธเบกเบเบปเบ. เบเบดเปเบเปเบเบเบงเปเบฒเบเบฑเปเบ, เปเบเบทเปเบญเบเบเบฒเบเบเปเปเปเบเปเบเบฝเบเปเบฅเบฐเบเบงเบฒเบกเบเปเบญเบเปเบเปเบงเบเบญเบเบเบงเบเปเบเบปเบฒ, เปเบเปเบงเบต CSI เปเบเปเบเบทเบเบชเปเบฒเบเบเบทเปเบเปเบเบดเบเปเบกเปเบเบงเปเบฒเบชเปเบฒเบฅเบฑเบเบฅเบฐเบเบปเบเบเบฒเบเปเบเบฑเบเบฎเบฑเบเบชเบฒเปเบเบฑเปเบ Ceph เบซเบผเบท AWS EBS, plugins เบชเปเบฒเบฅเบฑเบเบเบฒเบเปเบฎเบฑเบเบงเบฝเบเบเบตเปเปเบเปเบเบทเบเปเบเบตเปเบกเปเบเบปเปเบฒเปเบ Kubernetes เบฎเบธเปเบเบเปเบฒเบญเบดเบ.
เปเบเบเบปเปเบเบเบต 2019, เบเบฅเบฑเบเบญเบดเบเปเบเบเบปเปเบเปเบกเป
เบเบงเบเปเบฎเบปเบฒเปเบญเบเบกเบตเบเบฐเบชเบปเบเบเบฒเบเปเบเป ceph-csi, vsphere-csi เปเบฅเบฐเบเปเบญเบกเบเบตเปเบเบฐเปเบเบตเปเบกเปเบเบปเปเบฒเปเบเบเบฑเบเบเบตเบฅเบฒเบเบเบทเปเบเบตเป! เบกเบฒเบฎเบญเบเบเบฐเบเบธ, CSI เบเปเบฒเบฅเบฑเบเบฎเบฑเบเบกเบทเบเบฑเบเบงเบฝเบเบเบฒเบเบเบตเปเบเบทเบเบกเบญเบเบซเบกเบฒเบเปเบซเปเบกเบฑเบเบขเปเบฒเบเบซเบเบฑเบเปเบซเบเปเบ, เปเบเปเบเบงเบเปเบฎเบปเบฒเบเบฐเบฅเปเบเปเบฒเปเบฅเบฐเปเบเบดเปเบ.
เบขเปเบฒโเบฅเบทเบกโเบงเปเบฒโเบเบธเบโเบชเบดเปเบโเปเบซเบกเปโเปเบกเปเบโเบเบฒเบโเบเบดเบโเบเบทเบโเปเบซเบกเปโเบเบญเบโเบเบตเปโเบเบตโ!
PS
เบญเปเบฒเบเบเบฑเบเบขเบนเปเปเบ blog เบเบญเบเบเบงเบเปเบฎเบปเบฒ:
- ยซ
เบเบงเบเปเบฎเบปเบฒเปเบเบปเปเบฒเปเบเบเบฒเบเปเบเปเบเบญเบเบเบฒเบเปเบเบฑเบเบฎเบฑเบเบชเบฒเบเบนเปเบเบญเบเปเบเบเปเบเบต (เปเบ Kubernetes เปเบฅเบฐเบเปเปเบเบฝเบเปเบเป) " - ยซ
เปเบ Rook เบซเบผเบทเบเปเป Rook - เบเบฑเปเบเปเบกเปเบเบเปเบฒเบเบฒเบก " - ยซ
เบเปเปเบเบฐเบเบณเปเบงเบตเบเบฑเบ alpha เบเบญเบเบเบฒเบเบเปเบฒเบเบฎเบนเบเบฅเบฐเบเบฑเบเบชเบฝเบเปเบ Kubernetes ".
เปเบซเบผเปเบเบเปเปเบกเบนเบ: www.habr.com