• kubectl 常用命令总结


    1. help 帮助信息

    # kubectl --help
    kubectl controls the Kubernetes cluster manager.
     
    Find more information at: https://kubernetes.io/docs/reference/kubectl/overview/
     
    Basic Commands (Beginner):
      create         Create a resource from a file or from stdin.
      expose         使用 replication controller, service, deployment 或者 pod 并暴露它作为一个新的Kubernetes Service
      run            在集群中运行一个指定的镜像
      set            为 objects 设置一个指定的特征
     
    Basic Commands (Intermediate):
      explain        查看资源的文档
      get            显示一个或更多 resources
      edit           在服务器上编辑一个资源
      delete         Delete resources by filenames, stdin, resources and names, or by resources and label selector
     
    Deploy Commands:
      rollout        Manage the rollout of a resource
      scale          为 Deployment, ReplicaSet, Replication Controller 或者 Job 设置一个新的副本数量
      autoscale      自动调整一个 Deployment, ReplicaSet, 或者 ReplicationController 的副本数量
     
    Cluster Management Commands:
      certificate    修改 certificate 资源.
      cluster-info   显示集群信息
      top            Display Resource (CPU/Memory/Storage) usage.
      cordon         标记 node 为 unschedulable
      uncordon       标记 node 为 schedulable
      drain          Drain node in preparation for maintenance
      taint          更新一个或者多个 node 上的 taints
     
    Troubleshooting and Debugging Commands:
      describe       显示一个指定 resource 或者 group 的 resources 详情
      logs           输出容器在 pod 中的日志
      attach         Attach 到一个运行中的 container
      exec           在一个 container 中执行一个命令
      port-forward   Forward one or more local ports to a pod
      proxy          运行一个 proxy 到 Kubernetes API server
      cp             复制 files 和 directories 到 containers 和从容器中复制 files 和 directories.
      auth           Inspect authorization
     
    Advanced Commands:
      diff           Diff live version against would-be applied version
      apply          通过文件名或标准输入流(stdin)对资源进行配置
      patch          使用 strategic merge patch 更新一个资源的 field(s)
      replace        通过 filename 或者 stdin替换一个资源
      wait           Experimental: Wait for a specific condition on one or many resources.
      convert        在不同的 API versions 转换配置文件
     
    Settings Commands:
      label          更新在这个资源上的 labels
      annotate       更新一个资源的注解
      completion     Output shell completion code for the specified shell (bash or zsh)
     
    Other Commands:
      api-resources  Print the supported API resources on the server
      api-versions   Print the supported API versions on the server, in the form of "group/version"
      config         修改 kubeconfig 文件
      plugin         Provides utilities for interacting with plugins.
      version        输出 client 和 server 的版本信息
     
    Usage:
      kubectl [flags] [options]
     
    Use "kubectl <command> --help" for more information about a given command.
    Use "kubectl options" for a list of global command-line options (applies to all commands). 
    

    2. kubect create 创建一个资源从一个文件或标准输入

    kubectl create deployment nginx --image=nginx:1.14 
    kubectl create -f my-nginx.yaml
    

    3. kubectl run 在集群中运行一个指定的镜像

    kubectl run nginx --image=nginx:1.16 --port=80 --replicas=1
    

    4. kubectl expose 创建Service对象以将应用程序"暴露"于网络中

    kubectl expose deployment/nginx  --type="NodePort" --port=80 --name=nginx
    

    5.kubectl get 显示一个或更多resources资源

    kubectl get cs                          # 查看集群状态
    kubectl get nodes                       # 查看集群节点信息
    kubectl get ns                          # 查看集群命名空间
    kubectl get svc -n kube-system          # 查看指定命名空间的服务
    kubectl get pod <pod-name> -o wide      # 查看Pod详细信息
    kubectl get pod <pod-name> -o yaml      # 以yaml格式查看Pod详细信息
    kubectl get pods                        # 查看资源对象,查看所有Pod列表
    kubectl get rc,service                  # 查看资源对象,查看rc和service列表
    kubectl get pod,svc,ep --show-labels    # 查看pod,svc,ep能及标签信息
    kubectl get all --all-namespaces        # 查看所有的命名空间
    

    6.kubectl clster-info 显示集群信息

    kubectl cluster-info            # 查看集群状态信息
    

    7. kubectl describe 描述资源对象

    kubectl describe nodes <node-name>  # 显示Node的详细信息
    kubectl describe pods/<pod-name>    # 显示Pod的详细信息
    

    8.kubectl scale pod扩容与缩容

    kubectl scale deployment nginx --replicas 5    # 扩容
    kubectl scale deployment nginx --replicas 3    # 缩容
    

    9.查看服务器上支持的API资源

    # kubectl api-resources
    NAME                              SHORTNAMES   APIGROUP                       NAMESPACED   KIND
    bindings                                                                      true         Binding
    componentstatuses                 cs                                          false        ComponentStatus
    configmaps                        cm                                          true         ConfigMap
    endpoints                         ep                                          true         Endpoints
    ......
    ```
    
    ### 10.生成yaml资源配置文件方法
    
    ```
    # 用run命令生成yaml文件
    kubectl create deployment nginx --image=nginx:1.14 -o yaml --dry-run > my.deploy.yaml
     
    # 用get命令导出yaml文件
    kubectl get deploy nginx-deployment -o yaml --export > my.deploy.yaml
     
    # Pod容器的字段拼写忘记了
    kubectl explain pods.spec.containers
    ```
  • 相关阅读:
    二、JVM — 垃圾回收
    一、JVM — Java内存区域
    四、JVM — 类文件结构
    java 如何重写equal 和hashcode方法(最佳实践)
    Java关于继承中的内存分配
    Linux — 基础知识
    Zookeeper — 应用场景
    分布式服务接口请求的顺序性如何保证?
    如何设计一个高并发系统?
    索引策略
  • 原文地址:https://www.cnblogs.com/zhichaoma/p/13564374.html
Copyright © 2020-2023  润新知