K8S学习记录 - 常用命令
命令分类
#基础命令(初学者都会使用的) #基础命令(中级) #部署命令 #集群管理命令 #故障排查和调试命令 #高级命令 #设置命令 #其他命令
一、查看类
查看集群
kubectl get nodes
查看node的详细信息
kubectl describe node {nodename}
查看集群信息
kubectl cluster-info
查看集群版本
kubectl version
查看各组件信息
kubectl get componentstatuses
查看API信息
kubectl api-versions
admissionregistration.k8s.io/v1 admissionregistration.k8s.io/v1beta1 apiextensions.k8s.io/v1 apiextensions.k8s.io/v1beta1 apiregistration.k8s.io/v1 apiregistration.k8s.io/v1beta1 apps/v1 authentication.k8s.io/v1 authentication.k8s.io/v1beta1 authorization.k8s.io/v1 authorization.k8s.io/v1beta1 autoscaling/v1 autoscaling/v2beta1 autoscaling/v2beta2 batch/v1 batch/v1beta1 certificates.k8s.io/v1 certificates.k8s.io/v1beta1 coordination.k8s.io/v1 coordination.k8s.io/v1beta1 discovery.k8s.io/v1beta1 events.k8s.io/v1 events.k8s.io/v1beta1 extensions/v1beta1 networking.k8s.io/v1 networking.k8s.io/v1beta1 node.k8s.io/v1beta1 policy/v1beta1 rbac.authorization.k8s.io/v1 rbac.authorization.k8s.io/v1beta1 scheduling.k8s.io/v1 scheduling.k8s.io/v1beta1 storage.k8s.io/v1 storage.k8s.io/v1beta1 v1
查看命名空间
kubectl get ns
查看部署组
kubectl get deployment
查看服务
kubectl get services
查看pod
kubectl get pods
-o wide也比较常用,可以显示更多资源信息,比如pod的IP等
kubectl get pods -o wide
查看所有命名空间的pod
kubectl get pods -A
过滤
grep
kubectl get pods -A | grep istio
查看 pod 详情
注:里面包含具体容器信息
kubectl describe pod {podname}
进入pod
kubectl exec -it {podname} bash
查看日志
kubectl logs [-f] [-p] POD [-c CONTAINER]
-c, --container="": 容器名 -f, --follow[=false]: 指定是否持续输出日志 --interactive[=true]: 如果为true,当需要时提示用户进行输入。默认为true --limit-bytes=0: 输出日志的最大字节数。默认无限制 -p, --previous[=false]: 如果为true,输出pod中曾经运行过,但目前已终止的容器的日志 --since=0: 仅返回相对时间范围,如5s、2m或3h,之内的日志。默认返回所有日志。只能同时使用since和since-time中的一种 --since-time="": 仅返回指定时间(RFC3339格式)之后的日志。默认返回所有日志。只能同时使用since和since-time中的一种 --tail=-1: 要显示的最新的日志条数。默认为-1,显示所有的日志 --timestamps[=false]: 在日志中包含时间戳
注意:如果一个pod中只有一个容器,则不用指定容器名。
举例
kubectl logs echo-service-6747b4cf-d8zx4 -c echo-service -n default
二、操作类
删除
kubectl delete ([-f FILENAME] | TYPE [(NAME | -l label | --all)])
参考资料: