列出在Kubernetes中运行的所有控制器

时间:2018-09-13 05:49:57

标签: kubernetes kubectl

我刚刚通过Helm安装了控制器,我可以通过helm list列出helm软件包,但是是否可以通过kubectlapi-query列出集群中运行的所有控制器?

2 个答案:

答案 0 :(得分:2)

如果您的意思是复制控制器,则可以按static String formatDouble(double input){ String inputString = new String(Double.toString(input)); char[] array= inputString.toCharArray(); StringBuilder str = new StringBuilder(""); for(int i = array.length-1; i >= 0; i--){ str.insert(0, array[i]); if(i % 3 == 0 && i != 0){ str.insert(0, ","); } } return str.toString(); } 列出它们:

kubectl

或从所有命名空间中列出它们:

kubectl get replicationcontroller -n my-namespace

您还可以使用API​​:

kubectl get rc --all-namespaces

更新: 您可以列出其他控制器类型,例如curl http://localhost:8080/api/v1/replicationcontrollers replicaset),rsdeployment),deploystatefulsetdaemonset )和ds

答案 1 :(得分:1)

不确定是否有办法在 k8s 中列出控制器。 k8s 中的每个资源/对象都由控制器(控制循环)控制,其中规范字段作为所需状态的值。如果您在控制平面(内置控制器)之外部署了控制器,那么我将如何找到控制器:

  1. 通过运行 kubectl api-resources
  2. 找到资源/对象
  3. 验证列表并找到资源名称
  4. 搜索所有 Pod 并搜索资源名称 kubectl get pods --all-namespaces |grep <resource-name>
  5. 上述搜索中的 pod 将运行您的控制器
  6. 注意:pod 名称可能不包含资源名称,但会包含一些相似的名称。我只是分享此信息以了解控制器是什么以及外部控制器如何工作而不是(内置控制器)。

更多信息 - https://kubernetes.io/docs/concepts/architecture/controller/