为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

Go
守着一只汪 2022-10-24 15:31:50
我正在使用 go-client 访问我环境中的 k8s 资源。有一些 API 可以获取/列出 pod、命名空间等。如何访问我当前正在运行的 pod?
查看完整描述

1 回答

?
桃花长相依

TA贡献1860条经验 获得超8个赞

您可以使用pod 字段通过环境变量向容器公开 Pod 信息

apiVersion: v1

kind: Pod

metadata:

  name: dapi-envars-fieldref

spec:

  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"))


查看完整回答
反对 回复 2022-10-24
  • 1 回答
  • 0 关注
  • 150 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号