CentOS上开发K8S插件,不同类型插件要点有所不同,以常见的CNI、设备、存储插件为例,要点如下:
cmdAdd和cmdDel等关键函数,处理网络配置和IPAM。编写代码后,将其编译为可执行文件,放到/opt/cni/bin/目录,同时在/etc/cni/net.d/目录创建配置文件指定插件。DevicePlugin等接口,如GetDeviceState和ListAndWatch方法。通过Dockerfile构建插件镜像,将其部署到Kubernetes集群,最后创建Pod来使用插件。此外,开发kubectl插件时,要确保命令是可执行文件,以kubectl-开头,放在$PATH中,同时可借助cli-runtime库开发。