如何使用 go-client 在 k8s 中访问我的 pod

我正在使用 go-client 访问我环境中的 k8s 资源。有一些 API 可以获取/列出 pod、命名空间等。

如何访问我当前正在运行的 pod?


守着一只汪
浏览 151回答 1
1回答

桃花长相依

您可以使用pod 字段通过环境变量向容器公开 Pod 信息:apiVersion: v1kind: Podmetadata:  name: dapi-envars-fieldrefspec:  containers:    - name: test-container      ...      ...      env:        - name: MY_NODE_NAME          valueFrom:            fieldRef:              fieldPath: spec.nodeName        - name: MY_POD_NAME          valueFrom:            fieldRef:              fieldPath: metadata.name        - name: MY_POD_NAMESPACE          valueFrom:            fieldRef:              fieldPath: metadata.namespace        - name: MY_POD_IP          valueFrom:            fieldRef:              fieldPath: status.podIP        - name: MY_POD_SERVICE_ACCOUNT          valueFrom:            fieldRef:              fieldPath: spec.serviceAccountName  restartPolicy: Never然后只需在您的 Go 代码中查找这些环境变量:log.Printf("MY_POD_NAME: %q", os.Getenv("MY_POD_NAME"))
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go