Google Container Engine实例是否可通过DNS访问?

时间:2016-03-08 17:37:28

标签: google-kubernetes-engine

Google AppEngine应用可通过DNS在可预测的位置(std::string line; while(getline(cin, line)) { auto s = std::remove_if(line.begin(), line.end(), [](auto& c) { return !isdigit(c); }); line.erase(s, line.end()); vect.push_back(std::stoi(line)); } )自动访问。对于Google容器引擎实例也是如此吗?

为GKE实例提供公共IP很简单,但如果您想共享演示链接(不用担心它们会改变)或使用Google OAuth(不允许使用静态IP作为回调URL),这种方法效果不佳)。

我可以使用Google Cloud DNS注册域并配置子域以指向每个容器引擎实例的IP。但如果GKE已经这样做会更简单!

1 个答案:

答案 0 :(得分:7)

Google容器引擎不会自动将DNS主机名与主端点或您在群集中启动的任何应用程序相关联。

群集中的实例(VM)具有公共IP(您可以打开防火墙规则以使其可公开访问),但您通常应该直接联系服务(代表应用程序)而不是实例。

您为其创建外部负载均衡器(L3或L7)的服务将具有公共IP,但不会自动获取关联的DNS名称。

App Engine在App(您在创建时选择全局唯一名称,如果您需要appspot.com域)和您部署的代码之间提升1:1关系。

Container Engine允许您部署多个"应用程序"在单个群集中,并且在创建群集或创建服务时不需要注册全局唯一名称。这为您提供了更大的灵活性,但也意味着如果您想将DNS名称映射到您的应用程序,您必须自己完成。

期望Ingress控制器(用于创建L7服务)有助于简化此过程并不是不合理的,但今天它并没有这样做。随意提交feature request on github