- Видео 75
- Просмотров 424 899
Vivek Singh
Индия
Добавлен 11 сен 2020
Hey,
My name is Vivek, I am Software Engineer working around Open Source and Cloud Native technologies around Kubernetes primarily using Go as programming language.
In this channel I am going to create videos about Containers, Kubernetes, Go programming language and Software Engineering in general. In these videos I am planning to actually show you things by doing, instead of just talking about them; so that you would actually learn about them and can use them either at your work or as some other place.
My name is Vivek, I am Software Engineer working around Open Source and Cloud Native technologies around Kubernetes primarily using Go as programming language.
In this channel I am going to create videos about Containers, Kubernetes, Go programming language and Software Engineering in general. In these videos I am planning to actually show you things by doing, instead of just talking about them; so that you would actually learn about them and can use them either at your work or as some other place.
Implementing K8S Volume Populator | Writing a K8S Volume Populator from scratch - 3
This video is the next video in the series where we have been talking about the Kubernetes volume populators. In this video we actually write the volume populator and showed the end to end working of it.
GitHub repo: github.com/viveksinghggits/generichttppopulator
Docs and other things referred:
pkg.go.dev/k8s.io/api/core/v1#TypedObjectReference
kubernetes.io/docs/concepts/storage/persistent-volumes/#persistentvolumeclaims
kubernetes.io/docs/tasks/extend-kubernetes/custom-resources/custom-resource-definitions/#create-a-customresourcedefinition
kubernetes.io/blog/2022/05/16/volume-populators-beta/#trying-it-out
Web:
viveksingh.dev/
00:00 Introduction
00:23 Agenda
01:01 Creating project and which popu...
GitHub repo: github.com/viveksinghggits/generichttppopulator
Docs and other things referred:
pkg.go.dev/k8s.io/api/core/v1#TypedObjectReference
kubernetes.io/docs/concepts/storage/persistent-volumes/#persistentvolumeclaims
kubernetes.io/docs/tasks/extend-kubernetes/custom-resources/custom-resource-definitions/#create-a-customresourcedefinition
kubernetes.io/blog/2022/05/16/volume-populators-beta/#trying-it-out
Web:
viveksingh.dev/
00:00 Introduction
00:23 Agenda
01:01 Creating project and which popu...
Просмотров: 599
Видео
Internal architecture of K8S Volume Populators | Writing a K8S Volume Populator from scratch - 2
Просмотров 395Год назад
In this video we looked into the dataSourceRef field of PersistentVolumeClaim resource in detail and discussed what are valid and invalid volume populators. A part from that we also looked into the internal architecture of how volume populators are going to be written. We talked about the architecture in detail and in the next video we are going to actually write the controller. Web: viveksingh...
DataSource and DataSourceRef for PVC resources | Writing a K8S Volume Populator from scratch - 1
Просмотров 661Год назад
This video is the first video in the series where we are going to write a Volume Populator from scratch, and in this video we looked into the DataSource and DataSourceRef field of PVC resource. We talked about these resources in details for example how they can be used to create volume from existing PVC or volume snapshot resource. A part from that we also talked about the difference between th...
Using veth network interface to connect two network namespaces | Kubernetes Networking | Part - 1
Просмотров 1,9 тыс.Год назад
This is first video of the series in which I am going to talk about Kubernetes networking in details. In this video looked into how two processes that are running in two different network namespace can communicate with each other. Video about network namespaces: ruclips.net/video/7t_OTxJfB_o/видео.html Web: viveksingh.dev/ GitHub Repo with commands: github.com/viveksinghggits/cross-nwnamespace-...
What are Kubernetes Finalizers? | Implementing Kubernetes finalizer for a resource
Просмотров 2,7 тыс.2 года назад
In this video we talked about what exactly are Kubernetes finalizers and how they are useful in making sure that we can make sure a condition is met before the Kubernetes resource is deleted. Apart from that we also looked into how we can implement a respecitve controller for the finalizer that wold delete it, once that condition is met. Kluster Playlist: ruclips.net/video/89PdRvRUcPU/видео.htm...
Implementing NodePublishVolume of NodePlugin | Writing a Kubernetes CSI plug-in from scratch -9
Просмотров 6232 года назад
In this video we concluded writing the CSI plugin that we have been writing in some of the previous videos. We specifically implemented NodePublishVolume RPC of the node plugin in this video that mounts the volume from the staging dir to the target dir. After implementing the NodePlublishVolume we showed how the volume request (PVC) that was created using this new CSI Plugin was actually fulfil...
Mounting attached volume to a staging directory | Writing a Kubernetes CSI plug-in from scratch -8
Просмотров 4982 года назад
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 NodeGetC...
Implement ControllerPublishVolume of Plugin | Writing a Kubernetes CSI plug-in from scratch -7
Просмотров 4912 года назад
In this video we implemented the ControllerPublishVolume RPC of Controller plugin that gets called by external attacher to attach a volume to a specific node. This is the volume that was created by CreateVolume RPC of the Controller plugin. GitHub: github.com/viveksinghggits/bsos Writing CSI Plugin from Scratch Playlist: ruclips.net/video/OIpX7WkJzOg/видео.html Web: viveksingh.dev/ 00:00 Introd...
Deploy node plugin and node-driver-registrar | Writing a Kubernetes CSI plug-in from scratch -6
Просмотров 6492 года назад
In this video we tried to make sure that the ControllerPublishVolume RPC of the controller plugin is being called for the VolumeAttachment resources in the Kubernetes cluster. We know that once PV resource is created by external provisioner and we try to use the volume in a workload, attach-detach controller creates VolumeAttachment resource. To make sure that VolumeAttachment resources are wat...
Implement CreateVolume RPC of Controller Service | Writing a Kubernetes CSI plug-in from scratch -5
Просмотров 9202 года назад
We actually went ahead and implemented CreateVolume RPC of the controller service form the CSI plugin. As described in the CSI specification, CreateVolume method/RPC from controller service gets called as soon as a volume is requested from Container Orchestrator, in our case Kubernetes. We also looked, in detail, into how the input object to create volume request looks like. For example AccessM...
Deploying ext.-provisioner and controller plugin | Writing a Kubernetes CSI plug-in from scratch -4
Просмотров 8762 года назад
In this videos we tried to deploy the skeleton CSI plugin that we have written till now in this series. We discussed in detail about how we are going to create the unix domain socket where the gRPC server is going to run at and how to make the external provisioner aware of that unix domain socket using volume that is mounted on both the directories. Once deployed we also looked into the workflo...
Setting up the gRPC server for CSI plug-in | Writing a Kubernetes CSI plug-in from scratch -3
Просмотров 1,1 тыс.2 года назад
In this video we actually started coding the CSI plugin specifically for DigitalOcan. So, using this plugin we would be able to provision volumes on DigitalOcean dynamically. In this we actually set up the gRPC server and registered the service implementations with the server. Web: viveksingh.dev/ GitHub of bsos: github.com/viveksinghggits/bsos DigitalOcean CSI GitHub: github.com/digitalocean/c...
How Kubernetes communicates with CSI Plugin | Writing a Kubernetes CSI plug-in from scratch -2
Просмотров 1,6 тыс.2 года назад
In this video we talked about Kubernetes or other Kubernetes components can communicate with CSI plug-in to call the appropriate RPC to manage the Volumes on Kubernetes. We also looked into the ways we are going to deploy these components (node plugin and controller plugin) with the external components on a Kubernetes cluster. We also talked about all the external components (external-provision...
What is Kubernetes CSI plugin and Specification | Writing a Kubernetes CSI plug-in from scratch -1
Просмотров 4 тыс.2 года назад
In this video we started talking about dynamic and static provisioning of volumes on Kubernetes cluster and then what is in-tree and out of tree mechanism to support creating volumes on specific storage providers. Later we started talking about what exactly is CSI specification and what is CSI plugin that storage providers can write to make sure Container Orchestrators can call the plugins to p...
Get complete GVR (Group Version Resource) for Kubernetes Resource | Demo of RESTMapper interface
Просмотров 2,4 тыс.2 года назад
In this video we looked into how we can get the complete GVR (Group Version Resource) for a specified Kubernetes resource. Web: viveksingh.dev/ GitHub: github.com/viveksinghggits/restmapper 00:00 Introduction 00.24 Agenda 03:22 RestMapper.ResourceFor 04:51 How do we get RestMapper instance 06:31 Implementation 16:05 Demo 17:40 Testing for Custom Resource types 19:56 Discovery Cache and Dir 22:0...
Linux cgroups explained | limit resources for a set of processes
Просмотров 9 тыс.2 года назад
Linux cgroups explained | limit resources for a set of processes
Kubernetes Dynamic Client | Interacting with CRs without having generated code
Просмотров 3,1 тыс.2 года назад
Kubernetes Dynamic Client | Interacting with CRs without having generated code
Writing Mutating Admission Controller from Scratch | Mutating Webhook Kubernetes
Просмотров 1,8 тыс.2 года назад
Writing Mutating Admission Controller from Scratch | Mutating Webhook Kubernetes
What is Aggregated API Server | Difference between Aggregated API Server and CRDs
Просмотров 2,7 тыс.2 года назад
What is Aggregated API Server | Difference between Aggregated API Server and CRDs
Handling AdmissionReview object | Writing Validating Webhook Controller From Scratch - Final
Просмотров 1,1 тыс.2 года назад
Handling AdmissionReview object | Writing Validating Webhook Controller From Scratch - Final
Writing Validating Webhook Controller From Scratch - 1 | Validating Webhook Kubernetes
Просмотров 4 тыс.2 года назад
Writing Validating Webhook Controller From Scratch - 1 | Validating Webhook Kubernetes
Adding users to a managed Kubernetes cluster | Generating private key and certificate
Просмотров 3 тыс.3 года назад
Adding users to a managed Kubernetes cluster | Generating private key and certificate
Anatomy of Persistent Volume Controller in Kubernetes | Code walk through
Просмотров 1,1 тыс.3 года назад
Anatomy of Persistent Volume Controller in Kubernetes | Code walk through
Admission Controllers in Kubernetes | Mutating and Validating Webhooks in Kubernetes
Просмотров 7 тыс.3 года назад
Admission Controllers in Kubernetes | Mutating and Validating Webhooks in Kubernetes
Supporting multiple versions (v1alpha1, v1beta1) of CR in Kubernetes | Conversion Webhook Explained
Просмотров 2,2 тыс.3 года назад
Supporting multiple versions (v1alpha1, v1beta1) of CR in Kubernetes | Conversion Webhook Explained
Packaging (containerise and RBAC) your K8S operator as a developer | Writing K8S Operator - Part 6
Просмотров 8803 года назад
Packaging (containerise and RBAC) your K8S operator as a developer | Writing K8S Operator - Part 6
Event recorder for Kluster and routines to handle Objects from Queue | Writing K8S Operator - Part 5
Просмотров 1,1 тыс.3 года назад
Event recorder for Kluster and routines to handle Objects from Queue | Writing K8S Operator - Part 5
Setting up 3 node Kubernetes cluster version 1.22 from scratch, on Ubuntu instances
Просмотров 6 тыс.3 года назад
Setting up 3 node Kubernetes cluster version 1.22 from scratch, on Ubuntu instances
SubResources and additional printer columns for CRDs | Writing K8S Operator - Part 4
Просмотров 1,5 тыс.3 года назад
SubResources and additional printer columns for CRDs | Writing K8S Operator - Part 4
Calling DigitalOcean APIs on Kluster's add event | Writing K8S Operator - Part 3
Просмотров 1,2 тыс.3 года назад
Calling DigitalOcean APIs on Kluster's add event | Writing K8S Operator - Part 3