包含了常用命令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