In this video we continued writing the CSI plugin that we have been writing in previous videos in this series and implemented the NodeGetCapabilities and NodeStageVolume RPCs of the node plugin.
This RPC (NodeStageVolume) is called after the ControllerPublishVolume of the controller plugin was successful and Node plugin has specified that is supports stage and unstage of volumes (using NodeGetCapabilities RPC).
Web:
viveksingh.dev/
00:00 Introduction
00:22 Agenda
00:40 Brief summary to the workflow of volume creation
01:46 Things that we have already implemented
03:22 What happens after ControllerPublishVolume succeeds
03:56 Add log in NodeGetCapabilities
04:23 Build, Deploy and Test the log
08:04 Brief summary again
09:16 Look into how /dev looks like after volume is attached
10:26 Run df -h to verify that the attached device is not mounted anywhere
11:36 Implement NodeGetCapabilities
13:05 Implement NodeStageVolume
13:36 Fields of the request that we get in NodeStageVolume
16:52 Verify all the required fields
19:00 Check if request is for block mode volume
22:34 Figure out the source, or path of attached volume
27:03 Format/Create FS in the block device
40:10 Mount the attached volume to the staging dir
49:03 Changes in the k8s manifests for node plugin (volume mounts)
54:40 Make the pods volume, Bidirectional
56:24 Change Dockerfile to have mkfs utility
57:29 Build, deploy and Test everything
01:01:02 Add SecurityContext to node plugin
01:04:22 Logs in node plugin
01:05:17 Check the k8s nodes to verify volume is mounted successfully
01:07:41 Add logs to NodePublishVolume to make sure everything works
01:09:03 Build, Deploy and test again
01:12:33 Verify in the k8s node that volume is mounted to staging dir
01:13:30 Summary
01:15:15 Like, Share and Subscribe
28 июн 2024