EKS永続ボリューム設定方法

目的

【エンジニア募集中】フルリモート可◎、売上/従業員数9年連続UP、平均残業8時間、有給取得率90%、年休124日以上 etc.  詳細はこちらから>

K8Sはデータを保持することが出来ないため、データを保持する場合は永続ボリュームを使用する必要がある。
今回は永続ボリュームにEFSを使用する方法を記載する。

前提

  • AWS上でEFSが作成済みであること
  • AWS上でEKSが作成済みであること
  • kubectlコマンドが実行可能であること

EFSでマウント先のディレクトリを作成する。

  1. EFSに接続できるEC2にSSHでログインして、EFSのマウント先を作成する。

  2. EFSをマウントする。

    fs-XXXXXの部分は自分の環境に合わせて変更する

  3. EFSにK8Sからマウントするディレクトリを作成する。

EKSにEFSのCSIドライバーをインストールする

  1. kubectlコマンドが使用可能な端末にSSHログインして、以下のコマンドドライバーをインストールする。

  2. 以下のコマンドでドライバーが起動しているか確認する。


    状態が「Running」となっていることを確認する。

EKSでマウント先ボリュームの定義を作成する。

  1. PersistentVolume用のyamlファイルを作成する。
    作成ファイル:test-pv-volume.yaml

    fs-XXXXXの部分は自分の環境に合わせて変更する

  2. kubectlコマンドでボリューム定義を作成する。

  3. PersistentVolumeClaim用のyamlファイルを作成する。
    作成ファイル:test-pv-claim.yaml

  4. kubectlコマンドでボリューム要求定義を作成する。

K8SにリリースしたアプリからEFSをマウントする。

  1. kubectlコマンドが使用可能な端末にSSHログインして確認のため、nginxの「/usr/share/nginx/html」をマウントしたyamlファイルを作成する。
    作成ファイル:test-deployment.yaml

  2. kubectlコマンドでnginxをデプロイする

  3. EFSに接続できるEC2にSSHでログインして、EFSのマウント先に適当にファイルを作成する。

    作成ファイル:index.html

  4. kubectlコマンドが使用可能な端末にSSHログインして、先ほどデプロイしたPodに入る。

    test-deployment-55c766d78dの部分は各環境に合わせて変更する

  5. Pod内で以下のコマンドを実行し、「hello eks」が表示されれば確認完了。

    >hello eks

【エンジニア募集中】フルリモートも◎(リモート率85.7%)、平均残業8時間、年休124日以上、有給取得率90% etc. 詳細はこちらから>

Smallitのサービス