- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
错误:无法识别“mongo-statefulset.yaml”:版本“apps/v1beta1”中种类“StatefulSet”没有匹配项
以下命令会在 google cloud shell 中引起上述响应:
kubectl apply -f mongo-statefulset.yaml
我正在部署有状态集 MongoDB sidecar 并按照此演示中的说明进行操作,但我收到以下错误。有人对错误有解释吗?或者知道在 gke 中部署 stateful set mongo db 的方法吗?
mongo-statefulset.yaml
apiVersion: apps/v1beta1
kind: StatefulSet
metadata:
name: mongo
spec:
serviceName: "mongo"
replicas: 3
template:
metadata:
labels:
role: mongo
environment: test
spec:
terminationGracePeriodSeconds: 10
containers:
- name: mongo
image: mongo
command:
- mongod
- "--replSet"
- rs0
- "--smallfiles"
- "--noprealloc"
ports:
- containerPort: 27017
volumeMounts:
- name: mongo-persistent-storage
mountPath: /data/db
- name: mongo-sidecar
image: cvallance/mongo-k8s-sidecar
env:
- name: MONGO_SIDECAR_POD_LABELS
value: "role=mongo,environment=test"
volumeClaimTemplates:
- metadata:
name: mongo-persistent-storage
annotations:
volume.beta.kubernetes.io/storage-class: "fast"
spec:
accessModes: [ "ReadWriteOnce" ]
resources:
requests:
storage: 100Gi
用 apiVersion 中的 v1 更改 yaml 文件返回类似的错误:
error: unable to recognize "mongo-statefulset.yaml": no matches for kind "StatefulSet" in version "v1"
最佳答案
apiVersion
可能会及时更改。事实上,一旦 StatefulSet
使用了 apiVersion: apps/v1beta1
并不意味着它将永远使用它。
作为dany L在他的回答中已经建议,apps/v1beta1
很可能已经在您使用的 kubernetes 版本中被弃用。 mentioned changes受支持的 api 版本是很久以前推出的(文章的发布日期是 2019 年 7 月 18 日,星期四)所以您使用的版本可能比 1.15.
我想把它也放在答案的正文中,使其清晰可见,而无需另外搜索 docs .所以当 1.16 发布时实际发生的事情是(在其他重大变化中):
StatefulSet in the apps/v1beta1 and apps/v1beta2 API versionsis no longer served
- Migrate to use the apps/v1 API version, available since v1.9. Existing persisted data can be retrieved/updated via the newversion.
Workaround, create your cluster with 1.15 version and it should work.
关于上述解决方法,我同意这是一种解决方法,当然它会起作用,但这不是推荐的方法。出于某种原因开发并发布了新的 kubernetes 版本。除了 API 的更改外,还引入了许多其他重要内容,修复了错误,改进了现有功能并添加了新功能。 因此,使用很快就会被弃用的东西毫无意义。
相反,您应该为特定的 kubernetes 资源 使用当前支持/要求的 apiVersion
,在您的情况下为 StatefulSet
。
检查 apiVersion
在您的 kubernetes 安装 中支持 StatefulSet
的最简单方法是运行:
kubectl explain statefulset
它会告诉您(以及许多其他有趣的事情)它应该使用哪个 apiVersion
:
KIND: StatefulSet
VERSION: apps/v1
...
如果您使用的 kubernetes 比 1.15 更新,请编辑您的 mongo-statefulset.yaml
并替换 apiVersion: apps/v1beta1
当前支持 apiVersion: apps/v1
。
关于mongodb - 错误 : unable to recognize "mongo-statefulset.yaml": no matches for kind "StatefulSet" in version "apps/v1beta1",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64379087/
我在 Python(3.5 版)中尝试使用语音识别模块,但遇到了以下错误: 'AttributeError: 'Recognizer' object has no attribute 'recogni
我正在尝试编译 C++ 程序,但遇到一些问题。特别是,当我使用 x86_64-w64-mingw32-gcc 作为编译器时,它在编译过程中提示“tmp/src/libfastms/solver/sol
我正在尝试安装 R 的 plyr 包。这是错误消息: * installing *source* package ‘plyr’ ... ** package ‘plyr’ successfully u
我第一次尝试使用多个文件构建程序。只用 main.cpp 编译程序我从来没有遇到过任何问题。使用以下命令,结果如下: $ g++ -c src/CNumber.cpp src/CNumber.h -o
我正在努力通过 The Little Book About OS Development ,特别是关于帧缓冲区的部分(链接)。我能够成功地汇编、链接、转换成 ISO 文件并启动纯程序集,但是一旦我尝试
我有一个关于 Swift 中 UIPanGestureRecognizer 的奇怪案例。我有一个处理平移手势的函数,并在 UIGestureRecognizerDelegate 中指定“false”,
抱歉,标题太长了。 我正在尝试将我们的功能测试代码与我们的集成测试代码隔离开来,并使用 gradle 任务让它工作。它也有 95% 在 intellij 中工作,除了每次我做一个“gradle ide
我想编写一个软件,当 USB 拇指驱动器连接到 USB 端口时,它会自动将一些文件复制到 USB 拇指驱动器上。为此我想知道: 我如何编写一个 c++ 应用程序,在 USB 拇指驱动器连接时收到通知?
我现在正在使用 BACKTRACK 5,它几乎像 ubuntu,一个 debian 和它的 32 位,我安装了 nasm,我去看了 dr. paulcarter 的汇编语言教程并下载了他的示例程序 (
我正在尝试编译一个包含以下行的 makefile: gcc -I. -I/home/usr/Documents/MTV/include -ggdb3 -Wall -O2 -o ascii2bin.c
我去了Chocolatey website并复制安装文本并粘贴到管理员 cmd.exe(使用 Windows 7)。当我运行命令时,我得到: 'powershell' is not recognize
我目前正在使用 Eventstore,但收到以下错误:Could not recognize BadRequest; 来自: game process tick failed UnknownError
我正在使用 jquery-1.11.1,并尝试使用 :data 选择器,如上所述 https://api.jqueryui.com/data-selector/ 尝试查找具有特定键的所有元素,如下所示
我有一个滚动功能,我需要执行它来滚动到其容器中的最后一条消息,该容器是带有 chunk_id 的容器。问题是它按原样进入容器,但如果我将最后一个子添加到混合中,该功能将不起作用。有什么想法我做错了吗?
我正在使用 sphinx4 暂停线程,直到说出特定的关键字。第一次效果很好,但第二次我需要暂停线程, recognizer.recognize() 似乎没有运行,应用程序只是开始发送垃圾邮件“开始说话
我正在尝试检查我的应用程序是否被授予访问用户提醒的权限,方法是: EKEventStore *store = [[EKEventStore alloc] init]; EKAuthorizationS
我有一个 foo 对象,如下所示: var foo = { "timer" : { "hours" : 0, "minutes" : 0,
我正在尝试运行位于此处的代码: http://r3dux.org/2010/11/single-call-opengl-texture-loader-in-devil/ 而且它需要我使用 DevIL,
我交叉编译了arm的内核源代码,带有调试信息和KGDB。 当我在主机中运行 gdb 时: $ arm-linux-gnueabihf-gdb vmlinux ... Reading symbols f
我使用 pip 将 virtualenv 安装到我的项目目录中。但是,当我在 Windows 终端中运行命令 virtualenv venv 时,它只是告诉我它无法识别。 我必须在 Python 中做
我是一名优秀的程序员,十分优秀!