kubernetes部署deployment報錯----env子屬性含數字異常


前言:

今天在給微服務項目部署對應的數據庫(mysql)(通過k8s進行容器管理)。在創建好Service、PV、PVC之后,即將進行最后一步的部署

Pod控制器(Deployment),在我通過下面代碼進行創建的時候

kubectl create -f mysql-deployment.yaml

報出了下面的ERROR:

Error from server (BadRequest): error when creating "mysql-deployment.yaml": Deployment in version "v1" 
cannot be handled as a Deployment: v1.Deployment.Spec: v1.DeploymentSpec.Template: v1.PodTemplateSpec.Sp
ec: v1.PodSpec.Containers: []v1.Container: v1.Container.Env: []v1.EnvVar: v1.EnvVar.Value: ReadString: e
xpects " or n, but found 1, error found in #10 byte of ...|,"value":123456}],"i|..., bigger context ...|
":[{"env":[{"name":"MYSQL_ROOT_PASSWORD","value":123456}],"image":"mysql:5.6","name":"mysql","ports"|...

由於個人英語並不是很好,便去翻譯軟件進行了一番深入的研究探討。最終得出一個結論(毛都看不懂)

 

隨后對YAML文件重新進行了一遍審查, 也沒有發現有格式或命名上的錯誤

(下附代碼)

apiVersion: apps/v1 kind: Deployment metadata: name: mysql namespace: kerry spec: selector: matchLabels: app: mysql strategy: type: Recreate template: metadata: labels: app: mysql spec: containers: - image: mysql:5.6 name: mysql env: - name: MYSQL_ROOT_PASSWORD value: 123456 ports: - containerPort: 3306 name: mysql volumeMounts: - name: mysql-storage mountPath: /root/zookeeper/kerryData volumes: - name: mysql-storage persistentVolumeClaim: claimName: mysql-pv-claim

 

 

解決:

最后經過查閱資料,發現這個錯誤犯得還算有意義。問題就出在了env中。如果 Deployment 中

使用了 env,並且 env 中有一些值是數字,就會拋出這個錯誤,解決辦法就是將數字添加引號

類似下面截圖中內容:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM