列出资源

获取所有命名空间的列表

1
kubectl get namespaces

获取所有 pod 的列表

1
kubectl get pods

获取包含 IP、节点名称等详细信息的所有 pod 列表…

1
kubectl get pods -o wide

获取在特定节点服务器上运行的所有 pod 的列表

1
kubectl get pods --field-selector=spec.nodeName=[server-name]

获取所有复制控制器和服务的列表

1
kubectl get replicationcontroller,services

获取守护进程列表

1
kubectl get daemonset

创建资源

创建一个新的命名空间

1
kubectl create namespace [namespace-name]

从 JSON 或 YAML 文件创建一个新的命名空间

1
kubectl create –f [filename]

更新资源

要应用或更新资源,请使用该kubectl apply命令

使用 [service-config].yaml 中包含的定义创建一个新服务

1
kubectl apply -f [service-config].yaml

使用 [controller-config].yaml 中包含的定义创建一个新的复制控制器

1
kubectl apply -f [controller-config].yaml

在目录中的任何 .yaml、.yml 或 .json 文件中创建定义的对象

1
kubectl apply -f [yaml-file/directory-name]

编辑服务配置

1
kubectl edit svc/[service-name]

上面的命令在默认编辑器中打开文件。要选择另一个编辑器,请在命令前指定它:

1
KUBE_EDITOR=”[editor-name]” kubectl edit svc/[service-name]

显示资源状态

获取有关特定节点的详细信息

1
kubectl describe nodes [node-name]

获取有关特定 pod 的详细信息

1
kubectl describe pods [pod-name]

获取有关名称和类型列在中的特定 pod 的详细信息 pod.json

1
kubectl describe –f pod.json

获取有关由特定复制控制器管理的特定 pod 的详细信息

1
kubectl describe pods [replication-controller-name]

获取有关所有 Pod 的详细信息

1
kubectl describe pods

删除资源

使用 pod.yaml 中提到的名称和类型删除 pod

1
kubectl delete -f pod.yaml

删除带有特定标签的所有 Pod 和服务

1
kubectl delete pods,services -l [label-key]=[label-value]

删除所有 Pod

1
kubectl delete pods --all

执行命令
从在 pod 中的第一个容器上运行的命令获取输出

1
kubectl exec [pod-name] -- [command]

从在 pod 中的特定容器上运行的命令获取输出

1
kubectl exec [pod-name] -c [container-name] -- [command]

从特定的 pod 运行 /bin/bash。接收到的输出来自第一个容器

1
kubectl exec -ti [pod-name] -- /bin/bash

打印容器日志

从 Pod 打印日志

1
kubectl logs [pod-name]

从 Pod 流式传输日志

1
kubectl logs -f [pod-name]

来自 Pod 的尾部日志(打印来自 Pod 的最后 200 条日志)

1
kubectl logs --tail=200 [pod-name]

修改 Kubeconfig 文件

kubectl config 命令允许您查看和修改 kubeconfig 文件。
获取上下文

1
kubectl config current-context

在 kubeconfig 中设置集群条目

1
kubectl config set-cluster [cluster-name] --server=[server-name]

在 kubeconfig 中取消设置条目

1
kubectl config unset [property-name]