• 【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 并展示。

    附录

  • 相关阅读:
    Eclipse下载
    Java为什么需要基本类型
    今日学到乱写
    图解HTTP——阅读笔记
    HashMap以及ConcurrentHashMap
    别个代码阅读学习(一)
    nodeJs配置相关以及JSON.parse
    数据库设计那些事儿
    数据库特训系列1——基础拾遗
    机器学习之词语识别——记录
  • 原文地址:https://www.cnblogs.com/jiangbo44/p/14342469.html
Copyright © 2020-2023  润新知