如何解决在头盔升级期间无法重新创建部署,因为无法替换PersistentVolumeClaim和Service
我有正在使用Helm图表进行部署的应用程序。在第一个helm upgrade --install
命令上,一切正常,但是第二次出现此错误:
Error: UPGRADE FAILED: failed to replace object: PersistentVolumeClaim "logs" is invalid: spec: Forbidden: is immutable after creation except resources.requests for bound claims && failed to replace object: Service "application" is invalid: spec.clusterIP: Invalid value: "": field is immutable
这是我的application-deployment.yaml
:
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app: application
name: application
spec:
selector:
matchLabels:
app: application
replicas: 1
strategy:
type: Recreate
template:
metadata:
labels:
app: application
spec:
imagePullSecrets:
- name: aws-registry
containers:
- image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
imagePullPolicy: Always
name: application
resources: {}
volumeMounts:
- mountPath: /app/var/logs
name: logs
restartPolicy: Always
volumes:
- name: logs
persistentVolumeClaim:
claimName: logs
这是application-service.yaml
:
apiVersion: v1
kind: Service
metadata:
labels:
app: application
name: application
spec:
ports:
- port: 9000
protocol: TCP
targetPort: 9000
selector:
app: application
这是logs-pvc.yaml
:
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: middleware-logs
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 400Mi
status: {}
我不知道如何解决这个问题,一旦创建的pvc或服务无法更改就不可能了,所以我猜我是在做错事,但不确定是什么。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。