在之前浅谈Kubernetes集群架构 中介绍了kube-apiserver是提供k8s对内或对外的api请求的唯一入口,本文介绍的 kubectl 是官方的CLI命令行工具,用于与 apiserver 进行通信,将用户在命令行输入的命令,组织并转化为 apiserver 能识别的信息,进而实现管理 k8s 各种资源的。
kubectl基础命令
kubectl 提供了k8s内资源进行新增,查询,删除相关的命令,下面简单介绍下常用的一些命令。
kubectl get
get命令一版用于相关资源的查询功能,例如对pod,service,namespace等资源的信息查看。
bash
#查看指定命名空间的pod资源,不指定时默认查default命名空间下的pod资源
kubectl get pods -n <命名空间>
#查看指定命名空间的pod资源的详细信息(比上面的多了pod的ip及node节点等信息)
kubectl get pods -n <命名空间> -o wide
#查看指定命名空间下指定app标签的pod资源,标签名和service名一致时则看的就是service下的pod信息
kubectl get pods -l app=<app标签名称> -n <命名空间>
#查看指定命名空间下的service资源,不指定时默认查default命名空间下的pod资源
kubectl get svc -n <命名空间>
#查看命名空间信息
kubectl get namespace
kubectl create
kubectl create 用于创建相关资源
bash
#创建名称为app的命名空间
kubectl create ns app
kubectl get ns
kubectl delete
kubectl delete 用于删除相关资源
bash
#删除名称为app的命名空间
kubectl delete namespace app
kubectl describe
kubectl describe 用于查看资源的描述信息,通常是查看service的信息
bash
#查看newnamespace空间下的nginx这个service的描述信息
kubectl describe svc nginx -n newnamespace
#查看test空间下的mall..这个pod的描述信息
kubectl describe pod -n test mall-d9bbd8bbc-dxvcc