【发布时间】:2021-06-17 17:10:06
【问题描述】:
注意:nfs 服务器和权限都很好,我检查了 PV 和 PVC 正在创建正常只有 statefulSet 给我这个错误。
错误消息:StatefulSet "auth-mongo-ss" 无效:spec: Forbidden: 禁止对除 'replicas'、'template' 和 'updateStrategy' 以外的字段的 statefulset 规范进行更新 (错误消息很简单,但没有帮助解决它!我在这里错过了什么?)
Kubernetes(minkube) 版本:
客户端版本:v1.20.2 服务器版本:v1.20.2
操作系统:
Linux mint - 20
apiVersion: v1
kind: PersistentVolume
metadata:
name: auth-pv
spec:
capacity:
storage: 250Mi
accessModes:
- ReadWriteMany
persistentVolumeReclaimPolicy: Retain
storageClassName: manual
nfs:
path: /nfs/auth
server: 192.168.10.104
---
apiVersion: v1
kind: Service
metadata:
name: auth-mongo-serv
labels:
app: auth-mongo-serv
spec:
ports:
- name: db
protocol: TCP
port: 27017
targetPort: 27017
---
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: auth-mongo-ss
spec:
selector:
matchLabels:
app: auth-mongo-serv # has to match .spec.template.metadata.labels
serviceName: auth-mongo-ss
replicas: 1 # by default is 1
template:
metadata:
labels:
app: auth-mongo-serv # has to match .spec.selector.matchLabels
spec:
terminationGracePeriodSeconds: 10
containers:
- name: auth-mongo-docker
image: mongo
ports:
- containerPort: 27017
resources:
limits:
memory: "250Mi"
cpu: "250m"
volumeMounts:
- name: auth-mongo-data
mountPath: /data/db
volumeClaimTemplates:
- metadata:
name: auth-mongo-data
spec:
storageClassName: manual
accessModes: ["ReadWriteMany"]
resources:
requests:
storage: 250Mi
```
【问题讨论】:
-
您可能正在尝试更改现有 statefulset 上的 spec 字段,而不是
replicas、template和updateStrategy,这是不允许的,您需要删除现有的 statefulset 并创建一个新的。 -
谢谢,Krishna,我已经删除了旧的,又用新的,但仍然没有工作。另外,我从官方 Kubernetes 文档中获取了 statefulset 的样本。我遗漏了一些非常小的东西(或做错了我无法捕捉的配置)。
标签: kubernetes minikube