标签: google-cloud-platform

Gcloud负载均衡器后面的UDP服务器:接收正常,回复失败

我在 Google Cloud 网络负载均衡器后面(在虚拟机上)设置了 UDP 服务器。服务器绑定到0.0.0.0. UDP 服务器可以接收发送到平衡器的消息,但回复不会返回到客户端。没有报告任何错误,并且tcpdump没有显示任何异常情况。我已确保所有防火墙规则都允许此流量,并且负载均衡器设置为转发所有端口。

我绝不是网络专家,但我怀疑UDP 服务器出了问题,因为接收消息的地址与用于回复的地址不同 ( sendto())。

socketserver我正在使用标准库中的 Python 模块作为回显服务器来测试所有这些:

import SocketServer

class MyUDPHandler(SocketServer.BaseRequestHandler):
    def handle(self):
        data = self.request[0].strip()
        socket = self.request[1]
        print "{} wrote:".format(self.client_address[0])
        print data
        socket.sendto(data.upper(), self.client_address)

if __name__ == "__main__":
    HOST, PORT = "0.0.0.0", 5029
    server = SocketServer.UDPServer((HOST, PORT), MyUDPHandler)
    server.serve_forever()
Run Code Online (Sandbox Code Playgroud)

虚拟机只有一个网络接口,具有本地IP 10.240.x.x。如果我将 UDPServer 绑定到该本地 IP,则该服务器甚至不会接收消息。

如果没有负载均衡器,一切都会正常工作,即消息会正确回显给客户端。

问题:我应该怎样做才能让我的 UDP 服务器回复消息?

编辑: 这个讨论可能是相关的。

networking load-balancing udp google-cloud-platform google-cloud-network-load-balancer

2
推荐指数
1
解决办法
867
查看次数

GCP项目限制并立即删除

我有两个相关的问题。GCP 和一些项目的限制:

A) 每个组织允许的项目数量是否有硬性限制?我知道默认限制可以增加,只是好奇是否有上限。两个原因:

  • 我们正在将项目自动化,因此我们需要对此进行测试并更频繁地创建/删除项目。

  • 我们正在考虑使用每个客户的项目模型,我想知道这是否会限制我们将来。

B) 有没有办法立即强制删除项目?通常,这些项目会被关闭并计划在 30 天左右删除,但即使项目被关闭,也会会计入项目配额,并会阻止您创建新项目。

谢谢

cloud google google-cloud-platform

2
推荐指数
1
解决办法
4657
查看次数

Google Cloud 上的 Windows Server 2012/16“管理员密码为空”

当我尝试在 Google Cloud 上的 Windows Server 2012 或 2016 上设置 Active Directory(使用具有桌面体验的默认虚拟机映像)时,创建林失败并出现以下错误:

...当您创建新域时,本地管理员帐户将成为域管理员帐户。由于本地管理员帐户密码不符合要求,无法创建新域。

目前,本地管理员密码为空,这可能会导致安全问题...

这是出乎意料的,因为

  1. 管理员密码是由Google生成的非常安全的密码。
  2. 我正在使用完全默认设置的新服务器上尝试此操作。
  3. 我按照tenforum的指示进行操作
  4. 我什至在Youtube上找到了两年前这些方向的视频

尝试过的解决方案均无效:

  • 重新启动
  • 使用 CTRL-ALT-DELETE 和控制面板更改管理员密码
  • 从 Ubuntu 和 Windows 8 使用远程桌面进行连接
  • 将域名更改为非公共 URL

我不知道发生了什么,所以即使是关于从哪里开始的提示也会有所帮助。

更新

尽管控制面板用户设置中只显示一个帐户,但似乎有两个单独的帐户(我的默认帐户和名为“管理员”的帐户)。我按照Google 的指示设置 AD,但是当我运行时它们失败了

net use Administrator *
Run Code Online (Sandbox Code Playgroud)

与错误

System error 67 has occurred.

The network name cannot be found.
Run Code Online (Sandbox Code Playgroud)

active-directory windows-server-2012 google-cloud-platform windows-server-2016

2
推荐指数
1
解决办法
7721
查看次数

Google Compute Engine ssh:连接到主机 <IP> 端口 22:操作超时

我已经在 Google 计算引擎上设置了我的 VM,并通过 Gcloud 使用 SSH 从我的 Mac 连接到它。我已经安装了我的 Django 网站,然后当我运行以下命令时:

sudo ufw enable
Run Code Online (Sandbox Code Playgroud)

执行此命令后,我无法通过 SSH 连接到我的 VM 实例,我需要为我的站点编辑一些文件,但我无法连接到我的实例。

当我运行以下命令时:

gcloud compute --project "GCP_Project" ssh --zone "my_zone" "Instane_Name"
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

ssh: connect to host <my_ip> port 22: Operation timed out
ERROR: (gcloud.compute.ssh) [/usr/bin/ssh] exited with return code [255].
Run Code Online (Sandbox Code Playgroud)

