2017年5月23日火曜日

VMware VIC 1.1.1 を触ってみたのでメモ

概要

知らぬ間に MyVMware からダウンロードできる VMware Integrated Container が 1.1.1 までバージョンアップしていたので検証してみました
1.1.1 から提供方式も ova になっているようです

環境

  • CentOS 7.3.1611
  • docker 17.05
  • VMware VIC 1.1.1

VIC 1.1.1 のダウンロード

以下の URL からダウンロードできます
https://my.vmware.com/group/vmware/details?downloadGroup=VIC110&productId=648&rPId=15925

自身のアカウントで MyVMware にログイン後ダウンロードしてください
vSphere Integrated Containers 1.1.1 OVA のサイズは 2.69GB あります

ova のデプロイ

基本的な方法はこちらを参照してください

デプロイ時に必要となるディスク際は 70 GB + 4.7 GB になります
ネットワークはデフォルトだと 1 つのみ設定できます
VIC の ova をデプロイする際に必須となるパラメータは以下の通りです

  • VM (Photon) に ssh ログインする際の root ユーザのパスワード
  • registry の admin ユーザのパスワード
  • MySQL の root ユーザのパスワード

デプロイ後の挙動の確認

ova デプロイが完了したら電源を ON にして VM を起動しましょう
設定したネットワークの IP が取得できれば起動完了です

管理画面が 2 つあり

Admiral 側は特にログイン用の ID/PW はありません
Harbor 側は ova デプロイ時に設定した registry の admin ユーザのパスワードでログインできます

また、VM は Photon OS で動作しています
SSH でログインできるのでログインしてみましょう
docker コマンドが使えるのでコンテナの一覧を確認すると以下が動作しています

  • docker ps
ONTAINER ID        IMAGE                                     COMMAND                  CREATED             STATUS              PORTS                                                  NAMES
6405166b4027        vmware/notary-photon:server-0.5.0         "/usr/bin/env sh -..."   55 minutes ago      Up 55 minutes                                                              notary-server
7414d1b3852b        vmware/nginx:1.11.5-patched               "nginx -g 'daemon ..."   55 minutes ago      Up 55 minutes       0.0.0.0:443->443/tcp, 80/tcp, 0.0.0.0:4443->4443/tcp   nginx
e6ae3a5f914a        vmware/harbor-jobservice:v1.1.1           "/harbor/harbor_jo..."   55 minutes ago      Up 55 minutes                                                              harbor-jobservice
b6e384167707        vmware/notary-photon:signer-0.5.0         "/usr/bin/env sh -..."   55 minutes ago      Up 55 minutes                                                              notary-signer
5b8ac98ebfab        vmware/harbor-ui:v1.1.1                   "/harbor/harbor_ui"      55 minutes ago      Up 55 minutes                                                              harbor-ui
647d830a9f49        vmware/registry:photon-2.6.0              "/entrypoint.sh se..."   55 minutes ago      Up 55 minutes       5000/tcp                                               registry
4dd9ef6abaed        vmware/harbor-db:v1.1.1                   "docker-entrypoint..."   55 minutes ago      Up 55 minutes       3306/tcp                                               harbor-db
904b46e34f20        vmware/harbor-adminserver:v1.1.1          "/harbor/harbor_ad..."   55 minutes ago      Up 55 minutes                                                              harbor-adminserver
f21e09a82015        vmware/harbor-notary-db:mariadb-10.1.10   "/docker-entrypoin..."   55 minutes ago      Up 55 minutes       3306/tcp                                               notary-db
07fa6ffcf209        vmware/harbor-log:v1.1.1                  "/bin/sh -c 'crond..."   55 minutes ago      Up 55 minutes       127.0.0.1:1514->514/tcp                                harbor-log
6ffc63081e6a        vmware/admiral:ova                        "/entrypoint.sh"         55 minutes ago      Up 55 minutes       0.0.0.0:8282->8282/tcp                                 vic-admiral

Admiral と Harbor 用のコンテナが起動しています

また network が全部で 7 つ作成されています

  • docker network ls
NETWORK ID          NAME                   DRIVER              SCOPE
816285492ff8        bridge                 bridge              local
4b1b23d24347        harbor_harbor          bridge              local
848a011f52ff        harbor_harbor-notary   bridge              local
b9a1717bb5e2        harbor_notary-mdb      bridge              local
091f255fbb90        harbor_notary-sig      bridge              local
832437bb1e05        host                   host                local
3f9ca92ef166        none                   null                local

どのコンテナがどのネットワークに属しているかは

  • docker network inspect harbor_harbor

とかで確認できます

registry を使ってみる

registry 機能には UI とコンテナレジストリの機能があります
UI はブラウザで 443 ポートにアクセスすれば OK です
IP ベースでレジストリを使用する際には先に証明書の配置が必要なので後述の手順を先に実施しておいてください

  • docker pull nginx
  • docker tag nginx 192.168.100.202/library/alpine
  • docker login
  • docker push nginx 192.168.100.202/library/alpine

docker login 時の ID/PW は管理 UI にログインしたものと同じになります
管理 UI で確認するとイメージが push されているのが確認できると思います

registry 用の証明書の配置

一点注意点としてデフォルトだと https でデプロイされてしまいます
証明書がちゃんと設定されていないレジストリにアクセスすることはできないので、自己証明書をダウンロードして dockerd の所定のパスに配置する必要があります
自己証明書をダウンロードするには管理画面にアクセスしてログインします
そして右上の Admin -> Download Root Cert から ca.crt を取得します

取得したら docker コマンドを実行ホストに配置します

  • mkdir -p /etc/docker/certs.d/192.168.100.202
  • cp ca.crt /etc/docker/certs.d/192.168.100.202

Admiral を使ってみる

Admiral はコンテナホストマシンのクラスタリングを実現するための機能です
管理 UI が提供されているので https://192.168.100.202:8282/ にアクセスします

Admiral は過去に試した使い方とほぼ同じです
VCH を作成したあとに Admiral に登録すると docker swarm のように VCH をクラスタリングすることができます

VCH に関して

これはどうやら従来通りコマンドを使って作成するようです
実は、今回デプロイした ova の中には含まれていて以下のリンクからダウンロードすることができます

すると申し訳ない程度のダウンロードページに遷移し、そこから vic_1.1.1.tar.gz というファイルをダウンロードすることができます
展開すると vic-machine-linux が含まれていました
しかもダウンロードページはコンテナで動作しておらず PhotonOS VM のローカルで 9443 が LISTEN しておりそこからダウンロードできるようになっていました

何か VCH だけ除け者扱いされている感がありますが、一応バイナリをダウンロードすることはできるようです

最後に

VMware VIC 1.1.1 では Harbor と Admiral が同じ ova となって配布されていました
VCH は従来通り vic-machine を使って作成する形式となっており、まだ管理 UI から VCH を作成することはできないようです
一応バイナリは ova に含まれているのでダウンロードをできることは確認しました

触ってみた感じコンテナ技術に必要なコンポーネント (コンテナホスト、レジストリ、クラスタリングツール) が 1 つになって提供されている感じでした
VMware vSphere 環境がある方は ova を 1 つデプロイするだけですぐにコンテナ環境が構築できるので便利かなと思いました

今後は VCH の作成も UI からできるようになるかもしれません

参考サイト

0 件のコメント:

コメントを投稿