为了方便在命令行下对集群、节点、pod进行管理,kubernetes官方提供了一个管理命令:kubectl
kubectl作为客户端CLI工具,可以让用户通过命令行对Kubernetes集群进行操作。
1. kubectl介绍
kubectl命令行的语法:
kubectl [command] [TYPE] [NAME] [flags]
command:子命令,用于操作Kubernetes集群资源对象的命令,例如create、delete、describe、get、apply等
TYPE:资源对象的类型,区分大小写,能以单数、复数或简写形式表示。例如以下3种TYPE是等价的
- kubectl get pod pod-name
- kubectl get pods pod-name
- kubectl get po pod-name
NAME:资源对象的名称,区分大小写,如果不指定名称,系统将返回所有Pod的列表
flags:kubectl子命令的可选参数,比如可以使用 “-o wide“ 来显示更多的信息
2. kubectl get 命令
a. 新建资源
ⅰ. 新建资源:
kubectl create -f
pod.yaml
ⅱ. 新建空间
- 创建空间
kubectl create ns
wordpress
b. 删除资源
ⅰ. YAML 删除
- 删除资源-根据YAML文件:
kubectl delete -f
pod.yaml
ⅱ. pod 删除
- 删除资源-根据pod名字:
kubectl delete pod
nginx
ⅲ. pod 删除所有
- 删除资源-删除所有pod:
kubectl delete pod --all
ⅳ. 删除空间
- 删除指定空间
kubectl delete ns wordpress
c. 查看信息
ⅰ. 查看node信息
- 查看node信息:
kubectl get nodes -n
ⅱ. 查看 pod 信息
- 查看pod信息:
kubectl get pod -o wide
1. 查看所有 pod 信息
- 查看所有信息:
kubectl get all
- -A 所有节点信息
2. 查看单个 pod 详细信息
- 查看pod详细信息:
kubectl describe pod
nginx
3. 查看 pod 系统组件
- 查看kube-system空间内的pod:
kubectl get pod -n kube-system
- 例如网络问题
ⅲ. 查看 pod 空间信息
1. 查看 pod 空间信息
- 查看集群中的命名空间
kubectl get namespace
kubectl get ns
- 查看指定空间:
kubectl get deploy -n namespace
d. 创建 apply 对象
kubectl apply
命令用于以声明方式创建和更新对象
apiVersion: v1
kind: Pod
metadata:
name: fl-nginx
labels:
app: fl-nginx
type: front-end-service
spec:
containers:
- name: nginx-container
image: nginx:1.18
- 创建或者是更新
kubectl apply -f nginx.yaml
ⅰ. 查看 deployment 空间
kubectl get deployment
[root@master ~]# kubectl get deployment
NAME READY UP-TO-DATE AVAILABLE AGE
doploymen01 2/3 3 2 22h
三、帮助
如果在使用命令过程中出现问题,那么我们也可以通过使用 --help来获取 kubectl 命令的使用说明:
- 获取 kubectl 的使用说明: kubectl --help
- 获取 kubectl 子命令的使用说明:kubectl get --help / kubectl delete --help
- 获取资源控制器说明: kubectl explain pod / rs / deployment / ·····