go 调用kubernetes api
1. 具体步骤
详细参考github,写的挺详细的
https://github.com/kubernetes/client-go
个人做了一个小结。
1.1 确定版本
不同的kubernetes 版本,对于的client-go版本也是不一样的,上面那个网页有比较详细的解读。
go mod 来做版本区别,具体使用很简单,
比如我这个server版本是0.16
go get k8s.io/client-go@v0.16
会在go.mod 添加
require k8s.io/client-go v0.16.15 // indirec
1.2 2种模式
- in-cluster
- out-of-cluster
分别对应在集群中部署(就是把程序部署在kubernetes集群里面) ,还要外面。
区别就是外面的话你需要有kubeconfig文件,如果是里面的话,需要设置service account. 绑定cluster role binding这种东西。
里面外面部署看你需求。照着官方文档撸就ok了。