mysql: unknown option '--"' エラー
概要
KubernetesでMysqlコンテナ(mysql:5.6) を動かそうと思ったら、
コンテナがunknown option '--"'で止まってしまいました。
原因
原因はMysqlの環境変数に設定しているsecretの作成時、 echo に -n オプションをつけていなかったからでした。
解決策
base64にエンコードするとき以下のようにechoに-nをつければ解決するはずです。
$ echo -n password | base64 cGFzc3dvcmQ=
参考
エラーが起きた時のスクリーンショット
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スケジューリングにどのように影響するかを理解する | ||
・マニフェスト管理と一般的なテンプレートツールの認識 | ||
ストレージ | ||
・ストレージクラス、永続ボリュームを理解する | ||
・ボリューム モード、アクセス モード、およびボリュームの再利用ポリシーを理解する | ||
・永続ボリューム要求プリミティブを理解する | ||
・永続ストレージを使用したアプリケーションの構成方法を知る | ||