Kubernetes(K8s)常用命令大全:熟练编排更完美
发布人:shili8
发布时间:2025-01-09 14:35
阅读次数:0
**Kubernetes(K8s)常用命令大全**
Kubernetes(简称为 K8s)是容器编排的开源平台,它可以管理和自动化容器的部署、扩展和调度。熟练使用 Kubernetes 的命令,可以帮助你更好地编排应用程序,提高开发效率。
在本文中,我们将介绍 Kubernetes 常用命令大全,包括创建、删除、更新等基本操作,以及一些高级命令,如资源管理、网络配置等。
**1. 基础命令**
###1.1 创建 Pod
bashkubectl run mypod --image=nginx:latest
* `kubectl run` 命令用于创建一个新的 Pod。
* `--image` 参数指定了容器镜像的名称和版本。
* `my pod` 是 Pod 的名称。
###1.2 删除 Pod
bashkubectl delete pod mypod
* `kubectl delete` 命令用于删除一个 Pod。
* `pod` 指定了要删除的资源类型(在本例中为 Pod)。
* `my pod` 是 Pod 的名称。
###1.3 更新 Pod
bashkubectl patch pod mypod -p '{"spec":{"containers":[{"name":"nginx","image":"nginx:latest"}]}}'
* `kubectl patch` 命令用于更新一个 Pod。
* `-p` 参数指定了要应用的 JSON Patch。
* `"spec"` 是 Pod 的 spec 字段。
* `"containers"` 是容器列表字段。
* `"name"` 和 `"image"` 是容器名称和镜像名称。
###1.4 查看 Pod
bashkubectl get pod mypod -o yaml
* `kubectl get` 命令用于获取一个或多个资源的信息。
* `pod` 指定了要获取的资源类型(在本例中为 Pod)。
* `my pod` 是 Pod 的名称。
* `-o yaml` 参数指定了输出格式为 YAML。
###1.5 查看 Pod 日志
bashkubectl logs mypod -f --tail=10
* `kubectl logs` 命令用于获取一个或多个 Pod 的日志。
* `mypod` 是 Pod 的名称。
* `-f` 参数指定了实时输出。
* `--tail=10` 参数指定了输出的最后10 行。
###1.6 查看 Pod 的详细信息
bashkubectl describe pod mypod
* `kubectl describe` 命令用于获取一个或多个资源的详细信息。
* `pod` 指定了要获取的资源类型(在本例中为 Pod)。
* `my pod` 是 Pod 的名称。
###1.7 查看所有 Pod
bashkubectl get pods -o wide
* `kubectl get` 命令用于获取一个或多个资源的信息。
* `pods` 指定了要获取的资源类型(在本例中为 Pod)。
* `-o wide` 参数指定了输出格式为宽表格。
###1.8 删除所有 Pod
bashkubectl delete pods --all
* `kubectl delete` 命令用于删除一个或多个资源。
* `pods` 指定了要删除的资源类型(在本例中为 Pod)。
* `--all` 参数指定了删除所有 Pod。
###1.9 更新所有 Pod
bashkubectl patch pods --all -p '{"spec":{"containers":[{"name":"nginx","image":"nginx:latest"}]}}'
* `kubectl patch` 命令用于更新一个或多个资源。
* `pods` 指定了要更新的资源类型(在本例中为 Pod)。
* `--all` 参数指定了更新所有 Pod。
* `-p` 参数指定了要应用的 JSON Patch。
###1.10 查看所有 Pod 的详细信息
bashkubectl describe pods --all
* `kubectl describe` 命令用于获取一个或多个资源的详细信息。
* `pods` 指定了要获取的资源类型(在本例中为 Pod)。
* `--all` 参数指定了获取所有 Pod 的详细信息。
###1.11 查看所有 Pod 的日志
bashkubectl logs pods --all -f --tail=10
* `kubectl logs` 命令用于获取一个或多个资源的日志。
* `pods` 指定了要获取的资源类型(在本例中为 Pod)。
* `--all` 参数指定了获取所有 Pod 的日志。
* `-f` 参数指定了实时输出。
* `--tail=10` 参数指定了输出的最后10 行。
###1.12 查看所有 Pod 的状态
bashkubectl get pods --all -o jsonpath='{.items[*].status}'
* `kubectl get` 命令用于获取一个或多个资源的信息。
* `pods` 指定了要获取的资源类型(在本例中为 Pod)。
* `--all` 参数指定了获取所有 Pod 的状态。
* `-o jsonpath='{.items[*].status}'` 参数指定了输出格式为 JSONPath。
###1.13 删除所有 Pod 的配置
bashkubectl delete pods --all --cascade=false
* `kubectl delete` 命令用于删除一个或多个资源。
* `pods` 指定了要删除的资源类型(在本例中为 Pod)。
* `--all` 参数指定了删除所有 Pod。
* `--cascade=false` 参数指定了不删除依赖于这些 Pod 的其他资源。
###1.14 更新所有 Pod 的配置
bashkubectl patch pods --all -p '{"spec":{"containers":[{"name":"nginx","image":"nginx:latest"}]}}'
* `kubectl patch` 命令用于更新一个或多个资源。
* `pods` 指定了要更新的资源类型(在本例中为 Pod)。
* `--all` 参数指定了更新所有 Pod。
* `-p` 参数指定了要应用的 JSON Patch。
###1.15 查看所有 Pod 的详细信息
bashkubectl describe pods --all
* `kubectl describe` 命令用于获取一个或多个资源的详细信息。
* `pods` 指定了要获取的资源类型(在本例中为 Pod)。
* `--all` 参数指定了获取所有 Pod 的详细信息。
###1.16 查看所有 Pod 的日志
bashkubectl logs pods --all -f --tail=10
* `kubectl logs` 命令用于获取一个或多个资源的日志。
* `pods` 指定了要获取的资源类型(在本例中为 Pod)。
* `--all` 参数指定了获取所有 Pod 的日志。
* `-f` 参数指定了实时输出。
* `--tail=10` 参数指定了输出的最后10 行。
###1.17 查看所有 Pod 的状态
bashkubectl get pods --all -o jsonpath='{.items[*].status}'
* `kubectl get` 命令用于获取一个或多个资源的信息。
* `pods` 指定了要获取的资源类型(在本例中为 Pod)。
* `--all` 参数指定了获取所有 Pod 的状态。
* `-o jsonpath='{.items[*].status}'` 参数指定了输出格式为 JSONPath。
###1.18 删除所有 Pod 的配置
bashkubectl delete pods --all --cascade=false
* `kubectl delete` 命令用于删除一个或多个资源。
* `pods` 指定了要删除的资源类型(在本例中为 Pod)。
* `--all` 参数指定了删除所有 Pod。
* `--cascade=false` 参数指定了不删除依赖于这些 Pod 的其他资源。
###1.19 更新所有 Pod 的配置
bashkubectl patch pods --all -p '{"spec":{"containers":[{"name":"nginx","image":"nginx:latest"}]}}'
* `kubectl patch` 命令用于更新一个或多个资源。
* `pods` 指定了要更新的资源类型(在本例中为 Pod)。
* `--all` 参数指定了更新所有 Pod。
* `-p` 参数指定了要应用的 JSON Patch。
###1.20 查看所有 Pod 的详细信息
bashkubectl describe pods --all
* `kubectl describe` 命令用于获取一个或多个资源的详细信息。
* `pods` 指定了要获取的资源类型(在本例中为 Pod)。
* `--all` 参数指定了获取所有 Pod 的详细信息。
###1.21 查看所有 Pod 的日志
bashkubectl logs pods --all -f --