kubectl集群管理命令

前一节笔记我们搭建了k8s集群,那么如何对集群进行信息查看、管理等操作呢?最基础的方式就是使用kubectl命令。kubectl其实是一个客户端,它通过APIServer操作k8s集群,因此kubectl不是一定要在k8s节点上运行,它可以在任意能够访问APIServer的主机上运行,这篇笔记我们介绍kubectl命令的常见用法。

注意:当然,除了kubectl,基于k8s提供的APIServer编程接口衍生出了DashboardKubeSphereRancher等优秀的开源图形界面管理平台,各大公有云平台也会开发自己的管理系统,不过命令行还是最基础、功能最为强大的管理方式。

kubectl配置文件

kubectl要连接k8s集群需要一个配置文件,在第一节中我们搭建k8s集群时,曾拷贝过一个config文件到~/.kube下,我们如果在其它主机上连接k8s集群也需要复制一份到~/.kube/config。如果配置文件没有放在默认目录,可以用--kubeconfig参数指定。

kubectl命令格式

kubectl [command] [type] [name] [flags]
  • command:对资源执行的操作,如applygetdeletedescribe
  • type:操作的资源类型,如podsservices等,支持单数(pod)、复数(pods)、简写(po)三种方式
  • name:资源名称,如果不指定,会显示所有资源
  • flags:命令参数,最常用的比如-n指定命令的命名空间

查看帮助

kubectl包含很多命令和参数,我们不可能全部记住,必要时我们查看帮助即可。

kubectl help

根据资源文件部署或删除

我们日常使用k8s过程中,经常需要部署各种资源,比如DeploymentServiceServiceAccount等。这些资源都定义在yaml资源清单文件中。实际上kubectl也支持通过命令行创建各种资源,但强烈不推荐这样做!我们部署的内容可能非常复杂,用命令行不方便管理,而且弄错了难以恢复。

根据资源文件创建资源可以执行以下命令。

kuebctl apply -f <文件名>

如果希望将部署的资源统统删除可以执行以下命令。

kubectl delete -f <文件名>
作者:Gacfox
版权声明:本网站为非盈利性质,文章如非特殊说明均为原创,版权遵循知识共享协议CC BY-NC-ND 4.0进行授权,转载必须署名,禁止用于商业目的或演绎修改后转载。
Copyright © 2017-2024 Gacfox All Rights Reserved.
Build with NextJS | Sitemap