主机运维管理
对于运维操作来说,kubectl是一个很便利的命令行工具,首先可以对各种资源进行操作,比如添加、获取、删除,通过更多命令参数得到指定的信息。

获取资源列表及详细信息的方式可通过kubectl get 来进行,具体的操作运行kubectl get –help即可。

实践使用过程中,对节点的运维操作会影响到应用的使用和资源的调度,比如由于配置升级需要对节点主机进行重启,需要考虑已经运行在其上的容器的状况,用户的希望是对资源池的操作尽量少的影响容器应用,同时资源池的变动和上层的容器服务解藕。

当需要对主机进行维护升级时,首先将节点主机设置成不可调度模式:

kubectl cordon[nodeid]  

然后需要将主机上正在运行的容器驱赶到其它可用节点:

kubectl drain [nodeid]  

当容器迁移完毕后,运维人员可以对该主机进行操作,配置升级性能参数调优等等。当对主机的维护操作完毕后, 再将主机设置成可调度模式:

kubectl uncordon [nodeid]  

这样新创建的容器即可以分配到该主机,可以通过kubectl patch 对资源对象进行实时修改,比如为service增加端口,为pod修改容器镜像版本。Annotation 可以帮助用户更好的设置kubernete自定义插件。用户可以在自建组件中获取资源中对应的annotation以此进行操作。通过kubectl label可以方便的对资源打标签,比如对node打标签,然后容器调度时可指定分配到对应标签的主机。

文档更新时间: 2020-08-16 07:30   作者:月影鹏鹏