VMware vSphere上のRancherにstorage classを割り当ててDynamicにPVを作ってもらう
前回記事で、Proxy下にあるVMware vSphere上にRancherを入れて、Harborを構築する検証をしました。
構築することはできたのですが、しばらくしてからアクセスするとProjectにimageのリストはあるのにPullできない状態になっていました。
Persisitent Volume(永続ボリューム?)なしで立ち上げたので、その後何度かPodが再作成され、image本体が失われてしまったのだとわかりました。
そこで、検証の一環としてRancherにstorage classを設定して、動的なPVC/PV払い出しを行いました。
Cluster への設定
vSphere上でRancherに動的PVを作成させるためには、Clusterへの設定が必要になります。
Cluster作成時に、Edit as YAML
をクリックして rancher_kubernetes_engine_config:
下に下記のような設定を追記します。
cloud_provider:
name: vsphere
vsphereCloudProvider:
global:
insecure-flag: true # 今回の検証環境ではオレオレ証明書を使用しているので有効に
virtual_center:
vc.example.com: # vCenter URL
user: provisioner # vCenter へのアクセスユーザ
password: secret # パスワード
port: 443
datacenters: /eu-west-1 # 使用するdatacenterのパス
workspace:
server: vc.example.com # vCenter URL 上記と異なるパターンは試してません
folder: /eu-west-1/folder/myvmfolder # dummy vm が作成されるディレクトリ
default-datastore: /eu-west-1/datastore/ds-1 # storage classで指定しなかった場合に使用されるdatastore
datacenter: /eu-west-1 # 使用するdatacenterのパス 上記と異なるパターンは試してません
resourcepool-path: /eu-west-1/host/hn1/resources/myresourcepool # リソースプールを使用したい場合(今回は使用せず)
Clusterを作成し、Provisioningが完了するのを待ちます
各種設定については を参照ください。
vSphere Configuration Reference
Storage Classの作成
Cluster作成が完了したら、Rancher の Storage
-> Storage Classes
から作成します。
名前だけ設定して、他パラメータはデフォでOKでした。
上記で設定したdefault-datastore
を使用しないのであれば、ここのDatastoreで設定するものと思います(実施はしていません)。
アプリのデプロイ
アプリカタログからアプリをデプロイします。
この時、Rancherに登録されているカタログであればGUIから、自前で追加したのカタログであればYAMLをEditして、上記で作成したstorage classを選択してデプロイします。
デプロイしてPVが作成されると、Cluster作成時に指定したdefault-datastore
もしくは、Storage Class
を作成した時のDatastore
で指定したストレージに、kubevols
というディレクトリが作成されます。
そして、そこにデータが格納されることがvSphere上から確認できます。
HarborのPV
というわけで、Harborのマニフェストを修正して
persistence:
enabled: true
persistentVolumeClaim:
registry:
storageClass: "vsphere-volume"
size: "5Gi"
jobservice:
storageClass: "vsphere-volume"
size: "1Gi"
database:
storageClass: "vsphere-volume"
size: "5Gi"
redis:
storageClass: "vsphere-volume"
size: "5Gi"
無事にPV付きでデプロイされたのでした。
お し ま い
Author And Source
この問題について(VMware vSphere上のRancherにstorage classを割り当ててDynamicにPVを作ってもらう), 我々は、より多くの情報をここで見つけました https://qiita.com/yo_C_ta/items/f7b797dfd8866b114522著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .