コンテナ(Kubernetes)を使用して楽をするMariaDB編

こんにちは、サイオステクノロジーの前田です。コンテナを使用することに皆様どのような思いがありますでしょうか?開発側としては環境が作りやすくなり便利という人や、デプロイが簡易になりビジネス効果が出たという意見はあります。また、良い意見以外にコンテナを使うために運用や設計が複雑になり、学習することが増えて大変になったという方がおられるのではないでしょうか。本記事ではコンテナを利用して楽をすることに注目していきます。その一つとして簡単にMariaDBをデプロイする方法について説明していきます。

コンテナを使用して楽をする方法

Kubernetes環境に簡単にデプロイする形としては主に3つあります。

  1. カタログやテンプレート等を使用したデプロイ
  2. Helmチャート等の用意された形を利用するデプロイ
  3. オペレータを利用したデプロイ

今回はOKDのカタログを利用してMariadbをデプロイしていきます。

楽してMariadbのデプロイ

  • デプロイ環境

    • Kubernetes基盤: OKD 4.10
    • インフラ基盤: AWS
    • クライアント: Windows PowerShell
    • DBクライアント: A5
    • DB: MariaDB v 10.3

簡易構成図

MariaDBのデプロイ

テンプレートを利用したMariaDBのデプロイを行います。

  1. プロジェクトの作成
    1. 画面左上からDeveloperを選択してDeveloper画面に切り替えます。
    2. MariaDBをデプロイするプロジェクトを作成します。
    3. プロジェクト名(例 testmariadb)を入力して作成ボタンを押下します。
  2. カタログからDBをデプロイ
    1. 開発者カタログのデータベースを選択します。
    2. MariadDBを選択します。(永続ストレージを使用するため、Pod再起動でデータが消えてもよい場合はEphemeralを選択)
    3. テンプレートのインスタンス化を押下します。
    4. 作成を押下します。(必要があれば各種設定値を入力して変更します。)
  3. デプロイ確認
    1. トポロジーを確認します。
    2. デプロイされると青丸になります。デプロイされたmariadbをクリックすると右側に詳細情報が表示されます。
    3. リソースタブを選択して、デプロイされたPodとServiceを確認する。デプロイされたPodを選択します。
    4. デプロイされたポッドの画面が表示されることを確認します。
  4. MariaDBの正常動作確認
    1. デプロイされたポッドのターミナルタブを選択します。
    2. shスクリプトで操作が可能な状態のため、mariadbに接続します。
      mysql -u root sampledb
      
    3. テーブルを作成します。
      create table product (id int, name varchar(10), col varchar(10));
    4. テーブルができているか確認します。
      show tables;
    5. MariaDBとの接続を終了します。
      exit
  5. 余談 パスワード情報の確認
    1. MariaDBに外部のPodから接続する場合は、ホスト名をService名にしユーザー名とパスワードに関してはSecretリソースの情報を利用して接続します。
    2. シークレットを選択します。その後MariaDBを選択します。
    3. 情報が保存されているので、値を表示するを選択してユーザ情報とパスワードを確認します。

ローカル端末からのDB接続

OKDにデプロイされたDBに対して、ローカルのクライアント端末から直接は接続できません。しかし、開発時や障害の調査の時にはDBに接続して情報を確認したい場合があります。その時はポートフォワードを設定して接続します。下記にローカルのWindows端末から接続する方法を記載します。

  1. OCクライアントで接続
    1. 管理コンソールの右上側ログインユーザ名を選択してログイン情報を表示します。
    2. Powershellを利用してOKDに接続します。
      oc login --token=sha256~xxxxxxxxxxxxxxxxxxxxxxxxx --server=https://api.xxxxxxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx.xxxx.jp:6443
    3. 接続後にMariaDBをデプロイしたプロジェクトに移動します。
      oc project testmariadb
  2. ポートフォワード
    1. サービス名を確認します。
    2. ポートフォワードします。
      oc port-forward service/mariadb 13306:3306

      自端末(localhost)の13306番ポートとmariadbの3306 番ポートを接続します。

    3. DBの接続を終了するときは(Ctrl + C)を押します。※A5の接続中は終了しないでください。
  3. DBクライアント(A5)を利用した接続
    1. DBの接続設定を行います。
    2. sampledbに先ほど作成したproductのテーブルが存在することを確認します。

最後に

今回のカタログからのデプロイは、主に開発初期や小規模の時に利用するものです。構成が固まった場合は、再利用しやすいHelmチャートを作成しておく形が増えてきています。お客様に提供するにはバージョンアップ等の考慮もできるオペレータで作成することもあります。Kubernetesの難点の一つである利用するための初期学習が大変という点ですが、カタログ機能を利用してみると学習も少しでよく、便利で楽です。このようなところからKubernetesに触れていただき、読んでいただいた方のKubernetesのいろいろな負担が減れば幸いです。

ご覧いただきありがとうございます! この投稿はお役に立ちましたか?

役に立った 役に立たなかった

1人がこの投稿は役に立ったと言っています。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です