一、基础命令
- kubectl apply -f file :使用指定文件中的内容创建或更新资源。
- kubectl create -f file :用指定文件中的内容创建资源。
- kubectl delete resource name :删除一个资源。
- kubectl delete -f file :从指定文件中删除资源。
- kubectl edit resource name :编辑某个资源的定义。
- kubectl get resource :查看资源的列表。
- kubectl describe resource name :查看资源的详细信息。
- kubectl explain resource :查看资源的字段描述。
- kubectl api-versions :查看API版本。
- kubectl cluster-info :查看集群信息。
- kubectl config current-context:查看当前上下文的名称。
- kubectl config get-contexts:查看上下文的列表。
- kubectl config set-context name :设置当前上下文。
- kubectl config use-context name :切换到指定的上下文。
二、资源操作命令
15 . kubectl run name --image=image :使用指定镜像创建一个pod。
16 . kubectl scale resource name --replicas=number :为某个资源设置副本数。
17 . kubectl set image resource name container=image :为某个资源的某个容器设置镜像。
18 . kubectl expose resource name --port=port --target-port=target-port --type=type :为指定资源创建服务。
19 . kubectl label resource name key=value :为某个资源设置标签。
20 . kubectl annotate resource name key=value :为某个资源设置注释。
21 . kubectl taint node key=value:effect :在节点上设置污点。
22 . kubectl uncordon node :解除节点的停机维护状态。
23 . kubectl cordon node :标记节点为不可调度。
24 . kubectl drain node :排空节点以准备维护。
三、Pod操作命令
25 . kubectl exec pod command :在运行的pod中执行一个命令。
26 . kubectl logs pod :查看pod的日志。
27 . kubectl port-forward pod localPort:remotePort :将pod的端口转发到本地。
28 . kubectl attach pod :连接到运行中的容器。
29 . kubectl cp file-path namespace/pod:container-path :复制文件到pod或从pod复制文件。
四、滚动更新命令
30 . kubectl rollout status resource name :查看一个滚动更新的状态。
31 . kubectl rollout undo resource name :撤销一个滚动更新。
32 . kubectl rollout history resource name :查看一个滚动更新的历史记录。
33 . kubectl rollout restart resource name :重新启动一个滚动更新。
34 . kubectl rollout pause resource name :暂停一个滚动更新。
35 . kubectl rollout resume resource name :恢复一个滚动更新。
五、集群管理命令
36 . kubectl top resource name :查看资源的使用情况。
37 . kubectl certificate approve name :批准证书签发请求。
38 . kubectl certificate deny name :拒绝证书签发请求。
39 . kubectl auth can-i verb resource :查看当前用户是否有指定动作的权限。
40 . kubectl api-resources :输出服务端API支持的资源类型。
六、高级命令
41 . kubectl diff -f file :比较本地文件和远程资源之间的区别。
42 . kubectl patch resource name :更新资源的字段。
43 . kubectl replace -f file :通过文件名替换一个资源。
44 . kubectl kustomize directory :从指定目录构建kustomization目标。
45 . kubectl wait conditions :等待一个或多个资源满足特定条件。
七、调试与日志命令
46 . kubectl logs pod -f :实时查看pod的日志。
47 . kubectl logs pod --tail=N :查看pod的最后N行日志。
48 . kubectl logs pod | grep keyword :根据关键字查看pod的日志。
49 . kubectl debug pod :对指定的pod进行调试。
八、其他常用命令
50 . kubectl version :查看集群的版本信息。
51 . kubectl namespace :查看或管理命名空间。
52 . kubectl completion :输出shell自动补全代码。
53 . kubectl label nodes node-name label-key=label-value :给节点打标签。
54 . kubectl label nodes node-name label-key- :删除节点的标签。
55 . kubectl taint nodes node-name key=value:effect :给节点添加污点。
56 . kubectl taint nodes node-name key:effect- :删除节点的污点。
57 . kubectl edit svc/service-name :编辑指定的service。
58 . kubectl get pods -A :查看所有命名空间下的pod。
59 . kubectl get pods -n namespace:查看指定命名空间下的pod。
60 . kubectl get nodes --show-labels:查看所有节点及其标签。
61 . kubectl get services:查看集群中服务的状态。
62 . kubectl get statefulset:查看statefulset列表。
63 . kubectl describe nodes:显示集群节点资源的使用情况以及标签。
64 . kubectl describe pods:显示指定pod的详细信息。
65 . kubectl describe quota:查看集群的资源配额。
66 . kubectl describe limitrange:查看集群的资源限制。
67 . kubectl get pod -o wide | grep keyword :查询包含特定关键字的pod,并输出详细信息。
九、资源管理与扩展命令
68 . kubectl autoscale resource name --min=min-replicas --max=max-replicas :为资源设置自动扩缩容。
69 . kubectl scale deployment name --replicas=number :为deployment设置副本数。
70 . kubectl top node node-name :查看指定节点的资源使用情况。
71 . kubectl top pod pod-name -n namespace :查看指定命名空间下pod的资源使用情况。
十、特定资源类型操作命令
72 . kubectl create secret type name --from-file=file :创建secret资源。
73 . kubectl create configmap name --from-file=file :创建configmap资源。
74 . kubectl get secrets :查看集群中的secret资源。
75 . kubectl get configmaps :查看集群中的configmap资源。
76 . kubectl delete secret name :删除指定的secret资源。
77 . kubectl delete configmap name :删除指定的configmap资源。
十一、与存储相关的命令
78 . kubectl create persistentvolume name --capacity=capacity --accessmodes=modes :创建persistentvolume资源。
79 . kubectl create persistentvolumeclaim name --accessmodes=modes --storageclass=class --request-storage=size :创建persistentvolumeclaim资源。
80 . kubectl get persistentvolumes :查看集群中的persistentvolume资源。
81 . kubectl get persistentvolumeclaims :查看集群中的persistentvolumeclaim资源。
十二、与网络相关的命令
82 . kubectl create networkpolicy name --pod-selector=selector :创建networkpolicy资源以控制pod间的网络通信。
83 . kubectl get networkpolicies :查看集群中的networkpolicy资源。
十三、与RBAC(基于角色的访问控制)相关的命令
84 . kubectl create role name --verb=verbs --resource=resources --namespace=namespace :创建role资源。
85 . kubectl create rolebinding name --role=role-name --user=username --namespace=namespace :创建rolebinding资源以将role绑定到用户。
86 . kubectl get roles :查看集群中的role资源。
87 . kubectl get rolebindings :查看集群中的rolebinding资源。
十四、CronJob与定时任务相关命令
88 . kubectl create cronjob name --image=image --schedule="cron expression":创建CronJob资源,用于按指定计划运行容器。
89 . kubectl get cronjobs:查看集群中所有的CronJob资源。
90 . kubectl describe cronjob name:查看指定CronJob的详细信息。
十五、高级配置与管理命令
91 . kubectl proxy :启动一个代理服务器,可以通过浏览器访问Kubernetes API。
92 . kubectl api-resources --verbs=list,watch,create,update,patch,delete :列出所有支持特定操作的API资源。
93 . kubectl plugin list :列出所有已安装的kubectl插件。
94 . kubectl completion bash :生成bash自动补全脚本。
95 . kubectl config set-cluster cluster-name --server=server --certificate-authority=cert-path :设置集群信息。
96 . kubectl config set-credentials user-name --client-certificate=cert-path --client-key=key-path --token=token :设置用户凭据。
97 . kubectl config set-context context-name --cluster=cluster-name --user=user-name --namespace=namespace :设置上下文。
十六、自定义资源定义(CRD)相关命令
98 . kubectl apply -f crd-yaml-file :应用自定义资源定义(CRD)文件,创建新的资源类型。
99 . kubectl get crd :列出所有已定义的自定义资源。
100 . kubectl get crd-plural :查看特定自定义资源的实例列表,其中crd-plural是CRD定义中的plural字段值。