zoukankan      html  css  js  c++  java
  • 【Kubernetes】字段与字段选择器

    环境

    1. kubernetes 1.20.2
    2. Spring Boot 2.5.0-M1

    目标

    之前介绍了 Pod 有哪些字段,现在根据这些字段来选择不同的 Pod。

    字段选择器

    现在集群里 Pod 的状态如下,如果看过之前容器的重启策略,这些 Pod 的状态应该都是见过的。

    [root@master pod]# kubectl get pod -o wide
    NAME            READY   STATUS      RESTARTS   AGE     IP            NODE    NOMINATED NODE   READINESS GATES
    pod-completed   0/1     Completed   0          95s     10.244.2.33   node2   <none>           <none>
    pod-demo        1/1     Running     0          68m     10.244.1.63   node1   <none>           <none>
    pod-demo1       1/1     Running     0          53m     10.244.1.64   node1   <none>           <none>
    pod-error       0/1     Error       0          2m32s   10.244.1.65   node1   <none>           <none>
    

    名称选择

    名称是 metadata 大类下的一个字段,如果看过 Pod 的组成字段,应该好理解。
    kubectl get pod --field-selector metadata.name=pod-demo

    [root@master pod]# kubectl get pod --field-selector metadata.name=pod-demo
    NAME       READY   STATUS    RESTARTS   AGE
    pod-demo   1/1     Running   0          71m
    

    状态选择

    kubectl get pod --field-selector status.phase=Failed

    [root@master pod]# kubectl get pod --field-selector status.phase=Failed
    NAME        READY   STATUS   RESTARTS   AGE
    pod-error   0/1     Error    0          21m
    

    kubectl get pod --field-selector status.phase="Succeeded"

    [root@master pod]# kubectl get pod --field-selector status.phase="Succeeded"
    NAME            READY   STATUS      RESTARTS   AGE
    pod-completed   0/1     Completed   0          23m
    

    支持的操作符

    等于

    其中 = 和 == 都表示等于:

    [root@master pod]# kubectl get pod --field-selector status.phase==Running
    NAME        READY   STATUS    RESTARTS   AGE
    pod-demo    1/1     Running   0          92m
    pod-demo1   1/1     Running   0          77m
    

    不等于

    [root@master pod]# kubectl get pod --field-selector status.phase!=Running
    NAME            READY   STATUS      RESTARTS   AGE
    pod-completed   0/1     Completed   0          26m
    pod-error       0/1     Error       0          27m
    [root@master pod]#
    

    组合选择

    [root@master pod]# kubectl get pod  --field-selector=status.phase!=Running,metadata.name=pod-error
    NAME        READY   STATUS   RESTARTS   AGE
    pod-error   0/1     Error    0          32m
    

    总结

    介绍了字段选择器,并使用选择器选择我们需要的 Pod 并展示。

    附录

  • 相关阅读:
    垂死挣扎-3
    垂死挣扎-2
    垂死挣扎-1
    【互联网考试系列-1】进程与线程
    【iOS基础学习随笔-2】SQLite的使用
    【iOS面试系列-2】多线程中同步、异步和串行、并行之间的逻辑关系(必考,必须掌握)
    docker
    给定一个非负整数 numRows,生成杨辉三角的前 numRows 行。
    621. 任务调度器
    204. 计数质数
  • 原文地址:https://www.cnblogs.com/jiangbo44/p/14342469.html
Copyright © 2011-2022 走看看