吾八哥学k8s(四):kubernetes常用基本命令
集群相关
查看k8s版本
kubectl version
查看api版本
kubectl api-versions
查看集群信息
kubectl cluster-info
查看集群健康情况
kubectl get cs
查看事件
kubectl get events
Node节点
查看节点列表信息
kubectl get nodes -o wide
查看某节点node-name的信息
kubectl describe node nodeName
添加节点
kubeadm join ...
驱逐节点上的pod
kubectl drain nodeName
节点维护
kubectl cordon nodeName
kubectl uncordon nodeName
删除节点
kubectl delete node nodeName
NameSpace
查看namespace
kubectl get namespaces
创建namespace
kubectl create namespace namespaceName
删除namespace
kubectl delete namespace namespaceName
Pod
查看某namespace下的pod列表,namespace未指定的时候默认为default
kubectl get pods -n namespaceName
若查询所有namespace的pod,则可用:
kubectl get pods --all-namespaces
查看pod基本信息
kubectl get pod [-n namespaceName] podName -o wide #wide换成yaml,可以yaml格式查看pod信息
查看pod描述信息
kubectl describe pod podName [-n namespaceName]
查看pod日志
kubectl logs podName [-n namespaceName] #若pod重启过,查看上一次日志则带上-p参数即可
进入pod容器的bash
kubectl exec -it podName /bin/bash [-n namespaceName]
重启pod
kubectl get pod podName [-n namespaceName] -o yaml | kubectl replace --force -f -
删除pod
kubectl delete pod podName [-n namespaceName]
删除所有pod
kubectl delete pod --all
deployment、rc、services
查看deployment列表
kubectl get deployment [-n namespaceName]
查看deployment描述信息
kubectl describe deployment deploymentName [-n namespaceName]
删除deployment
kubectl delete deployment deploymentName
rc和services的方法类似,不一一列举了
label
编辑label
kubectl label pod podName key=value
#kubectl label pod xxx app=xxx
#若覆盖标签则需加--overwrite参数
删除label
kubectl label pod podName xxx-
查看label
kubectl get pod --show-labels
根据label筛选
kubectl get pod -l key=value
这里以pod为例的,同样适用于node
资源操作
创建资源
kubectl create -f xxx.yaml #支持传递多个文件名、目录名、url等参数
编辑资源
kubectl edit deployment/deploymentName
kubectl edit pod/podName
...
强制替换资源
kubectl replace --force -f xxx.yaml #资源文件格式可以是yaml或json
删除资源
kubectl delete -f xxx.yaml #资源文件格式可以是yaml或json
其他的命令或者详细的参数可参考文档:
Kubernetes、golang、工程效能方向爱好者!个人博客:http://www.5bug.wang/