We have a java application running in Kubernetes cluster deployment. We're using Google Cloud Bucket as storage. We were using Java Files.move method to move files from our Persistent Volume Claim (PVC) to the storage bucket:
import java.nio.file.Files;
Files.move(source, target, StandardCopyOption.REPLACE_EXISTING)
But we're getting poor write performance. So we tried exploring Google Cloud Storage API to move files from our PVC to bucket.
try {
log.info("before getService");
Storage storage = StorageOptions.newBuilder()
.setCredentials(GoogleCredentials.create(aToken)).build()
.getService();
// aToken is the access token of the service account
log.info("after getService");
} catch (Exception e) {
log.error("Error while creating storage object - ", e);
}
But only "before getService" is getting logged. And nothing happens after that. No exception is thrown. The process gets stuck in getService()
The same application works on local deployment with Google Storage Bucket, but is not working on Kubernetes deployment.