ラベル nfs の投稿を表示しています。 すべての投稿を表示
ラベル nfs の投稿を表示しています。 すべての投稿を表示

2021年10月27日水曜日

NFS for ubuntu

環境:
MacOS:11.6
Raspberry pi(Ubuntu)


<ubuntu側>


手順:

1)nfsのインストールを行う。

apt -y install nfs-kernel-server

  

2)以下、ドメイン名を記載します。

vi /etc/idmapd.conf









3)nfs用のマウントディレクトリを作成

mkdir /home/nfsshare 

chmod 777 /home/nfsshare



4)nfsのマウント対象のパス(権限)を記載

vi /etc/exports


ポイント:

以下の権限の付与が不十分だと、volumeの作成ができないので注意
















5)サービスの再起動を行う。

sudo systemctl restart nfs-server rpcbind

sudo systemctl enable nfs-server rpcbind



オプション:

クライアント版を導入(k8s node:全台対象)

sudo apt-get install nfs-common




<mac側>

手順:

1)ボリューム作成

sudo mkdir /Volumes/nfs


2)マウントを行う

sudo mount -o vers=4,resvport -t nfs 192.168.13.30:/home/nfsshare /Volumes/nfs



無事、マウント完了。



nfs-subdir-external-provisioner for K8S

公式:
https://github.com/kubernetes-retired/external-storage/blob/master/nfs-client/README.md


nfs-subdir-external-provisioner:

上記のPodを経由して、NFS配下にマウントしてくれるプラグイン的な存在。

(ボリュームの変更が出来ないので、注意)



手順:

1)helmのレポジトリを追加する

helm repo add nfs-subdir-external-provisioner https://kubernetes-sigs.github.io/nfs-subdir-external-provisioner/



2)Helmでインストールを行う。

以下の指定したURLは、実際に稼働中のNFSのアドレス


helm install nfs-subdir-external-provisioner nfs-subdir-external-provisioner/nfs-subdir-external-provisioner \

    --set nfs.server=192.168.13.30 \

    --set nfs.path=/home/nfsshare \

    --set storageClass.name=nfs








<マニュフェストの作成>

①Pod

volumeMounts:マウントするディレクトリを指定する。

volumes:claimNameにはPersistentVolumeClaimのnameと一致していること!


②PersistentVolume

server:nsfのアドレス又はサーバー名を指定

path:nfsで作成済みのディレクトリを指定


③PersistentVolumeClaim

labels:nginxのlabels名と一致していること





































メモ:

persistentVolumeReclaimPolicyについて 

①Retain:  データの保持

②Recycle:persistentVolume(削除) - persistentVolumeClaim(保持)

③Delete:  persistentVolume(削除) - persistentVolumeClaim(削除)


確認:

1)以下、簡単なファイルを作成する

touch nginx-test


NFSのフォルダを確認してみると、上記で作成したファイルが確認できる。













【AI×GitOps】Docker Composeから始めるRaspberry Pi 5 Kubernetesクラスタへの自動デプロイ設計

現在構築を進めている動画管理システム開発において、いきなりKubernetes(K8s)に展開するのではなく、 Docker Composeを中間地点に挟んで段階的にK8s+Argo CD(GitOps)へ移行するアーキテクチャ設計 をまとめました。 Bionic(AIアシスタン...