看过或者上述代码后您可能在烦恼:创建资源时,数据结构的字段太多太复杂根本记不住,对应的代码不好写,这里分享一个我的做法,如下图,我在开发的时候一共有两个窗口,左侧是官方的yaml示例,右侧用了GoLand的分屏功能,分屏的左侧是我写代码的窗口,右侧是数据结构定义,此时内容不会搞错,数据结构也能对应上,写起来就舒服多了:
验证
代码写完后,执行go run main.go,即可创建namespace、deployment、service等资源;
查看kubernetes上资源是否成功创建:
[root@hedy ~]# kubectl get pods -n test-clientset NAME READY STATUS RESTARTS AGE client-test-deployment-7677cc9669-kd7l7 1/1 Running 0 178m client-test-deployment-7677cc9669-kt5rv 1/1 Running 0 178m [root@hedy ~]# kubectl get service -n test-clientset NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE client-test-service NodePort 10.109.189.151 <none> 8080:30080/TCP 178m浏览器访问kubernetes服务器的30080端口,可见熟悉的tomcat首页:
执行命令go run main.go -operate clean即可删除刚才创建的所有资源;
至此Clientset的学习和实战就结束了,总得来说这是个大部分都是自动生成代码的客户端,逻辑简单容易理解,多用几次熟练后,就能随心所欲的操控kubernetes的资源了;
关于容器和镜像的环境如果您不想自己搭建kubernetes环境,推荐使用腾讯云容器服务TKE:无需自建,即可在腾讯云上使用稳定, 安全,高效,灵活扩展的 Kubernetes 容器平台;
如果您希望自己的镜像可以通过外网上传和下载,推荐腾讯云容器镜像服务TCR:像数据加密存储,大镜像多节点快速分发,跨地域镜像同步
Java系列
Spring系列
Docker系列
kubernetes系列
数据库+中间件系列
DevOps系列
欢迎关注公众号:程序员欣宸微信搜索「程序员欣宸」,我是欣宸,期待与您一同畅游Java世界...
https://github.com/zq2599/blog_demos