1.显示Pod的更多信息
kubectl get pod <pod-name> -o wide
kubectl get pods —show-all # 查看已经停止的Pod
2.以yaml格式显示Pod的详细信息
kubectl get pod <pod-name> -o yaml
3.以自定义列名显示Pod信息
kubectl get pod <pod-name> -o=custom-comlumns=NAME:.metadata.name,RSRC:.metdata.resourceVersion
4.基于文件的自定义列名输出
kubectl get pod <pod-name> -o=custom-comlumns-file=template.txt template.txt文件的内容为: NAME RSRC <metadata.name> <metadata.resourceVersion> 通过sort-by参数可将输出结果按某个字段排序 kubectl get pods --sort-by=.metadata.name
5.根据yaml配置文件,一次性创建Service和RS
kubectl create -f my-service.yaml -f my-rs.yaml
创建目录下所有的.yaml、.yml、.json自定义文件
kubectl create -f <directory>
6.查看资源对象
# 查看所有pod列表
kubectl get pods
#查看RC和Service列表
kubectl get rc,service
7.显示资源对象详细信息
# 显示node的详细信息 kubectl describe nodes <node-name> # 显示Pod的详细信息 kubectl describe pods/<pod-name> # 显示由RC管理的Pod信息 kubectl describe pods <rc-name>
8.删除资源对象
# 基于pod.yaml定义的名称删除pod kubectl delete -f pod.yaml # 删除所有包含某个Label的Pod和Service kubectl delete pods,service -l name=<label-name> # 删除所有Pod kubectl delete pods --all
9.执行容器命令
# 执行Pod的date命令,默认使用Pod中的第一个容器执行 kubectl exec <pod-name> date # 指定Pod中的某个容器执行date命令 kubectl exec <pod-name> -c <container-name> date # 通过bash获得Pod中某个容器的TTY,相当于登录容器 kubectl exec -it <pod-name> -c <container-name> /bin/bash
10.查看容器日志
# 查看容器输出到stdout的日志 kubectl logs <pod-name> # 跟踪查看容器的日志,相当于tail -f命令 kubectl logs -f <pod-name> -c <container-name>
11.创建或更新资源对象(如果目标资源对象不存在,则进行创建,否则进行更新)
kubectl apply -f app.yaml
12.在线编辑运行中的资源对象
# 编辑一个nginx的deployment
kubectl edit deploy nginx
13.将Pod的开放端口映射到本地
# 将集群上Pod的80端口映射到本地8000端口 kubectl port-forward --address 0.0.0.0 pod/nginx-6ccye47-bgyd 8000:80
14.在Pod和本地之间复制文件
# 把Pod上的/data复制到本地的/opt/data目录 kubectl cp nginx-6ccye47-bgyd:/data /opt/data
15.资源对象的标签设置
# 为default namespace设置testing=true kubectl label namespace default testing=true
16.检查可用的API资源类型列表(列出所有资源对象)
kubectl api-resources
17.使用命令行插件
# 新建一个名为hello.sh可执行脚本,并使用kubectl命令执行 cat >hello.sh <<EOF echo "hello world" EOF chmod +x hello.sh && cp hello.sh /usr/local/binkubectl hello.sh
18.查看当前系统中已安装的插件
kubectl plugin list