Note: I'm not a GCE user yet, the answer is based solely on documentation.
You could be Viewing Audit Logs in the Google Cloud Console, more specifically the Admin Activity logs:
Admin Activity logs contain log entries for API calls or other
administrative actions that modify the configuration or metadata of
resources. For example, the logs record ...
Speaking primarily from the Google App Engine (GAE) perspective.
My preference is for environment-driven project split. This might be of interest: Advantages of implementing CI/CD environments at GAE project/app level vs service/module level?
I wouldn't go for architecturally-driven project split unless there are serious reasons for doing so (if you feel ...
Is there anyway to configure K8s to actually bring up a new pod, direct new traffic to it, and only then shutdown the old pod?
This is the default behavior. MaxSurge is number of additional pods that runs during upgrade.
What you also have to check is how the load balancer is handling traffic, does it have capability to detect that you have deployed a new ...
That can be achieved using another gcloud command:
gcloud beta asset search-all-iam-policies --query policy:"roles/owner" --project $your_project_id --flatten="results.policy" --format="csv(bindings.members)"
I don't know of a way to get the actual GCE VM images.
But it's possible to export the images to GCS (as a tar.gz archive):
If you need to move your Compute Engine boot disk data outside of your
Compute Engine project, you can export a boot disk image to Cloud
Storage as a tar.gz file.
You can export a custom image as backup or for sharing by ...
If the artifacts in question are docker images then the recommended artifact management solution is the Container Registry, well integrated with other GCP products producing and/or using such images.
AFAIK they don't have a real artifact manager for other kinds of artifacts, they suggest the rather general purpose Cloud Storage for that. You can find an ...
Your application requirements really do influence your options here, maybe add more detail about the app because this subject is very much about your application architecture too.
The application state is fixed, pod's are rebuilt as per the spec or source container that defines them and the replication sets take care of the deployment so I'd say the ...
I am not entirely sure what configs you were using, but here is a process using CLI (gcloud and gsutil). The end product is a new custom role replacing the current standard roles/storage.objectViewer on allUsers for a GCP Bucket.
Recommend using GCP Cloud Cloud Shell in your Project: https://cloud.google.com/shell
Create a new Role with the Custom ...
Google's recommended best practice is to create an Organisation within GCP so that you get access to folders, then model the hierarchy of your organisation within GCP:
there should only be one organisation that represents the entire organisation; configuring directory sync is very painful otherwise.
folders should represent business ...
Not sure if you sorted this out, but I had to do something similar to get who started the instance so I can badger them into stopping the instance if they are not using it. I put together a Logging query:
resource.type = gce_instance AND (jsonPayload.event_subtype = compute.instances.start OR jsonPayload.event_subtype = compute.instances.insert ) AND ...
Yes, it's possible. Fundamentally GCR is built on top of Cloud Storage, with roughly the same basic access control:
public, i.e completely accessible
private, with quite flexible access control from pretty much anywhere, even from outside the GCP domain - being in a certain GCP project is rather irrelevant.
From Granting users and other projects access to ...
According to "TPU types and zones" TPUs are only available in a very limited set of regions, namely:
Europe, Middle East and Africa
europe-west4-a (Eemshaven, Netherlands)
us-central1-a, b, c and f (Council Bluffs, Iowa, USA)
asia-east1-c (Changhua County, Taiwan)
Note: not every SKU is available in each region, so double check ...
You can use the GCP HTTP(S) Load balancer. Since you are running a kubernetes cluster (Assuming you are using GKE), GKE uses Google compute VM instance groups which can be put behind a load balancer as target group.
You can follow the below steps to setup a load balancer and put your kubernetes node behind a load balancer.
Login to GCP console and go to ...
AWS Lambda should be an obvious choice together with a a CloudWatch Event trigger https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/RunLambdaSchedule.html .
Running an EC2 instance may be reasonable in some scenarios as well. It would make sense for me if the trigger for example did some complex data manipulation on a reasonable small data set (...
Add any tiny http-server wrapper to your script and deploy your docker image as a Cloud Run service and use Cloud Scheduler that will invoke it by cron.
If your workloads are exclusively ephemeral, the answer is probably not worth the infra management effort of deploying K8S.
Kubernetes is best suited for types of workloads that are continuous, with regular incoming traffic and that require zero downtime. That's why it enables you to do things like rolling updates and implementing advanced traffic ...
To increase the start up time, you need to "bake" (install) more of what is in your start up script into the image.
Snapshotting is one method, but I would avoid manually creating instances and then taking snapshots.
A better approach is to automate the creation of these images. Hashicorp Packer is the most common tool used for doing this. You can ...
After a bit more googling, I found that post.
Here is the solution which works for me
gcloud projects get-iam-policy MY_PROJECT --format='table(bindings.role)' --filter="bindings.members:serviceAccount:firstname.lastname@example.org"
These are presumably proprietary tools for EC2 and GCE respectively. The need for predictive VM autoscaling is pretty strong for Virtual Machines since provisioning time can be measured in the 10's of minutes depending on the configuration.
Conversely, application spin-up time in Kubernetes is typically measured in seconds. Predictive scaling for the ...
As per the link, You can add keys via metadata. You can try the following.
ssh-keys: "[USERNAME]:ssh-rsa [NEW_KEY_VALUE] [USERNAME]"
Replace [USERNAME] & [NEW_KEY_VALUE] with actual key value.
It's not currently possible to list all the accessible buckets across all cloud projects, neither in the developer console browser nor via the gsutil command. Both of them only display buckets for one project at a time.
But if you specify a particular project (or stick with the one selected by default) you can list the accessible buckets inside that project ...
Strictly you can't do this with a single preemptable virtual machine as you only get a 30 second grace period. While the majority of calls to the Google Compute Engine API would create a new device within 30 seconds, there are cases when this would fail due to network latency or temporary outage.
What you can do is create an Instance Group of Preemptible ...