【发布时间】:2021-07-28 08:47:59
【问题描述】:
我需要在创建过程中访问和存储 Kubernetes 中的 pod 属性。我可以毫无问题地访问 yaml 中的常规变量,但我不知道(也无法在线找到)访问列表元素的语法。
apiVersion: "agones.dev/v1"
kind: GameServer
metadata:
# generate a unique name
# will need to be created with `kubectl create`
generateName: ed-
spec:
ports:
- name: game
portPolicy: Dynamic
containerPort: 7777
protocol: UDP
template:
spec:
containers:
- name: ed-server
image: myimage
imagePullPolicy: Always # add for development
command: ["sh", "-c"]
args:
- echo MY_ID=$(MY_ID)\nMY_IP=$(MY_IP)\nMY_PROTOCOL=$(MY_PROTOCOL)\n";
env:
- name: MY_ID # THIS WORKS FINE
valueFrom:
fieldRef:
fieldPath: metadata.name
- name: MY_IP # THIS WORKS FINE
valueFrom:
fieldRef:
fieldPath: status.podIP
#- name: MY_PROTOCOL # THIS FAILS
# valueFrom:
# fieldRef:
# fieldPath: spec.ports[0].protocol
我想知道正确的语法并获得有关该主题的一些适当的文档来源。
编辑:我已经在请求后放置了我正在使用的实际 yaml。我正在使用 agones 框架,但问题是通用的。如果解析器知道如何访问文字和字典,它应该能够访问数组。
谢谢!
【问题讨论】:
-
这不是一个有效的 pod 资源,您能分享一下您尝试创建的实际资源吗?
标签: kubernetes yaml