查找Kubernetes搜索词

查找Kubernetes搜索词,kubernetes,kubernetes-pod,Kubernetes,Kubernetes Pod,在kubernetes中查找用于选择或显示对象的值时遇到问题。我觉得我没有正确使用kubernetes文档,或者这些文档与我还没有学会的命令相关联 示例: 查找某个节点上的所有播客?你怎么知道它在规范中 kubectl get pods——所有名称空间——o宽——字段选择器spec.nodeName= 让所有吊舱都处于运行状态?您如何知道此值存储在status.phase中 kubectl get pods——字段选择器状态。阶段=运行 获取所有pod,但只列出名称,您如何知道它名为meta

在kubernetes中查找用于选择或显示对象的值时遇到问题。我觉得我没有正确使用kubernetes文档,或者这些文档与我还没有学会的命令相关联

示例:

  • 查找某个节点上的所有播客?你怎么知道它在规范中

    kubectl get pods——所有名称空间——o宽——字段选择器spec.nodeName=

  • 让所有吊舱都处于运行状态?您如何知道此值存储在status.phase中

    kubectl get pods——字段选择器状态。阶段=运行

  • 获取所有pod,但只列出名称,您如何知道它名为metadata.name

    kubectl get pods-o自定义列:POD:metadata.name


  • Kubernetes中的每个资源都有一些规范描述。例如,您可以在文档中找到资源的详细规范。如果导航到
    Pod
    定义(),您将看到
    Pod
    类型及其底层类型的所有属性

    例如,第一点,阅读
    PodSpec
    (),您可以看到
    nodeName
    属性包含一个节点的名称,该节点应用于调度pod


    可以通过
    kubectl
    命令查看相同的文档。要获取
    PodSpec
    的文档,您只需键入
    kubectl explain pod.spec
    即可在中找到几乎所有Kubernetes对象的描述。
    具体地说,描述了
    pod
    对象属性

    pod对象的每个成员都可以通过同一文档页面中的直接链接进行进一步探索

    --字段选择器
    允许您创建所需的任何过滤器,正如您在问题中已经很好地描述的那样。

    实用答案:

    查找某个节点上的所有播客

    它包含在的输出中

    kubectl describe node node-001.example.com
    
    让所有吊舱都处于运行状态

    获取所有pod,但仅列出名称


    请注意,这些特定命令的组合不是特别好。如果您只想获得特定节点上所有正在运行的POD的名称,可以将原始问题中更详细的选项组合在一起(如其他人所建议,使用作为参考)。

    您可以浏览kubectl命令行的文档,了解如何使用它。下面的链接给出了完全相同的结果

    同时,第三个命令应该修改如下,以获得pod名称的唯一输出

    kubectl get pods  --output=custom-columns=NAME:metadata.name
    

    除了@krizas answer wand add之外,您还可以使用
    kubectl explain
    输出的
    --recurctive
    选项

    添加--recursive标志以一次显示所有字段,而不显示 描述。有关每个字段的信息都是从 OpenAPI格式的服务器

    我的意思是,您可以有所有可用对象和子对象的简短列表,然后才有它们的描述。例如

     kubectl explain pod --recursive
     #will give you all sub-objects of pod
    
    或者您可以拥有所有pod.metadata对象,如

    kubectl explain pod.metadata --recursive
    FIELDS:
       annotations  <map[string]string>
       clusterName  <string>
       creationTimestamp    <string>
       deletionGracePeriodSeconds   <integer>
       deletionTimestamp    <string>
       finalizers   <[]string>
       generateName <string>
       generation   <integer>
       initializers <Object>
          pending   <[]Object>
             name   <string>
          result    <Object>
             apiVersion     <string>
             code   <integer>
             details        <Object>
                causes      <[]Object>
                   field    <string>
                   message  <string>
                   reason   <string>
                group       <string>
                kind        <string>
                name        <string>
                retryAfterSeconds   <integer>
                uid <string>
             kind   <string>
             message        <string>
             metadata       <Object>
                continue    <string>
                resourceVersion     <string>
                selfLink    <string>
             reason <string>
             status <string>
       labels       <map[string]string>
       managedFields        <[]Object>
          apiVersion        <string>
          fields    <map[string]>
          manager   <string>
          operation <string>
          time      <string>
       name <string>
       namespace    <string>
       ownerReferences      <[]Object>
          apiVersion        <string>
          blockOwnerDeletion        <boolean>
          controller        <boolean>
          kind      <string>
          name      <string>
          uid       <string>
       resourceVersion      <string>
       selfLink     <string>
       uid  <string>
    
    kubectl.metadata——递归
    领域:
    注释
    俱乐部名称
    creationTimestamp
    删除时间间隔秒
    删除时间戳
    终结器
    发电机名称
    一代
    初始化者
    悬而未决的
    名称
    结果
    蜂房
    代码
    细节
    原因
    领域
    消息
    理由
    团体
    友善的
    名称
    RetryAfterns
    液体
    友善的
    消息
    元数据
    继续
    资源版本
    自链接
    理由
    地位
    标签
    管理领域
    蜂房
    领域
    经理
    活动
    时间
    名称
    名称空间
    所有者参考
    蜂房
    区块所有者删除
    控制器
    友善的
    名称
    液体
    资源版本
    自链接
    液体
    

    然后很容易解释你需要的确切对象。另外,你眼前的结构也很好。

    如果很难跟上K8s命令的节奏,那么就使用
    grep
    (或者对于第三种情况,将其与
    sed
    )结合起来解决所有这些用例。对于其他有此问题的人,最好的方法是使用@krisas comment中的建议。我通常使用
    kubectl explain pod
    获取元数据、规范、状态等不同字段。然后使用
    kubectl explain pod.metadata | grep name
    查找子字段。
     kubectl explain pod --recursive
     #will give you all sub-objects of pod
    
    kubectl explain pod.metadata --recursive
    FIELDS:
       annotations  <map[string]string>
       clusterName  <string>
       creationTimestamp    <string>
       deletionGracePeriodSeconds   <integer>
       deletionTimestamp    <string>
       finalizers   <[]string>
       generateName <string>
       generation   <integer>
       initializers <Object>
          pending   <[]Object>
             name   <string>
          result    <Object>
             apiVersion     <string>
             code   <integer>
             details        <Object>
                causes      <[]Object>
                   field    <string>
                   message  <string>
                   reason   <string>
                group       <string>
                kind        <string>
                name        <string>
                retryAfterSeconds   <integer>
                uid <string>
             kind   <string>
             message        <string>
             metadata       <Object>
                continue    <string>
                resourceVersion     <string>
                selfLink    <string>
             reason <string>
             status <string>
       labels       <map[string]string>
       managedFields        <[]Object>
          apiVersion        <string>
          fields    <map[string]>
          manager   <string>
          operation <string>
          time      <string>
       name <string>
       namespace    <string>
       ownerReferences      <[]Object>
          apiVersion        <string>
          blockOwnerDeletion        <boolean>
          controller        <boolean>
          kind      <string>
          name      <string>
          uid       <string>
       resourceVersion      <string>
       selfLink     <string>
       uid  <string>