【问题标题】:How to get instanceid from cloud_run?如何从 cloud_run 获取 instanceid?
【发布时间】:2020-06-28 19:12:22
【问题描述】:

来自云运行的日志吐出一些带有 resource.labels.revision_name = my_name-00046-kip 的好 json。

json 路径 labels.instanceId 更像这样

00bf4bf02d71261c0c1f55a601331b336a5d90d365cca1b28330dcf3e456fb7c07d5b72f1d3c9a971e391b5edc3512aea8559d172b24e639

根据这个文档,我能够获得修订名称

https://cloud.google.com/run/docs/reference/container-contract#env-vars

但我无法获取实例 ID,并且必须为每个实例报告指​​标,否则在同一分钟内报告的两个实例将被拒绝。如何获取实例 ID(最好通过 DockerFile,如果不通过 api 调用)。如果 cloud run 在一个修订名称下启动 10 个实例,我必须确保将指标唯一地报告给我计划用实例 id 填写 job_id 的通用任务资源。

谢谢, 院长

【问题讨论】:

    标签: java google-cloud-platform google-cloud-run google-cloud-metrics


    【解决方案1】:

    Stackdriver 中的日志记录如下

    labels: {
      instanceId: "00bf4bf02d4b374e91dda64bc4c4241a218302c4bcc73a01ecf85e582127e8c8076fcbe18b3cc934f5ed33e5dc1348c58cfd40cbecc0c9ae2a0b6d2356"   
     }
    
      labels: {
       configuration_name: "cloudrunservice"    
       location: "us-central1"    
       project_id: "xxxx-xxxx-000"    
       revision_name: "cloudrunservice-00002-leq"    
       service_name: "cloudrunservice"    
      }
      type: "cloud_run_revision" 
    

    正如您所提到的,每个都有实例 ID、修订名称和服务名称。通过这种方式,您不必担心在同一实例/时间的日志记录中被拒绝的条目。

    我在 UI 中看不到与实例 ID managing Revisions 相关的内容。从日志中处理这个 JSON,你可以获得 InsanceID。

    【讨论】:

      【解决方案2】:

      请尝试使用元数据服务器获取实例 ID:

      http://metadata.google.internal/computeMetadata/v1/instance/id

      请注意,“Metadata-Flavor: Google”标头也是必需的。

      【讨论】:

        【解决方案3】:

        如果您使用 Java(如标签所示),以编程方式从“内部元数据服务器”获取实例 ID 的最简单方法可能是通过 Gradle/Maven 包含依赖项 com.google.cloud:google-cloud-core:1.93.5(或更新版本)然后调用如下方法:

        import com.google.cloud.MetadataConfig;
        
        String instanceId = MetadataConfig.getInstanceId();
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2016-09-17
          • 1970-01-01
          • 1970-01-01
          • 2020-06-16
          • 1970-01-01
          • 2018-08-21
          • 2018-11-14
          • 2020-07-19
          相关资源
          最近更新 更多