1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

VMware Tanzu Community EditionでLocal Path Storage Packageを使ってStorageを作成してみた

Last updated at Posted at 2021-10-06

はじめに

VMware Tanzu Community Edition がリリースされました。
Dockerさえあればインストール可能なのでローカル開発環境上での利用にも便利そうです。
今回はDockerを利用し構築したTanzuのStandalone Clustersに対してPackageの利用例としてLocal Path Storageを利用したStorage Classの追加をしてみます。

TanzuのStandalone Clustersの構成

getting-startedや下記のTanzu Community Editionを使ってみたを参考にすれば簡単に構成できます。
各種podがRunningになったら準備完了です。

> kubectl get pods -A
NAMESPACE     NAME                                                     READY   STATUS    RESTARTS   AGE
kube-system   antrea-agent-d6845                                       2/2     Running   0          12h
kube-system   antrea-agent-tj8kk                                       2/2     Running   1          12h
kube-system   antrea-controller-86f8988c5f-l47cw                       1/1     Running   0          12h
kube-system   coredns-8dcb5c56b-7qprg                                  1/1     Running   0          13h
kube-system   coredns-8dcb5c56b-m4jtz                                  1/1     Running   0          13h
kube-system   etcd-hello-tkg-control-plane-t9b5l                       1/1     Running   0          13h
kube-system   kube-apiserver-hello-tkg-control-plane-t9b5l             1/1     Running   0          13h
kube-system   kube-controller-manager-hello-tkg-control-plane-t9b5l    1/1     Running   0          13h
kube-system   kube-proxy-hrx74                                         1/1     Running   0          13h
kube-system   kube-proxy-p64fb                                         1/1     Running   0          13h
kube-system   kube-scheduler-hello-tkg-control-plane-t9b5l             1/1     Running   1          13h
tkg-system    kapp-controller-6499b8866-kqdmg                          1/1     Running   0          13h
tkg-system    tanzu-capabilities-controller-manager-6ff97656b8-hstgf   1/1     Running   0          12h
tkr-system    tkr-controller-manager-6bc455b5d4-zzf2q                  1/1     Running   0          13h

ローカルストレージの作成

ManagedなKubernetesを利用している場合はそのサービスで用意されているProvisionerを使えば簡単にStorageを作成できる場合が多いですが、ローカル環境の場合は"簡単に"とはいかないかと思います。
Tanzuの場合はLocal Path StorageというPackage(拡張機能)があり、これを利用すれば簡単に設定できそうです。

Package repoの追加

まずは Work with Packages のページを参考にPackageリポジトリの情報を追加します。

> tanzu package repository add tce-repo \
  --url projects.registry.vmware.com/tce/main:0.9.1 \
  --namespace tanzu-package-repo-global

インストールするPackageの情報を取得

次にインストール対象のPackageの情報を確認します。
下記コマンドによると正式なPackage Nameは local-path-storage.community.tanzu.vmware.com であることがわかります。

> tanzu package available list
  NAME                                           DISPLAY-NAME        SHORT-DESCRIPTION   
~~
  local-path-storage.community.tanzu.vmware.com  local-path-storage  This package provides local path node storage and primarily supports RWO AccessMode. 
~~

ついでに利用可能なバージョンも調べます。

> tanzu package available list local-path-storage.community.tanzu.vmware.com
/ Retrieving package versions for local-path-storage.community.tanzu.vmware.com... 
  NAME                                           VERSION  RELEASED-AT           
  local-path-storage.community.tanzu.vmware.com  0.0.19   2021-09-15T00:00:00Z  
  local-path-storage.community.tanzu.vmware.com  0.0.20   2021-09-15T00:00:00Z 

設定ファイルの作成

Configuration によるとnamespaceの設定が必須なので、これを設定するためのファイルを追加します。
今回はdefaultでよいので下記のように設定しました。

lps.yaml
namespace: default

Packageのインストール

最後に集めたPackageの情報と設定ファイルによりインストールを実施します。

> tanzu package install local-path-storage \
  --package-name local-path-storage.community.tanzu.vmware.com \
  --version 0.0.20 \
  --values-file lps.yaml
/ Installing package 'local-path-storage.community.tanzu.vmware.com' 
| Getting namespace 'default' 
| Getting package metadata for 'local-path-storage.community.tanzu.vmware.com' 
| Creating service account 'local-path-storage-default-sa' 
| Creating cluster admin role 'local-path-storage-default-cluster-role' 
| Creating cluster role binding 'local-path-storage-default-cluster-rolebinding' 
| Creating secret 'local-path-storage-default-values' 
- Creating package resource 
\ Package install status: Reconciling 

 Added installed package 'local-path-storage' in namespace 'default'

Podとしてprovisionerが追加され、StorageClassが作成されていることが確認できました。

> kubectl get pod
NAME                                      READY   STATUS    RESTARTS   AGE
local-path-provisioner-66d8f7f469-7b5z7   1/1     Running   0          36m
> kubectl get sc
NAME                   PROVISIONER             RECLAIMPOLICY   VOLUMEBINDINGMODE      ALLOWVOLUMEEXPANSION   AGE
local-path (default)   rancher.io/local-path   Delete          WaitForFirstConsumer   false                  36m

さいごに

tanzuのPackageを用いてローカルのStorageを作成しました。これを利用すれば永続化ボリュームを前提とするアプリケーションのデプロイもスムーズに実施できそうです。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?