0
votes

I am using this tool https://github.com/GoogleCloudPlatform/opentsdb-bigtable to deploy opentsdb in GKE and use Bigtable as a backend DB.

I have two Google projects : project A , project B

In Project A : I am able to deploy opentsdb-bigtable successfully and creates Bigtable tables.

In Project B : I am not able to deploy opentsdb-bigtable. The opentsdb-init deployment (https://github.com/GoogleCloudPlatform/opentsdb-bigtable/blob/master/jobs/opentsdb-init.yaml) is throwing the following error

com.google.bigtable.repackaged.com.google.auth.oauth2.ComputeEngineCredentials runningOnComputeEngine INFO: Failed to detect whether we are running on Google Compute Engine. NativeException: java.io.IOException: java.lang.reflect.InvocationTargetException initialize at /hbase-1.4.3/bin/../lib/ruby/hbase/hbase.rb:45 (root) at /hbase-1.4.3/bin/../bin/hirb.rb:118

So far these are the things I have tried :

  • Check default SA permission in GKE and it has Bigtable administration access
  • Created manually bigtable tables with cbt using the SA (This SA is being used the default SA in GKE)
  • Check GKE configuration to make sure it is using to right default SA
1

1 Answers

0
votes

As there's no permission issue (apparently) you may have to incorporate an additional code to make the connection as suggested here:

 Configuration config = BigtableConfiguration.configure(PROJECT_ID, INSTANCE_ID);
 config.set(BigtableOptionsFactory.APP_PROFILE_ID_KEY, INSTANCE_ID);
 connection = ConnectionFactory.createConnection(config);

Additionally you might have a block in your cloud DNS, or the workload identity.

For the DNS you can address the issue by creating the DNS records in Cloud DNS for private.googleapis.com