kubernetes CSI Driver
By Bys on January 1, 2023
Kubernetes Volume
- CSI? The Container Storage Interface is a community-based project for developing a standardized API enabling communication between container orchestration (CO) platforms and storage plugins. In theory, a standardized communication protocol allows storage providers to write plugins more easily, to just one specification.
CSI Driver is responsible for CSI Node -
Temp
쿠버네티스 CSI 플러그인
쿠버네티스 CSI은 기본적으로 프로비저너(Provisioner), 어태쳐(Attacher), 컨트롤러(Controller), 노드서버(NodeServer)로 이루어져 있습니다.
- 프로비저너(Provisioner)
- 프로비저너는 클러스터에 PVC가 생성되는 걸 모니터링하고 있다가 PVC가 생성되면 PV를 생성하는 걸 담당합니다.
- 어태쳐(Attacher)
- 어태처는 파드가 PVC를 사용하려할 때 해당 컨테이너에서 PV를 마운트하는 걸 담당합니다.
- 컨트롤러(Controller)
- 컨트롤러는 쿠버네티스 컨테이너에서 사용할 볼륨을 스토리지 서버에서 생성 및 삭제하는 걸 담당합니다.
- 노드서버(NodeServer)
- 노드서버는 파드가 배포될 노드에서 스토리지 볼륨에 마운트할 수 있게 환경을 만드는 걸 담당합니다.
Ref: https://docs.aws.amazon.com/ko_kr/AmazonECS/latest/developerguide/instance_IAM_role.html Ref: https://tech.gluesys.com/blog/2022/06/21/CSI.html
device-plugin-registration - https://kubernetes.io/docs/concepts/extend-kubernetes/compute-storage-net/device-plugins/#device-plugin-registration pluginwatcher - https://github.com/kubernetes/kubernetes/blob/master/pkg/kubelet/pluginmanager/pluginwatcher/README.md CSI Spec - https://github.com/container-storage-interface/spec/blob/master/spec.md#rpc-interface
kubernetes
node
]