k8s常用命令

2020-06-11  本文已影响0人  偷蛋蛋

包含了常用命令kubectl 操作k8s 常用命令

kubectl 输出格式

###显示Pod的更多信息
kubectl get pod <pod-name> -o wide

###以yaml格式显示Pod的详细信息
kubectl get pod <pod-name> -o yaml

查看日志

# 追踪名称空间 nsA 下容器组 pod1 的日志
kubectl logs -f pod1 -n nsA

# 追踪名称空间 nsA 下容器组 pod1 中容器 container1 的日志
kubectl logs -f pod1 -c container1 -n nsA

# 查看容器组 nginx 下所有容器的日志
kubectl logs nginx --all-containers=true

# 查看带有 app=nginx 标签的所有容器组所有容器的日志
kubectl logs -lapp=nginx --all-containers=true

# 查看容器组 nginx 最近20行日志
kubectl logs --tail=20 nginx

# 查看容器组 nginx 过去1个小时的日志
kubectl logs --since=1h nginx

创建资源对象

###根据yaml配置文件一次性创建service和rc
kubectl appl -f my-service.yaml -f my-rc.yaml

###根据<directory>目录下所有.yaml、.yml、.json文件的定义进行创建操作
kubectl apply -f <directory>

###EOF命令直接
kubectl apply -f - <<EOF
***
EOF

查看资源对象

###查看所有Pod列表
kubectl get pods

###查看rc和service列表
kubectl get rc,service

###查看deploy
kubectl get deploy

描述资源对象

###显示Node的详细信息
kubectl describe nodes <node-name>

###显示Pod的详细信息
kubectl describe pods/<pod-name>

###显示由RC管理的Pod的信息
kubectl describe pods <rc-name>

删除资源对象

###基于Pod.yaml定义的名称删除Pod
kubectl delete -f pod.yaml

###删除所有包含某个label的Pod和service
kubectl delete pods,services -l name=<label-name>

###删除所有Pod
kubectl delete pods --all

执行容器的命令

###执行Pod的data命令,默认是用Pod中的第一个容器执行
kubectl exec <pod-name> data

###指定Pod中某个容器执行data命令
kubectl exec <pod-name> -c <container-name> data

###通过bash获得Pod中某个容器的TTY,相当于登录容器
kubectl exec -it <pod-name> -c <container-name> bash

容器扩缩容

kubectl scale deployments/nginx --replicas=4

其他命令

#驱赶 Evicted  节点数据
kubectl get pods | grep Evicted | awk '{print $1}' | xargs kubectl delete pod
###查看所有api资源
kubectl api-resources

###查看api的版本
kubectl api-versions

###kubectl explain <资源名对象名>查看资源对象拥有的字段
kubectl explain XXX

###  删除无效的 Evicted 
kubectl get pods | grep Evicted | awk '{print $1}' | xargs kubectl delete pod
上一篇下一篇

猜你喜欢

热点阅读