mysql: unknown option '--"' エラー

概要

KubernetesMysqlコンテナ(mysql:5.6) を動かそうと思ったら、
コンテナがunknown option '--"'で止まってしまいました。

原因

原因はMysql環境変数に設定しているsecretの作成時、 echo に -n オプションをつけていなかったからでした。

解決策

base64エンコードするとき以下のようにechoに-nをつければ解決するはずです。

$ echo -n password | base64
cGFzc3dvcmQ=

参考

エラーが起きた時のスクリーンショット f:id:masa111111:20220219074503p:plain f:id:masa111111:20220219074642p:plain

mysqlコンテナの作成に使用したymlファイル(wordpress向け)

#secret.yml
apiVersion: v1
kind: Secret
metadata:
  name: wp-auth
data:
  WORDPRESS_DB_HOST: d29yZHByZXNzLW15c3Fs #wordpress-mysql
  WORDPRESS_DB_PASSWORD: cGFzc3dvcmQ= #password

  MYSQL_ROOT_PASSWORD: cGFzc3dvcmQ= #password
#mysql.yml
apiVersion: v1
kind: Service
metadata:
  name: wordpress-mysql
  labels:
    app: wordpress
spec:
  ports:
    - port: 3306
  selector:
    app: wordpress
    tier: mysql
  clusterIP: None
---
apiVersion: v1
kind: PersistentVolume
metadata:
  name: mysql-pv
  labels:
    app: wordpress
spec:
  accessModes: 
  - ReadWriteOnce
  capacity:
    storage: 10G 
  hostPath:
    path: /home/uniuser/wordpress/mysql
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: mysql-pv-claim
  labels:
    app: wordpress
spec:
  accessModes:
  - ReadWriteOnce
  resources:
    requests:
      storage: 10Gi
---
apiVersion: apps/v1
kind: StatefulSet
metadata:
  name: wordpress-mysql
  labels:
    app: wordpress
spec:
  selector:
    matchLabels:
      app: wordpress
      tier: mysql
  serviceName: mysql
  replicas: 1
  template:
    metadata:
      labels:
        app: wordpress
        tier: mysql
    spec:
      containers:
      - image: mysql:5.6
        name: mysql
        envFrom:
        - secretRef:
            name: wp-auth
        ports:
        - containerPort: 3306
          name: mysql
        volumeMounts:
        - name: mysql-persistent-storage
          mountPath: /var/lib/mysql
      volumes:
      - name: mysql-persistent-storage
        persistentVolumeClaim:
          claimName: mysql-pv-claim