# kubectl命令行工具用法详解

**kubectl作为客户端CLI工具，可以让用户通过命令行对Kubernetes集群进行操作。**

kubectl命令行的语法如下：

```powershell
kubectl [command] [TYPE] [NAME] [flags]
```

其中：

* **command**：**子命令**，用于操作Kubernetes集群资源对象的命令，例如create、delete、describe、get、apply等。
*   **TYPE**：**资源对象的类型**，<mark style="color:blue;">**区分大小写**</mark>，能以<mark style="color:blue;">**单数**</mark>、<mark style="color:blue;">**复数**</mark>或者<mark style="color:blue;">**简写**</mark>形式表示。例如以下3种TYPE是等价的：

    ```powershell
    kubectl get pod pod1
    kubectl get pods pod1
    kubectl get po pod1
    ```
*   **NAME**：**资源对象的名称**，<mark style="color:blue;">区分大小写</mark>。

    **如果不指定名称，系统则将返回属于TYPE的全部对象的列表**，例&#x5982;**`kubectl get pods`**&#x5C06;返回所有Pod的列表。
* **flags**：kubectl子命令的**可选参数**，例如使用“-s”指定API Server的URL地址而不用默认值。

{% hint style="info" %}
**在一个命令行中也可以同时对多个资源对象进行操作，以多个TYPE和NAME的组合表示**，示例如下：

*   获取多个Pod的信息：

    ```
    kubectl get pods pod1 pod2
    ```
*   获取多种对象的信息：

    ```
    kubectl get pod/pod1 rc/rc1
    ```
*   同时应用多个YAML文件，以多个-f file参数表示：

    ```
    kubectl get pod -f pod1.yaml -f pod2.yaml
    kubectl create -f pod1.yaml -f rc1.yaml -f service1.yaml
    ```
{% endhint %}
