如何利用K8S技术进行K8S资源控制


如何利用K8S技术进行K8S资源控制,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。私有云K8S资源控制原理基于前面系列文章的详细阐述,我们已经可以手工去K8S集群的命令行下将CentOS 7.4操作系统的Docker镜像启动起来,然后用户可以通过SSH登录到CentOS容器之中进行使用。但实际使用过程中不同的用户不可能每次都手动去命令行启动一个CentOS镜像,然后用命令去查看该容器的IP地址和端口是多少,然后再通过ssh去连接。我们最好可以将Docker容器的启动、查询、删除等再封装一层,然后通过WEB页面去提供给用户操作,这才符合用户行为需求!由于在我们的实践中Docker容器是放在kubernetes集群中进行管理,所以这里的资源控制涉及的资源主要就是kubernetes的资源,如Pod、RC、Service等。kubernetes中的Master节点运行kube-apiserver模块,该模块对外提供restful接口,我们可以基于该接口进行编程,从而完成对集群资源的控制管理、如Pod、RC、Service等的申请、查询、删除等任务。要CRUD一个 kubernetes 资源,比如一个 pod,首先要知道和 kubernetes 集群交互的接口。在 kubernetes 的 master 节点上安装有 kubectl 客户端程序,该程序面向用户提供命令行接口,供用户和 kubernetes 集群交互。 kubectl 将用户命令通过 restfu开发云主机域名l 接口传送给 apiserver,从而进行资源的增、删、改等操作。该过程可以示意如下:原理讲完了,接下来讲讲代码级别如何实现。总结上文不难看出,k8s相关资源的CRUD控制可以通过restful接口来实现。要使用Kubernetes REST API编写应用程序,当下大多语言都可以很方便地去实现HTTP请求来操作kubernetes的restful接口从而控制和查询资源,但本文主要是利用已有的kubernetes客户端来更加优雅地实现kubernetes的资源控制。你不需要自己编写API来调用、请求/响应等类型,可以直接使用现成的客户端库来实现。k8s的客户端开源项目有很多,官方有支持,社区也维护了很多。官方支持的Kubernetes客户端库比较有限,有下面几种:社区维护的客户端库则更加丰富,基本热门的编程语言都支持,下面的这些Kubernetes API客户端库由社区创建者维护,Kubernetes团队不会提供支持和维护:本实践选用的是Fabric8的k8s-client,基于Java实现。下面就基于该Clinet讲讲代码级别的实现下面结合代码来阐述一下Fabric8常用的k8s资源控制操作:创建K8S客户端接下来对K8S资源的控制、查询等操作基本都靠该client来完成!创建Pod我们从一个pod.yaml文件来创建Pod资源:删除Pod删除很简单,只要知道Pod所在的namespace和name,一行代码即可搞定查询Pod查询Pod的log日志并于控制台打印:欲查询Pod的一些其他信息,可以参考创建Pod步骤中的代码:修改Pod配置上文从创建一个K8S客户端开始比较完整地介绍了一个Pod资源的CRUD操作,限于篇幅原因,其他资源如RC、Service、Deployment等等的增删改查操作都类似,只是名字不同而已,其接口稍微类比一下Pod即可写出对应的资源控制代码,此处不再赘述了,举一反三很重要。看完上述内容,你们掌握如何利用K8S技术进行K8S资源控制的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注开发云行业资讯频道,感谢各位的阅读!

相关推荐: I/O模型的相关问题有哪些

这篇文章主要讲解了“I/O模型的相关问题有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“I/O模型的相关问题有哪些”吧!  最近通过对ucore操作系统的学习,让我打开了操作系统内核这一黑盒子,与之前所学知…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

Like (0)
Donate 微信扫一扫 微信扫一扫
Previous 05/22 15:58
Next 05/22 15:58

相关推荐