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

CKAに向けて

2022年4月までにCKAに合格するために、公式サイトの試験範囲をリスト化しました。
今後、各タイトルベースで記事を投稿していく予定です。
CKA合格に向けて、一緒に頑張りましょう。(ダウンロードなどして使ってください。)
公式サイト

※2022/02/14現在

クラスタアーキテクチャ、インストール、構成 ステータス 備考
・ロール ベース アクセス コントロール(RBAC)を管理する    
・Kubeadmを使用して基本的なクラスタをインストールする    
・高可用性Kubernetesクラスターを管理する    
Kubernetesクラスタをデプロイするためのインフラをプロビジョニングする    
・Kubeadmを使用してKubernetesクラスタでバージョン アップグレードを実行する    
・etcdのバックアップと復元を実装する    
サービスとネットワーク    
クラスタ ノードのホスト ネットワーク構成を理解する    
・Pod間の接続を理解する    
・ClusterIP、NodePort、LoadBalancerサービス タイプとエンドポイントを理解する    
IngressコントローラーとIngressリソースの使用方法を理解する    
・CoreDNSの構成方法と使用方法を理解する    
・適切なコンテナ ネットワーク インターフェイス プラグインを選択する    
トラブルシューティング    
クラスタとノードのロギングを評価する    
・アプリケーションの監視方法を理解する    
・コンテナの標準出力と標準エラー ログを管理する    
・アプリケーションの障害のトラブルシューティングを行う    
クラスタ コンポーネントの障害のトラブルシューティング    
・ネットワークのトラブルシューティングを行う    
ワークロードとスケジューリング    
・デプロイメント、およびローリング アップデートとロールバックの実行方法を理解する    
・ConfigMapとSecretを使用してアプリケーションを構成する    
・アプリケーションのスケーリング方法を知る    
・堅牢な自己修復アプリケーション デプロイメントの作成に使われるプリミティブを理解する    
・リソース リミットがPodスケジューリングにどのように影響するかを理解する    
マニフェスト管理と一般的なテンプレートツールの認識    
ストレージ    
・ストレージクラス、永続ボリュームを理解する    
・ボリューム モード、アクセス モード、およびボリュームの再利用ポリシーを理解する    
・永続ボリューム要求プリミティブを理解する    
・永続ストレージを使用したアプリケーションの構成方法を知る