Kubectl常用命令参考 本节主要介绍Kubectl常用命令参考。 基础命令 get get命令用于获取集群的一个或一些resource信息。 该命令可以列出集群所有资源的详细信息,resource包括集群节点、运行的pod、Replication Controller、service等。 须知: 集群中可以创建多个namespace,未指定namespace的情况下,所有操作都是针对namespacedefault。 例如: 获取所有pod的详细信息: kubectl get po o wide 获取所有namespace下的运行的所有pod: kubectl get po allnamespaces 获取所有namespace下的运行的所有pod的标签: kubectl get po showlabels 获取该节点的所有命名空间: kubectl get namespace 说明 查询其他节点需要加s指定节点,类似可以使用“kubectl get rc”,“kubectl get svc”,“kubectl get nodes”,“kubectl get deploy”等获取其他resource信息。 以yaml格式输出pod的详细信息: kubectl get po o yaml 以json格式输出pod的详细信息: kubectl get po o json kubectl get po rcnginx2btv4j ocustomcolumnsLABELS:.metadata.labels.app 说明 其中LABELS为显示的列标题,可以自己设置,“.metadata.labels.app”为查询的数据需要按照之前的yaml或json获取。 create kubectl命令用于根据文件或输入创建集群resource。 如果已经定义了相应resource的yaml或json文件,直接kubectl create f filename即可创建文件内定义的resource。 kubectl create f filename expose expose将一个资源包括pod、Replication Controller、service、deployment等公开为一个新的service。 kubectl expose deployment deployname port81 typeNodePort targetport80 nameservicename 说明 给deployname发布一个服务,port为暴露出去的端口,type为服务类型,targetport为容器端口,port通过clusterip加端口访问,targetport通过节点ip加端口访问。 run 例如: 在集群中运行一个特定的镜像。 kubectl run deployname imagenginx:latest 在创建时指定运行的命令: kubectl run deployname imagebusybox command ping baidu.com set 在对象上设置特定功能。 例如: 将一个deployname的image改为镜像为1.0的image: kubectl set image deploy deployname containernamecontainername:1.0 edit edit提供了另一种更新resource源的操作。 例如: 使用edit直接更新pod的命令为: kubectl edit po ponginxbtv4j 上面命令的效果等效于: kubectl get po ponginxbtv4j o yaml >> /tmp/nginxtmp.yaml vim /tmp/nginxtmp.yaml /do some changes here / kubectl replace f /tmp/nginxtmp.yaml explain 查看文档或参考资料。 例如: 查看pods/service的相关文档: kubectl explain pods,svc delete 根据resource名或label删除resource。 例如: 立刻删除该pod: kubectl delete po podname now kubectl delete f nginx.yaml kubectl delete deployment deployname