(K8s学习笔记四)常用命令实例

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/bin

kubectl hello.sh

18.查看当前系统中已安装的插件 

kubectl plugin list
一入运维深似海,从此不见彼岸花
原文地址:https://www.cnblogs.com/cn-jasonho/p/13285564.html