我想使用Cloud Shell在我的第二代Cloud Sql实例上运行数据库迁移.
我在文档中找到了如何使用连接的示例gcloud.但是当我运行命令我得到一个错误:
$ gcloud beta sql connect my-instance --user=root
ERROR: (gcloud.beta.sql.connect) Invalid instance property.
Run Code Online (Sandbox Code Playgroud)
但是,即使这确实有效,我也不确定如何从执行迁移的python脚本连接.我会使用什么连接字符串?我是否需要手动将Cloud Shell IP列入白名单以进行访问?
我使用Google Cloud Shell在实例上运行Jupyter Notebook,但之后1 hours连接断开。
我重新连接到实例,什么也没有,与重置实例相同。
那么,请告诉我如何设置,使cloud shell的连接保持连接。
谢谢!
尝试从Google Cloud Shell中在VI中打开的文件中复制所选文本,并将其粘贴到另一个Shell选项卡中。如果我以可视模式选择文本,则无法使用。在本地终端上,我将使用xclip或shift(+ctrl)选择之前。
有没有办法做到这一点?
我希望将一个脚本放在一起,我可以从 Cloud Shell 运行该脚本以在所有项目中启用 API。它成功地通过了每个项目,但我收到了每个项目的许可被拒绝消息。我是所有者,所以不应该有任何许可问题。
作为权限测试,如果我只运行“gcloud services enable cloudresourcemanager.googleapis.com”,API 将成功启用。
我错过了什么?
#!/bin/bash
for project in $(gcloud projects list --format="value(projectId)")
do
echo "ProjectId: $project"
for enableapi in $(gcloud services enable cloudresourcemanager.googleapis.com list --project $project --format=list)
do
echo " -> Enabled $enableapi"
done
done
Run Code Online (Sandbox Code Playgroud) 目前,键盘布局不适用于丹麦语键盘布局,所有特殊字符都不会显示为|。
如何更改键盘布局?
以下链接https://cloud.google.com/kubernetes-engine/docs/how-to/private-clusters讨论了如何在单独的自定义VPC中设置私有GKE集群。可从https://github.com/rajtmana/gcp-terraform/blob/master/k8s-cluster/main.tf获得用于创建集群和VPC的Terraform代码。集群创建已经完成,我想使用Google Cloud Shell。我使用了以下命令
$ gcloud container clusters get-credentials mservice-dev-cluster --region europe-west2
$ gcloud container clusters update mservice-dev-cluster \
> --region europe-west2 \
> --enable-master-authorized-networks \
> --master-authorized-networks "35.241.216.229/32"
Updating mservice-dev-cluster...done.
ERROR: (gcloud.container.clusters.update) Operation [<Operation
clusterConditions: []
detail: u'Patch failed'
$ gcloud container clusters update mservice-dev-cluster \
> --region europe-west2 \
> --enable-master-authorized-networks \
> --master-authorized-networks "172.17.0.2/32"
Updating mservice-dev-cluster...done.
Updated [https://container.googleapis.com/v1/projects/protean-
XXXX/zones/europe-west2/clusters/mservice-dev-cluster].
To inspect the contents of your cluster, go to:
https://console.cloud.google.com/kubernetes/workload_/gcloud/europe-
west2/mservice-dev-cluster?project=protean-XXXX
$ kubectl config current-context …Run Code Online (Sandbox Code Playgroud) vpc google-cloud-platform kubernetes google-kubernetes-engine google-cloud-shell
Esc 键在 vim 中大量使用,用于从插入、命令或可视模式返回正常模式。当您在云 shell 上的 vim 内按 Esc 键时,光标会改变形状并且 vim 会阻塞。如果你连续按 Esc 键或者点击光标本身,那么 vim 会再次工作。我习惯在 vim 中使用 Esc 键恢复正常,因此这使得在云 shell 上使用 vim 非常痛苦。
我不必使用 Esc 键(我可以使用 Ctrl+c 或 Ctrl+[,除了横幅提示仍然声称 vim 在切换到正常模式时处于 INSERT 模式之外),但很难改变我的习惯。
vim 光标在按下 Esc 后立即变空,但仍处于 INSERT 模式
我已经研究过在 vim 中重新映射 Esc 键,但这会使 vim 变得混乱,并且出现奇怪的行为(请参阅如何在 vim 中禁用 Esc 和光标键中不要更改 Esc 键映射的警告)。
退格键在 vim 中也不起作用,但可以在 .vimrc 中修复:
inoremap <bs> <left><del>
Run Code Online (Sandbox Code Playgroud)
如果 Esc 键映射没有修复,那么我将不得不强迫自己学会不使用 Esc 键。云 shell …
我正在尝试从 Google 上的 Pub/Sub 教程(链接此处)构建一个 docker 映像。我正在运行此命令:gcloud builds submit --tag gcr.io/project_id/pubsub但由于某种原因我收到标题中提到的错误:ERROR: (gcloud.builds.submit) INVALID_ARGUMENT: could not resolve source: googleapi: Error 403: <SERVICE ACCOUNT> does not have storage.objects.get access to the Google Cloud Storage object., forbidden。我向服务帐户授予了该roles/storage.admin角色,但这不起作用。我什至将服务帐户设置为所有者,但仍然遇到相同的错误。
google-cloud-storage service-accounts google-cloud-platform google-cloud-shell google-cloud-build
[更新]
为什么 gsutil 在 Cloud Shell 上的 docker 容器中运行时不使用 Gcloud 凭据?
根据 [1] gsutil 应在可用时使用 gcloud 凭据:
通过 gcloud auth 配置凭据后,无论用户是否有任何 boto 配置文件(除非在 BOTO_CONFIG 环境变量中指定了不同的路径,否则这些文件位于 ~/.boto 中)都将使用这些凭据。但是,如果需要一种未存储在 gcloud 凭据存储中的非 GCS 凭据(例如,S3 帐户的 HMAC 凭据),gsutil 仍会在 boto 配置文件中查找凭据。
这似乎在 gcloud 安装中运行良好,但在 docker 镜像中不起作用。我在 Cloud Shell 中使用的流程是:
docker run -ti --name gcloud-config google/cloud-sdk gcloud auth login
docker run --rm -ti --volumes-from gcloud-config google/cloud-sdk gcloud compute instances list --project my_project
... (works ok)
docker run --rm -ti --volumes-from gcloud-config google/cloud-sdk gsutil ls gs://bucket/ …Run Code Online (Sandbox Code Playgroud) gsutil docker google-cloud-platform gcloud google-cloud-shell
给定一个 google cloudshell,有没有办法找出它位于哪个区域?
非常感谢,马克斯
ps 我知道我可以四处寻找 IP 地址并对其进行地理定位,例如,这 curl freegeoip.net/xml/$(curl ifconfig.co)声称该机器位于列支敦士登的瓦杜兹。不过,我有点希望有一个类似 IP 地址的东西,我可以通过curl 来获取cloudconfig,并且其中包含区域和可用区域。