我的环境:
# uname -a
Linux app11 4.9.0-5-amd64 #1 SMP Debian 4.9.65-3+deb9u2 (2018-01-04) x86_64 GNU/Linux
#
# cat /etc/*release
PRETTY_NAME="Debian GNU/Linux 9 (stretch)"
NAME="Debian GNU/Linux"
VERSION_ID="9"
VERSION="9 (stretch)"
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"
#
Run Code Online (Sandbox Code Playgroud)
在尝试运行时apt-get update,我收到了一堆错误:
# apt-get update
Ign:1 http://deb.debian.org/debian stretch InRelease
Hit:2 http://security.debian.org stretch/updates InRelease
Hit:3 http://deb.debian.org/debian stretch-updates InRelease
Hit:4 http://deb.debian.org/debian stretch-backports InRelease
Hit:5 http://deb.debian.org/debian stretch Release
Get:6 http://packages.cloud.google.com/apt cloud-sdk-stretch InRelease [6,377 B]
Ign:7 https://artifacts.elastic.co/packages/6.x/apt stable InRelease
Hit:8 https://artifacts.elastic.co/packages/6.x/apt stable Release
Get:9 http://packages.cloud.google.com/apt google-compute-engine-stretch-stable InRelease [3,843 B]
Get:10 …Run Code Online (Sandbox Code Playgroud) 我正在尝试将 docker 映像推送到 Google 的容器注册表,但不断收到有关 Docker 登录失败的错误消息。我跑
gcloud docker -- push gcr.io/<my-project-id>/test-image
Run Code Online (Sandbox Code Playgroud)
我回来了
ERROR: Docker CLI operation failed:
Error response from daemon: login attempt to
https://appengine.gcr.io/v2/ failed with status: 404 Not Found
ERROR: (gcloud.docker) Docker login failed.
Run Code Online (Sandbox Code Playgroud)
其他不通过 docker 工作的 gcloud 操作。例如,我可以通过gcloud container clusters create my-cluster.
我今天确实在玩本地注册表,不确定这是否会破坏事情。
谢谢!
gcloud在 GCE 之外以非交互方式使用命令行与服务帐户的最简单方法是什么?最好不要用凭证文件乱扔文件系统,这就是这样gcloud auth activate-service-account --key-file=...做的。
有许多使用gcloud服务帐户的用例。例如,在服务器上,我想GOOGLE_APPLICATION_CREDENTIALS在运行我的应用程序之前测试是否正确设置并具有所需的权限。或者,我想运行一些设置脚本或 cron 脚本来执行一些gcloud命令行检查。
Google Cloud 库(例如python、java)自动使用环境变量GOOGLE_APPLICATION_CREDENTIALS向 Google Cloud 进行身份验证。但不幸的是,这个命令行似乎对gcloud. gcloud在保持文件系统完好无损的同时使用干净的方法是什么?
$ GOOGLE_APPLICATION_CREDENTIALS=/etc/my-service-account-4b4b6e63aaed.json gcloud alpha pubsub topics publish testtopic hello
ERROR: (gcloud.alpha.pubsub.topics.publish) You do not currently have an active account selected.
Please run:
$ gcloud auth login
to obtain new credentials, or if you have already logged in with a
different account:
$ gcloud config set account …Run Code Online (Sandbox Code Playgroud) 我正在尝试kubectl expose在 Google Container Engine 上通过带有静态 IP 地址的命令公开 kubernetes“部署” 。
使用临时 IP,一切正常:
kubectl expose deployment my-application \
--type="LoadBalancer" --port=80 --target-port=8080
Run Code Online (Sandbox Code Playgroud)
我使用kubectl get services并等待几分钟以查看已分配的临时 IP。我在浏览器中输入 IP 并看到应用程序,即一切正常。
但是,当我执行以下操作时:
使用 gcloud 网络界面创建静态 IP 地址(网络 -> 外部 IP 地址 -> 保留静态 IP 地址)
使用与上述相同的命令重新创建服务,但使用额外的--load-balancer-ip选项
kubectl expose deployment my-application \
--type="LoadBalancer" --port=80 --target-port=8080 \
--load-balancer-ip='1.2.3.4' # IP as assigned by web interface above
Run Code Online (Sandbox Code Playgroud)命令成功,但在该 IP 地址下无法访问应用程序,当我使用以下命令时:
$ kubectl get services
NAME CLUSTER-IP EXTERNAL-IP PORT(S) AGE
endpoints 10.119.247.39 <pending> …Run Code Online (Sandbox Code Playgroud) 我在 Google Cloud 上有一台用 Bitnami 创建的 Linux 机器。
它运行良好,可以通过 SSH 访问,使用 Web 控制台或腻子。然而,今天突然无法通过 SSH 以任何方式访问它。当我尝试编辑 VM 并更改 SSH 密钥或对其进行任何其他更改时,我收到以下错误消息:
Editing VM instance:"***" failed.
Error:Supplied fingerprint does not match current metadata fingerprint
Run Code Online (Sandbox Code Playgroud)
VM 仍在运行,部署在其上的服务仍在运行,但无法进行任何更改。我还有大约 10 个其他虚拟机,并且所有这些虚拟机仍然具有 SSH 访问权限。
我曾尝试遵循 GC 文档的几个指南,但如果没有命令行访问,几乎没有任何指南可以完成。
linux ssh-keys google-compute-engine google-cloud-platform gcloud
出于某种原因,我无法在我的 google 计算实例上打开端口 443。我在实例上启用了 HTTPS 服务器,使用gcloud compute firewall-rules list返回以下规则:
NAME NETWORK DIRECTION PRIORITY ALLOW DENY
default-allow-http default INGRESS 1000 tcp:80
default-allow-https default INGRESS 1000 tcp:443
default-allow-icmp default INGRESS 65534 icmp
default-allow-internal default INGRESS 65534 tcp:0-65535,udp:0-65535,icmp
default-allow-rdp default INGRESS 65534 tcp:3389
default-allow-ssh default INGRESS 65534 tcp:22
Run Code Online (Sandbox Code Playgroud)
然而,当我使用类似nmap它说它已关闭的东西检查端口是否打开时。
PORT STATE SERVICE
22/tcp open ssh
443/tcp closed https
Run Code Online (Sandbox Code Playgroud)
编辑:这是该站点的我的 nginx conf 文件。 https://gist.github.com/cclloyd/e7f1183f3a018dbc32cd7c55e15375cf
清除 SSH 密钥元数据的项目和实例并运行 gcloudcomputessh(这将创建新的密钥对并更新项目元数据)后,如果没有收到“ssh:连接到主机...*”,我将无法再通过 SSH 进行连接。 133 端口 22:连接被拒绝”错误。
我已经阅读了我能找到的所有涉及此问题的论坛,但仍无法找到解决方案。我什至无法通过云外壳终端进行连接。
我所做的事情是否有明显的错误?
在 Google Cloud Platform(GCP) 中创建实例后,我可以单击 SSH 并打开基于浏览器的 SSH 控制台来访问该实例。(在没有本地 ssh 客户端的情况下从控制台本身自动复制和连接密钥)但我注意到这几天后不起作用并且浏览器挂起(在 Firefox、Chrome 等上尝试过)。
有没有人遇到过类似的问题?
注意:连接可以与 putty/本地客户端以及 Cloud Shell 控制台 ( gcloud compute --project "blackforest" ssh --zone "us-east1-b" "test-instance")
ssh google-compute-engine google-cloud-platform gcloud google-cloud-shell
注销 Google Cloud似乎应该很容易。如果我运行:
$ unset GOOGLE_APPLICATION_CREDENTIALS
$ gcloud auth revoke --all
Revoked credentials:
- [my account]
$ gcloud auth list
No credentialed accounts.
To login, run:
$ gcloud auth login `ACCOUNT`
Run Code Online (Sandbox Code Playgroud)
乍一看我好像完全退出了gcloud。但是看看当我打开 Python shell 时会发生什么:
>>> from google.cloud import secretmanager_v1beta1 as secretmanager
>>> client = secretmanager.SecretManagerServiceClient()
/Users/my/path/.venv/lib/python3.7/site-packages/google/auth/_default.py:66: UserWarning: Your application has authenticated using end user credentials from Google Cloud SDK. We recommend that most server applications use service accounts instead. If your application continues …Run Code Online (Sandbox Code Playgroud) 我正在尝试为我们的 Cloud Run 实例分配一个外部静态 IP 地址,以便我可以将其与 websockets 一起使用(我读过需要静态 IP 才能工作,而不是自指定/负载平衡的 GCloud)应用域名)。常规 URL 可以访问,但静态 IP 只是挂起。
我主要尝试遵循本指南: https ://cloud.google.com/run/docs/configuring/static-outbound-ip
我不完全确定外部IP如何路由到Cloud Run实例,因为它是一个自我管理的实例(即它上面没有私有IP地址),但假设其他部分正在解决这个问题。 。
gcloud compute routers create cloud-run-router --network=default --region=us-central1
gcloud compute addresses create cloud-run --region=us-central1
gcloud compute networks subnets create cloud-run-subnet --range=10.20.0.0/28 --network=default --region=us-central1
gcloud beta compute networks vpc-access connectors create cloud-run-sub-conn --subnet-project=project-name --subnet=cloud-run-subnet --region=us-central1
gcloud compute routers nats create cloud-run-nat --router=cloud-run-router --region=us-central1 --nat-custom-subnet-ip-ranges=cloud-run-subnet --nat-external-ip-pool=cloud-run