Skip to content

Commit ac857c1

Browse files
committed
在Pod中获取宿主机的主机名、namespace等
1 parent 33029e8 commit ac857c1

File tree

1 file changed

+39
-0
lines changed

1 file changed

+39
-0
lines changed

appendix/tricks.md

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -145,3 +145,42 @@ volumeMounts:
145145
path: /etc/localtime
146146
```
147147

148+
## 6. 在Pod中获取宿主机的主机名、namespace等
149+
150+
这条技巧补充了第一条获取 podIP 的内容,方法都是一样的,只不过列出了更多的引用字段。
151+
152+
参考下面的 pod 定义,每个 pod 里都有一个 {.spec.nodeName} 字段,通过 `fieldRef` 和环境变量,就可以在Pod中获取宿主机的主机名(访问环境变量`MY_NODE_NAME`)。
153+
154+
```yaml
155+
apiVersion: v1
156+
kind: Pod
157+
metadata:
158+
name: dapi-test-pod
159+
spec:
160+
containers:
161+
- name: test-container
162+
image: busybox
163+
command: [ "/bin/sh", "-c", "env" ]
164+
env:
165+
- name: MY_NODE_NAME
166+
valueFrom:
167+
fieldRef:
168+
fieldPath: spec.nodeName
169+
- name: MY_POD_NAME
170+
valueFrom:
171+
fieldRef:
172+
fieldPath: metadata.name
173+
- name: MY_POD_NAMESPACE
174+
valueFrom:
175+
fieldRef:
176+
fieldPath: metadata.namespace
177+
- name: MY_POD_IP
178+
valueFrom:
179+
fieldRef:
180+
fieldPath: status.podIP
181+
- name: MY_POD_SERVICE_ACCOUNT
182+
valueFrom:
183+
fieldRef:
184+
fieldPath: spec.serviceAccountName
185+
restartPolicy: Never
186+
```

0 commit comments

Comments
 (0)