client-go实战之三:Clientset (3)

看过或者上述代码后您可能在烦恼:创建资源时,数据结构的字段太多太复杂根本记不住,对应的代码不好写,这里分享一个我的做法,如下图,我在开发的时候一共有两个窗口,左侧是官方的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

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zzydwg.html