简介
kubectl是操作k8s集群的命令行工具,安装在k8s的master节点
kubectl通过与apiserver交互可以实现对k8s集群中各种资源的增删改查
模板
command:对一个或多个资源执行的操作【create、apply、get、describe、delete】
TYPE:指定资源类型【pod、node、services、deployments】【资源类型区分大小写,可以指定单数、复数或缩写形式,如pods/pod/po】
NAME:指定资源的名称,名称区分大小写,如果省略名称,则显示所有资源的详细信息
flags:指定可选的参数【例如,可以使用-s或-server参数指定 Kubernetes API服务器的地址和端口,-n指定名称空间等】
查看集群状态信息
kubectl cluster-info
Get
查看集群状态
kubectl get cs
查看所有所有守护程序集
kubectl get ds --all-namespaces
查看多个资源类型
kubectl get svc,node
查看所有服务
kubectl get services
列出在节点server01上运行的所有pod
kubectl get pods --field-selector=spec.nodeName=server01
查看所有pod
kubectl get pods
查看所有pod并包含附加信息
kubectl get pods -o wide
查看一个资源类型中的多个资源
kubectl get pod -n kube-system coredns-6955765f44-c9zfh kube-proxy-28dwj
Describ
查看节点的详细信息
kubectl describe nodes 节点
描述所有的pod
kubectl describe pods
查看pod的详细信息
kubectl describe pods pod名
检查ReplicationController的状态
kubectl describe replicationcontrollers/nginx
Delete
使用pod.yaml文件中指定的类型和名称删除pod
kubectl delete -f pod.yaml
删除标签名的所有pod和服务
kubectl delete pods,services -l name=标签名
删除所有具有标签名称的pod和服务,包括未初始化的那些
kubectl delete pods,services -l name=标签名 --include-uninitialized
删除所有pod,包括未初始化的pod、
kubectl delete pods --all
Exec
进入指定名称的pod中的容器,默认进入第一个容器
kubectl exec -it pod名 bash
进入指定名称的pod中的指定容器
kubectl exec -it pod名 -c 容器名 bash
Logs
从pod返回日志快照
kubectl logs pod名
从pod开始流式传输日志
kubectl logs -f pod名
格式化输出
将pod信息格式化输出到一个yaml文件
kubectl get pod web-pod-152u8 -o yaml