概要
前回 ova から harbor をデプロイしてみました
前回やったときは Web Client から ova をデプロイしました
今回は golang 製の govc というツールを使って ova をデプロイしてみましあ
ova ダウンロード
govc インストール
- go get github.com/vmware/govmomi/govc
govc 設定
- export GOVC_INSECURE=1
- export GOVC_URL=192.168.100.200
- export GOVC_USERNAME=vcenter-user
- export GOVC_PASSWORD=vcenter-pass
- export GOVC_DATASTORE=datastore
- export GOVC_NETWORK=”my-network”
- export GOVC_RESOURCE_POOL=’*/Resources’
192.168.100.200 は vCenter の IP です
GOVC_INSECURE=1 とすることで証明書の警告を無視できます
- govc about
で vCenter の情報が確認できれば OK です
json ファイル書き出し
govc を使って ova ファイルをデプロイする場合、設定を記載する json が必要になります
ova から雛形を作成できるので作成します
- govc import.spec harbor_0.5.0-9e4c90e.ova > harbor.json
- vim harbor.json
diff <(cat harbor.json | python -m json.tool) <(govc import.spec harbor_0.5.0-9e4c90e.ova | python -m json.tool)
以下のように編集しました
harbor 向けの設定なので、他の ova では設定が異なります
> "Deployment": "small",
11c12
< "Network": "my-network"
---
> "Network": ""
18c19
< "Value": "root_pwd"
---
> "Value": ""
22c23
< "Value": "harbor_admin_password"
---
> "Value": ""
26c27
< "Value": "db_password"
---
> "Value": ""
30c31
< "Value": "true"
---
> "Value": "false"
42c43
< "Value": "off"
---
> "Value": "on"
130c131
< "Value": ""
---
> "Value": "Harbor"
上記の編集ポイントは以下の通り
- govc: ServerFaultCode: A specified parameter was not correct: cisp.deploymentOption というエラーになるので Deployment という属性を削除
- Network を指定 (my-network) 、何も指定しないと VM Network となる
- root_pwd, harbor_admin_password, db_password を設定、harbor はこれが設定されていないとデプロイ時エラーとなる
- permit_root_login を true に変更
- self_registration を off に変更
- govc: Property vm.vmname is not user configurable. というエラーになるので vm.vmname を空にする
変更が完了したらコマンドからデプロイします
- govc import.ova -options=harbor.json -dump=true harbor_0.5.0-9e4c90e.ova
ホストに対して ova ファイルをアップロードするのでホストが FQDN の場合はホスト名が解決できないとエラーとなります
アップロードされたファイルは一時的に利用するだけなのでデプロイ後は削除されるようです
起動
デプロイが完了したら起動します
ここで一点ポイントですが起動しようとすると
- プロパティ「Authentication Mode」は仮想マシンがパワーオンするように設定する必要があります
という謎のエラーが発生しました
設定の編集を開き vApp Options の設定を開いて OK とすると何故か電源を ON できるようになります
デプロイ後に何故か謎の reconfig_VM をしないと起動できない感じでした (もしかしたら環境依存かもしれません)
P.S. 20170411
ldap_searchdn, ldap_search_pwd を適当に設定してから ova をデプロイすると Authentication mode のエラーはでなくなるようです
動作確認
harbor の起動が完了し IP が取得できたら管理画面を開きましょう
ddmin ユーザでログインしてください
そしたら証明書をダウンロードします
左上から admin -> about と選択します
そして、Download リンクから harbor の自己証明書 (ca.crt) をダウンロードします
ダウンロードした証明書を docker コマンドを実行するサーバのアップロードします
そして以下のディレクトリに配置します
- mkdir -p /etc/docker/certs.d/192.168.100.201
今回 harbor デプロイは https で行いました (前回は http にしていました)
なので、docker コマンドでアクセスするときに証明書が必要になるため配置した感じです
あとは harbor にログインして push までできることが確認できれば OK です
- docker login 192.168.100.201
- docker tag alpine 192.168.100.201/library/alpine
- docker push 192.168.100.201/library/alpine
最後に
govc を使って ova をデプロイしてみました
かなりつまづきポイントが多かった印象です
CLI ツールではなく govmomi のライブラリだけを使って ova のデプロイもやってみたいです
参考サイト
- http://www.virtuallyghetto.com/2016/04/slick-way-of-deploying-ovfova-directly-to-esxi-vcenter-server-using-govc-cli.html
- https://github.com/vmware/govmomi/blob/master/govc/USAGE.md
- https://github.com/vmware/govmomi/issues/487
- https://github.com/vmware/harbor/blob/master/docs/installation_guide_ova.md
0 件のコメント:
コメントを投稿