我不知道,我该如何解决这个问题。

提前致谢!

ssh ufw google-compute-engine google-cloud-platform

2
推荐指数
1
解决办法
1万
查看次数

在 Google Cloud Load Balancer 前面添加防火墙规则

我在 Google Cloud 上有一个负载均衡器。

我想设置一个简单的防火墙规则来限制从特定 IP 访问负载均衡器。

我该怎么做 ?

firewall google-cloud-platform

2
推荐指数
1
解决办法
1823
查看次数

App-engine 实例时间似乎太高了

我在 GAE 上托管了一个带有 2 个模块的小型应用程序。默认模块前端分配 28 个实例小时。后端正在使用,basic_scaling:因此只有 8 个实例小时可用。

我注意到我的应用程序只运行了 2 个小时,而后端模块已经用完了 76% 的配额!这对我来说没有意义。根据文档,实例小时数是按实例正常运行时间计算的(考虑到多个实例)。

实例时间应该与我的模块的正常运行时间 1:1 相关。我已经 max_instances: 1设置了。我还检查了正在运行的实例,以确保 App Engine 没有生成多个实例。不是。我得到了一个实例,但它的燃烧速度比它应该的要快几个小时。

我只是误解了文档吗?如果是这种情况,我该如何降低配额的消耗率?

google-app-engine google-cloud-platform

1
推荐指数
1
解决办法
2954
查看次数

GCE:健康检查和活性探测

在为网络负载平衡创建目标池时,有一个health check选项。

在此处输入图片说明

还有一个livenessProbe容器规范中命名的属性。

活性探针检查配置它的容器是否仍在运行。如果活性探测失败,kubelet 会杀死容器,容器将受到其重启策略的约束。通过配置 pod 配置的 template.spec.containers.livenessprobe 节来设置活性检查。

容器配置的时候健康检查就不需要了livenessProbe吗?

据我了解,如果容器关闭,POD 将自动重启。在这种情况下,不需要进行健康检查。

节点挂了怎么办?据我了解,kubernetes 会在另一个 NODE 中启动 POD,这意味着 POD 将再次重启。

在我看来,无论如何,配置 livenessProbe 时就不需要进行健康检查。

google-compute-engine kubernetes google-cloud-platform google-kubernetes-engine

1
推荐指数
1
解决办法
1963
查看次数

有没有办法在 GCE HTTPS 负载均衡器中至少禁用 TLS 1.0?

我正在尝试通过 Trustwave pci DSS 扫描,但我不能,因为它在“支持 TLSv1.0”中失败,我认为问题出在 GCE HTTPS 负载均衡器中,它默认启用 TLSv 1.0、1.1 和 1.2(https:/ /cloud.google.com/compute/docs/load-balancing/http/#tls_support)。我已经使用 openssl 和 cipherscan ( https://github.com/jvehent/cipherscan ) 在本地测试了我的实例,在任何一个中我都只能使用 TLSv1.2 密码获得连接。我尝试使用 GCE HTTS 负载均衡器的公共 ip 使用相同的工具,我可以使用 TLSv1、TLSv1.1、TLSv1.2 进行连接。

https ssl-certificate google-compute-engine google-cloud-platform

1
推荐指数
1
解决办法
2384
查看次数

Kubernetes:交互式 Rails 控制台

我有一个同时运行 awebworkerDeployment的 Rails 服务器。一个启动 Puma,另一个启动 Sidekiq。如何rails console使用在 Kubernetes 集群上运行的应用程序映像连接到交互式?

kubernetes google-cloud-platform google-kubernetes-engine

1
推荐指数
1
解决办法
1560
查看次数

Google Cloud DNS - 将 CNAME 添加到另一个域?

我无法将 CNAME 添加到另一个域 - 为什么以及如何解决?

我的区域名称是 myapp.com。为了添加自动电子邮件安全垃圾邮件,SendGrid(提供商)希望我添加以下格式的 3 个 CNAME 记录:

 - mail.myapp.com             a123.b456.sendgrid.net
 - s1._domainkey.myapp.com    s1.domainkey.a123.b456.sendgrid.net
 - s2._domainkey.myapp.com    s2.domainkey.a123.b456.sendgrid.net
Run Code Online (Sandbox Code Playgroud)

我不能这样做。没有错误,创建按钮不起作用。但是,我可以为自己的域创建 CNAME 记录。

我违反了 DNS 规则还是 Google Cloud 的限制?

编辑:添加了屏幕截图。

除了最后两个是 SendGrid 代码之外,编辑的部分都是 myapp.com。“响应”是我的子域。现有的 CNAME 只是一个测试,表明我可以添加 CNAME。

截屏

domain-name-system google-cloud-platform

1
推荐指数
1
解决办法
1331
查看次数