• Kubernetes入门(三)


    kubectl命令使用

    语法

    语法:kubectl [command] [TYPE] [NAME] [flags]

    1. command:子命令,用于操作kubernetes集群资源对象的命令,如create、delete、describe、get、apply等;

    2. TYPE:资源对象的类型,如pod、service、rc、deployment、node等,可以单数、复数以及简写(pod/pods/po、service/services/svc);

    3. NAME:资源对象的名称,不指定则返回所有,如 get pod 会返回所有pod,get pod nginx 则只返回nginx这个pod;

    4. flags:kubectl子命令的可选参数,例如 -n 指定namespace,-s 指定apiserver的URL。

    资源对象列表

    • 获取资源对象列表:

    # kubectl api-resouces

    名称                   简写
    componentsstatuses            cs
    daemonsets                 ds
    deployment                deploy
    events                  ev
    ebdpoints                  ep
    horizontalpodautoscalers            hpa
    ingresses                  ing
    jobs    
    limitranges                limits
    nodes                  no
    namespaces               ns
    pods                    po
    persistentvolumes              pv
    persistentvolumeclaims          pvc
    resourcequotas               quato
    replicationcontrollers                              rc
    secrets    
    serviceaccounts              sa
    services                  svc

    特殊用法:

    # kubectl get pod
    NAME          READY     STATUS    RESTARTS   AGE
    mysql-f16r2   1/1       Running   1          3d
    myweb-f8xw9   1/1       Running   1          3d

    # kubectl get pod mysql-f16r2
    NAME          READY     STATUS    RESTARTS   AGE
    mysql-f16r2   1/1       Running   1          3d

    # kubectl get pod/myweb-f8xw9 rc/myweb
    NAME             READY     STATUS    RESTARTS   AGE
    po/myweb-f8xw9   1/1       Running   1          3d

    NAME       DESIRED   CURRENT   READY     AGE
    rc/myweb   1         1         1         3d

    # kubectl create -f pod1.yaml -f rc1.yaml -f svc1.yaml              #可同时创建多个资源对象

    kubectl子命令主要包括对资源的创建、删除、查看、修改、配置、运行等。

    kubectl --help 可以查看所有子命令。

    kubectl options 可以查看支持的参数,例如 --namespace 指定namespace。

    命令输出格式

    kubectl命令可以用多种格式对结果进行显示,输出格式通过 -o 参数指定。

    • -o 支持的格式有:

     举例子:

    # kubectl get pod -o wide

    # kubectl get pod -o yaml

    # kubectl get pod --sort-by=.metadata.name                #按name排序输出

    # kubectl get pod -o custom-columns=NAME:.metadata.name,RESC:.metadata.resourceVersion

    kubectl命令示例

    创建资源对象:

    根据yaml文件创建service和deployment

    # kubectl create -f my-service.yaml -f my-deploy.yaml
    也可以指定一个目录,这样可以根据该目录下所有yaml或json文件一次性定义资源

    # kubectl create -f <directory>

    查看所有pod 

    # kubectl get pod


    查看deployment和service

    # kubectl get deploy,svc

    显示pod的详细信息

    # kubectl describe pod <pod-name>

    显示node的详细信息

    # kubectl describe node <node-name>

    显示deployment管理的pod信息

    # kubectl describe pod <deployment-name>

    基于yaml文件删除

    # kubectl delete -f pod.yaml

    删除所有pod

    # kubectl delete po --all

    在pod中执行某个命令,如date

    # kubectl exec <pod-name> date

    进入到pod的容器里:

    # kubectl exec -it <pod-name> bash

    查看容器日志:

    # kubectl logs <pod-name>

    动态查看

    # kubectl logs -f <pod-name>

  • 相关阅读:
    结构体数组
    怎样在Linux下通过ldapsearch查询活动文件夹的内容
    Phalcon之 表单(Forms)
    Java模式(适配器模式)
    人类智商一般在多少左右?爱因斯坦的智商是多少?
    SQL中declare申明变量
    apache2.2 虚拟主机配置
    项目实施阶段该做好哪些方面的工作
    HTML精确定位:scrollLeft,scrollWidth,clientWidth,offsetWidth之全然具体解释
    ExtJs自学教程(1):一切从API開始
  • 原文地址:https://www.cnblogs.com/qq3245792286/p/16203583.html
Copyright © 2020-2023  润新知