kubectl 是 Kubernetes 的命令行工具,用于与 Kubernetes 集群交互和管理资源。kubectl 的命令语法结构如下:
基本语法结构
css
复制代码
kubectl [command] [TYPE] [NAME] [flags]
- command: 操作命令,如
get、apply、delete等。 - TYPE: 资源类型,如
pod、service、deployment,支持单数、复数和缩写形式(po表示pods)。 - NAME: 资源名称,如果不指定则操作所有该类型的资源。
- flags: 其他可选参数或标志,如
-n指定命名空间,-o指定输出格式。
常见命令示例
1. 获取资源信息
bash
复制代码
kubectl get [TYPE] [NAME] [flags]
-
获取所有 Pod:
bash 复制代码 kubectl get pods -
获取指定命名空间的 Pod:
bash 复制代码 kubectl get pods -n my-namespace -
获取 Pod 的详细信息:
bash 复制代码 kubectl get pod my-pod -o wide
2. 查看资源详情
bash
复制代码
kubectl describe [TYPE] [NAME] [flags]
-
查看 Pod 的详细信息:
bash 复制代码 kubectl describe pod my-pod
3. 应用资源文件
bash
复制代码
kubectl apply -f [FILENAME]
-
应用一个 YAML 文件中的配置:
bash 复制代码 kubectl apply -f my-deployment.yaml
4. 删除资源
bash
复制代码
kubectl delete [TYPE] [NAME] [flags]
-
删除指定 Pod:
bash 复制代码 kubectl delete pod my-pod -
删除某个命名空间中的所有 Pod:
bash 复制代码 kubectl delete pods --all -n my-namespace
5. 查看日志
bash
复制代码
kubectl logs [POD_NAME] [flags]
-
查看 Pod 的日志:
bash 复制代码 kubectl logs my-pod
6. 进入 Pod 容器
bash
复制代码
kubectl exec [POD_NAME] -- [COMMAND]
-
进入 Pod 容器的交互式 shell:
bash 复制代码 kubectl exec -it my-pod -- /bin/bash
7. 编辑资源
bash
复制代码
kubectl edit [TYPE] [NAME]
-
编辑运行中的 Pod:
bash 复制代码 kubectl edit pod my-pod
常用 Flags
-n: 指定命名空间。-o: 指定输出格式,如json、yaml、wide。--all: 选择所有该类型的资源。--namespace或-n: 指定命名空间。
通过这些命令,kubectl 可以有效管理 Kubernetes 集群中的各种资源。