写点什么

06 K8S 之 kubectl 命令介绍

发布于: 3 小时前
06 K8S之kubectl命令介绍

Kubernetes API 是管理各种资源对象的唯一入口,它提供了一个 RESTful 风格的 CRUD(Create、Read、Update 和 Delete)接口用于查询和修改集群状态,并将结果存储在集群状态存储系统 etcd 中。事实上,API Server 也是用于更新 etcd 中资源对象状态的唯一途径。


Kubernetes API 资源管理的操作可简单归结为增、删、改、查这 4 种,kubectl 提供了一系列子命令用于执行此类任务,例如 create、delete、patch、apply、replace、edit、get 等。其中,有些命令必须基于资源清单进行,例如 apply 和 replace 命令,有些命令既可基于清单文件进行,也可实时作用于活动资源之上,例如 create、get、patch 和 delete 等。


kubectl 特性丰富且功能强大,是 Kubernetes 管理员最常用的集群管理工具。其最基本的语法格式为 kubectl [command] [TYPE] [NAME] [flags],其中各部分的简要说明如下。

command:对资源执行相应操作的子命令,例如 get、create、delete、run 等;

TYPE:要操作的资源类型,例如 pods、services 等;类型名称大小写敏感,但支持使用单数、复数或简写格式。

NAME:要操作的资源对象名称,大小写敏感;省略时,则表示指定 TYPE 的所有资源对象;同一类型的资源名称可于 TYPE 后同时给出多个,也可以直接使用 TYPE/NAME 的格式来为每个资源对象分别指定类型。flags:命令行选项,例如-s 或--server 等;另外,get 等命令在输出时还有一个常用的标志-o <format>用于指定输出格式。



Kubernetes 系统的大部分资源都隶属于名称空间级别,默认的名称空间为 default,若需要获取指定 Namespace 对象中的资源对象的信息,则需要使用-n 或--namespace 指明其名称。直接通过 kubectl 命令及相关的选项创建资源对象的方式即直接命令式操作。


每个资源对象都有用户期望的状态(Spec)和现有的实际状态(Status)两种状态信息,kubectl get -o {yaml|josn}可分别以 YAML 或 JSON 格式打印资源对象的规范,而 kubectl describe 命令则能够打印出指定资源对象的详细描述信息。


发布于: 3 小时前阅读数: 6
用户头像

InfoQ签约作者 2018.11.30 加入

热爱生活,收藏美好,专注技术,持续成长

评论

发布
暂无评论
06 K8S之kubectl命令介绍