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

如何在Kubernetes中使用apply而不是create进行部署?

单淳
2023-03-14

我正在尝试使用kubectl Application以声明方式创建一个部署

kubectl create -f postgres-deployment.yaml

但如果我走了

kubectl apply -f postgres-deployment.yaml

我收到了一条可爱的错误消息:

错误:无法解码“postgres deployment.yaml”:没有为版本“apps/v1beta1”注册任何类型的“deployment”

我试图寻找一个解释这意味着什么,但我不明白。

apiVersion: apps/v1beta1
kind: Deployment
metadata:
  name: postgres-deployment
spec:
  replicas: 1
  selector:
    matchLabels:
      app: postgres
  template:
    metadata:
      labels:
        app: postgres
    spec:
      containers:
      - name: postgres
        image: postgres:10.1
        ports:
        - containerPort: 5432

共有1个答案

高宸
2023-03-14

旧的Kubernetes版本支持extensions/v1beta1API组上的部署对象。情况已经不是这样了。

对于1.9.0之前的Kubernetes版本,您应该使用API组apps/v1beta2

在库伯内特斯1.9及以上版本中,您应该使用API组apps/v1

 类似资料:
  • 我有点匆忙地根据一个使用纱线的教程创建了一个React应用程序。现在我要从头开始重新创建应用程序,因为我对reactstrap库不满意,我想切换到react-bootstrap。 我已经重新安装了node。然而,当我运行CreateReact应用程序时,它说使用“纱线”而不是“npm”,如下所示: 我想使用npm,因为它似乎使用得更广泛,并且有更多基于它的例子。我是被纱线卡住了,还是可以继续使用n

  • 使用 now.sh 部署,推荐的 package.json 配置如下: { "name": "my-app", "dependencies": { "nuxt": "latest" }, "scripts": { "dev": "nuxt", "build": "nuxt build", "start": "nuxt start" } } 运行

  • 问题内容: 我确实使用单个pod进行了部署,并使用了我的自定义docker映像,例如: 在开发过程中,我想推送新的最新版本并更新Deployment。如果没有显式定义标签/版本并为每个版本增加它,就找不到方法。 问题答案: 您可以为Pod配置宽限期(例如30秒或更长时间,具体取决于容器启动时间和图像大小)并进行设置。并使用。将创建一个新容器,并自动下载最新的映像,然后终止旧容器。 例: 我目前正在

  • 问题内容: 在SQL(MSSQL,Oracle等)中,在联接表时,向JOIN语句添加过滤器而不是在WHERE子句中添加过滤器有什么好处? IE 相对 我意识到这并非在所有情况下都有效,但是我注意到在某些情况下,通过将过滤器条件放在JOIN语句中似乎可以提高性能。但是,由于它是JOIN语句的一部分,因此也会使它的行为有些奇怪。 有什么想法吗? 问题答案: 对于查询,这些过滤器的性能特征将取决于许多因

  • 问题内容: 我安装了python 2.7.13和适用于PHP的Google原始App Engine SDK 。我在Google控制台上创建了我的第一个项目,当我尝试使用以下命令从cmd部署项目文件时 不用运行,只需在chrome中对其进行编辑。请参考随附的图片镶边编辑appcfg.py 问题答案: 您可能正在运行Windows,并且可能错误地将文件与Google Chrome关联(就像它与文件关联

  • 问题内容: 有什么办法可以做这样的事情: ? 问题答案: 如果您的表中有一个名为的列,并且您想从该表中包含该行的值为‘1’的行中检索行,那么该查询就可以解决问题。 我怀疑您要执行的操作是使用别名在选择列表中引用一个表达式。那是不被支持的。WHERE子句中引用列的表达式必须按名称引用该列。 我们可以使用内联视图玩一些技巧,为表达式赋予别名,但这在WHERE谓词方面效率不高,因为MySQL实现了派生表