我有一个statefulset,我需要知道pod内部的当前副本计数。为此,我尝试:
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: sample-mariadb
namespace: demo
spec:
replicas: 3
template:
spec:
containers:
- env:
- name: REPLICAS
valueFrom:
fieldRef:
apiVersion: v1
fieldPath: spec.replicas
得到了这个错误:
警告失败创建4 m15 s(x17超过9 m43 s)状态集控制器创建Pod sample-mariadb-0(在状态集sample-mariadb中)失败错误:Pod“样本-mariadb-0”无效:规范容器[1].env[3].值来源.字段引用.字段路径:无效值:“规格复制品”:转换字段路径时出错:不支持字段标签:spec.replicas
如何从Pod内部获取当前副本计数?
2条答案
按热度按时间to94eoyn1#
您只能发送Pod规范中的字段。
spec.replicas
字段是StatefulSet规范的一部分,而不是基础Pod的一部分。StatefulSet的template
部分是Pod规范。因此,您收到此错误。xqk2d5yq2#
我一直在寻找解决方案,我能找到的替代方案是:
1.设置相同的环境变量
1.也可以将复本的值更新为模板变量,并将更新为
template.yaml
x一个一个一个一个x一个一个二个x