This is my mysql-deployment.yaml I am trying to get this to run on kubernetes but I am getting error I have mentioned the errors below my deployment.yml
apiVersion: v1
kind: Service
metadata:
name: mysql
labels:
app: mysql
tier: database
spec:
ports:
- port: 3306
targetPort: 3306
selector:
app: mysql
tier: database
clusterIP: None
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: mysql-pv-claim
labels:
app: mysql
tier: database
spec:
accessMode:
- ReadWriteOnce
resources:
requests:
storage: 1Gi
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: mysql
labels:
app: mysql
tier: database
spec:
selector:
matchLabels:
app: mysql
tier: database
strategy:
type: Recreate
template:
metadata:
labels:
apps: mysql
tier: database
spec:
containers:
- image: mysql:5.7
name: mysql
env:
- name: MYSQL_ROOT_PASSWORD
valueFrom:
secretKeyRef:
name: db-root-credentials
key: password
- name: MYSQL_USER
valueFrom:
secretKeyRef::
name: db-credentials
key: username
- name: MYSQL_PASSWORD
valueFrom:
secretkeyRef:
name: db-credentials
key: password
- name: MYSQL_DATABASE
valueFrom:
configMapKeyRef:
name: dbbuddyto_mstr_local
key: name
ports:
- containerPort: 3306
name: mysql
volumeMounts:
- name: mysql-persistent-storage
mountPath: /var/lib/mysql
volumes:
- name: mysql-persistent-storage
PersistentVolumeClaim:
claimName: mysql-pv-claim
I am getting two errors:
error parsing mysql-deployment.yml: error converting YAML to JSON: yaml: line 24: mapping values are not allowed in this context
and the second error is
Error from server (BadRequest): error when creating "mysql-deployment.yml": PersistentVolumeClaim in version "v1" cannot be handled as a PersistentVolumeClaim: strict decoding error: unknown field "spec.accessMode"
I am trying to build a Kubernetes deployment for angular, spring and mysql.
and the mentioned errors are the ones I am currently facing.
2
Answers
The issue with your PVC is a typo. It needs to be
spec.accessModes
, you missed the s at the end.Edit:
Besides the typo with
accessModes
,ports
andvolumes
were not indented enough. They are both elementes of a container. Also fixed thesecretKeyRef
typo:Update:
Also fixed
labels
to matchmatchLabels
, case error inpersistentVolumeClaim
and name of configMapdbbuddyto-mstr-local
. This is important._
is not allowed.On minikube there is no error now.