当前位置: 首页 > 知识库问答 >
问题:

Kubernetes Pods与Google云中的部署

谷德本
2023-03-14

如果这个问题听起来很明显,我很抱歉,但Kubernetes和Google云文档在某些地方非常混乱和矛盾。

无论如何,我已经将一个Dockerized web服务器推送到我的私人Google容器注册表中。如果这个容器死了,我想让它重新启动,但是在任何给定的时刻,我只需要运行一个实例。此外,为了正确配置服务器,还需要定义一些环境变量

我已经创建了一个新集群。但是我该何去何从呢?一些教程说应该声明 pod 和服务文件,但下一个教程说不应该直接声明 pod,而是使用部署。结果是我非常困惑。

这个简单用例的最佳方法是什么?此外,在谷歌云中使用库伯内特斯的推荐留档是什么?(谷歌的官方文档似乎已经过时了。)

共有2个答案

法和硕
2023-03-14

@ryan的回答很清楚。

要拥有持久的 Pod,必须使用部署创建它。

部署通常更可取,因为它定义了一个复制集以确保所需数量的pod始终可用,并指定了一个替换pod的策略,在您的情况下,它是一个策略。< br >

如果直接创建pod而不进行部署,则必须手动创建和管理pod。< br >在节点故障或pod终止的情况下,不会重新计划(或自愈)Pod类对象。

可以改用副本集,但它不如部署灵活。

高锦
2023-03-14

根据您的描述,我建议您使用<code>replica</code>设置为1的部署。部署将确保始终有一个pod实例在运行。您可以在部署清单的pod模板规范中定义环境变量。

在文档中,您可能还会看到将复制控制器用于相同目的的建议。这绝对是一个选项,但部署被认为是复制控制器的后继产品,通常在此时建议使用。

裸 Pod 不是持久的,并且在节点故障或其他类型的逐出时不会重新启动。

文件在许多地方已经过时,但据我所知,权威位置(即使是GKE)是http://kubernetes.io/docs/.

 类似资料:
  • 这里我可能错了,当我在VM上运行这个python文件时,它可以创建一个新的bucket,而不需要凭据或服务帐户。 如果我将相同的代码Dockere化到flask应用程序中,并将其部署在集群上,那么它是否仍将采用默认的google凭据?我想知道在kubernetes集群上这样做的最佳实践。

  • 现在API链接作为https://www.example.com/post/[random post number]嵌入到我网站的网页上(这是一个html链接,我每次都需要提供一个更新的副本,所以我设置了一个cookie来避免在CDN中缓存) 我已经在我的负载均衡器后端GCE上启用了云CDN。我的理解是,嵌入在网页中的静态内容的链接会自动缓存在CDN中,因为bucket访问是公开的。 通过使用cU

  • 我有以下设置,我试图创建一个多功能GCP云功能项目,但我未能部署任何功能,因为一个“通用”错误,这一点都不太有帮助。 我的项目结构是这样的,为了保持简单,我只写了函数1,但是有一个函数2,等等。 使用Cloud Functions支持和支持 项目结构: 代码片段: references使用GCP应该能够解析的go模块导入语法。 要部署我称之为gCloud的函数,请从项目的根目录: 我收到的错误是

  • 现在我想在GCP上的云运行服务中部署这些服务。经过深入研究,我发现可能只能用一个部署服务。难道没有办法将docker-compose.yml容器部署到云运行中吗?我应该使用其他服务吗?

  • 我有一个python云函数代码。来自GCS的txt文件,对其进行解析,并将行写入bigquery。当我试图从MacOS将此云功能部署到Google cloud时,它给出了以下错误 我已经验证了我的GCP项目中是否启用了Bigquery API。 GCloud函数部署sql_upload运行时python37触发器桶测试桶入口点load_sql

  • 我想开发一个新的Android应用程序,我想知道使用的架构。我的想法是在Google app Engine上托管我的应用程序,使用Google Cloudendpoint作为后端。唯一的问题是Google Cloudendpoint使用Google Datastore(这是一个非关系数据库,而我想使用关系数据库)。