概要
前回 harbor を CentOS 上で動作させました
今回は ova ファイルから harbor を構築し使ってみたいと思います
環境
- Ubuntu 16.04 (docker client)
- harbor 0.5.0 (ova)
- docker 17.03
- docker-compose 1.8.0
ova ファイルのダウンロードとデプロイ
まずは ova ファイルをダウンロードします
https://github.com/vmware/harbor/releases/download/0.5.0/harbor_0.5.0-9e4c90e.ova
ダウンロードしたら vSphere Client を開いてデプロイしていきます
最後に harbor の設定を行う項目があるので設定します
パスワード (root, admin-ui, mysql) を 3 つ設定します
あとプロトコルを https -> http に変更します
ドメインや証明書が用意できれば https でも問題ないです
設定しデプロイが完了したらパワーオンしましょう
起動までにやや時間がかかりました (10, 20 分程度)
IP が取得できれば OK です
とりあえず取得できた IP にブラウザでアクセスすれば harbor の管理画面を確認できると思います
ユーザ名は admin でパスワードは ova デプロイ時に設定したものになります
docker client の設定
前回の CentOS7 のときも行いましたが Ubuntu 上で動作している dockerd に --insecure-registry
オプションを追加する必要があります
- mkdir -p /etc/systemd/system/docker.service.d/
- vim /etc/systemd/system/docker.service.d/docker.conf
[Service]
ExecStart=
ExecStart=/usr/bin/dockerd -H fd:// --insecure-registry 192.168.100.102
192.168.100.102 は harbor が取得した IP を設定してください
あとはプロセスを再起動します
- systemctl daemon-reload
- systemctl restart docker
動作確認
harbor にログインしてイメージを push するところまで試します
- docker login 192.168.100.102
Username: admin
Password:
Login Succeeded
- docker pull alpine
- docker tag alpine 192.168.100.102/library/alpine
- docker push 192.168.100.102/library/alpine
で harbor に push できると思います
UI で library プロジェクト配下を確認すると alpine イメージがあるのを確認できると思います
Tips
結構はまったポイントがあったので紹介します
まず https のまま harbor をデプロイし証明書もドメインも何も設定しないと以下のエラーとなりログインできません
Error response from daemon: Head https://192.168.100.102/v2/: x509: certificate signed by unknown authority
そして https -> http 変更後、dockerd のオプションを変更しないでログインしようとしても以下のエラーとなります
Error response from daemon: Head https://192.168.100.102/v2/: dial tcp 192.168.100.102:443: getsockopt: connection refused
--insecure-registry
オプションを追加を追加すると問題なくアクセスできます
あと当然ですが、可能であればドメインを張って SSL 証明書を harbor に登録したほうがセキュリティ的に良いです
VCH から harbor を使ってみた
ついでに Ubuntu からではなく VCH から harbor が使えるかも試してみました
VCH を作成する際のオプションに dockerd 同様 --insecure-registry
オプションがあるのでそれを使って harbor の IP を指定して VCH を作成します
そして作成後にイメージをタグ付けして push してみようと思ったのですが、
Error response from daemon: vSphere Integrated Containers does not yet implement image.PushImage
になりました
どうやら VCH から push はできないようであくまでも harbor からの pull のみが出来るようです
試しに先程 pull イメージを VCH から pull してみたらそれはできました
(192.168.100.110 は VCH の IP)
- docker -H 192.168.100.110:2375 pull 192.168.100.102/library/alpine
最後に
ova テンプレートから harbor をデプロイし Ubuntu 上の docker client から試してみました
いろいろと問題はありましたが、適切な設定をすれば問題なく使うことができました
前回の CentOS と比べるとデプロイの方法に関してはどちらも簡単なのでそれほど変わらないと思います
運用面的にも、デプロイ時に SSH を有効にするオプションがありそれを有効にすることで SSH ログインすることができます
ova 版でも SSH ができるので、それほど CentOS と変わるということはないかなと思います
ova の場合 harbor が動作している OS は PhotonOS になります
Photon OS 上にログインするとわかりますが、実は内部では CentOS 時同様 docker が動作しており harbor がコンテナで動作していることがわかると思います
これも CentOS の時と同じ仕組みになっています
ただ、ova の場合は vSphere 環境でしか使えません
CentOS は普通に VPS やクラウド上で動作させることができます
その辺の環境の違いに応じて適切なインストール方法を選択する感じかなと思います
0 件のコメント:
コメントを投稿