kolla-openstack+opencontrail の組み合わせを試してみた
こまどりブログ (https://komadori-blog.blogspot.jp/2017/10/kolla-openstack-ocata-open-contrail40.html) の記載にしたがって、kolla-openstackとopenstackの組み合わせを試してみたので、まとめておく。
※ 先日からnested kvmが使用可能になった、gcp環境で実施
https://cloudplatform.googleblog.com/2017/09/introducing-nested-virtualization-for.html
事前準備として、GCPでnest環境を使う場合、以下のように、事前にカスタムイメージを作成しておく必要がある。
https://cloud.google.com/compute/docs/instances/enable-nested-virtualization-vm-instances#enablenestedvirt
※ また、最新のubuntu16.04.3 だと、vrouterの起動が上手くいかなかったため、2017/2 時点のイメージ(16.04.2に対応)を使用するようにしている
$ gcloud auth login $ gcloud compute images create nested-vm-image \ --project "プロジェクト名" \ --source-image projects/ubuntu-os-cloud/global/images/ubuntu-1604-xenial-v20170220 \ --licenses "https://www.googleapis.com/compute/v1/projects/vm-options/global/licenses/enable-vmx"
この後、
2vcpu, memory 7.5GB, disk 20GB (※ リージョンは us-central1-c を使用した)
で3台のinstance を作成し、ansible を順に実行することで、以下のように openstack/opencontrail が起動されることを確認できた。
なお、gcp の環境では以下の追加設定が必要だったため、念のため記載しておく。
- ansible の設定記載時にnicが2本必要だったため、 以下のコマンドで ens4:0 を作成し、neutron_external_interface に指定した
ifconfig ens4:0 10.128.1.11 netmask 255.255.255.0
- kolla-host.yml 実行時に "api_interface が未定義"、とのエラーが出たため、 ../etc/kolla/globals.yml で api_interface をコメントインした
ここまででhorizon, opencontrail は起動できたのだが、この後、cirros 起動、もしくはcompute上での169.254.0.3 (インスタンスに接続できるip) へのping、を実施したところ、computeへの疎通が取れなくなる、という事象が発生した。
原因不明なのだが、回避策として、以下を実施している。
- configure > network > link-local services で metadata を削除(cirros起動時の疎通不可が改善した)
- ping については手動で発行した場合のみ発生していたので、ログインはvncから行い、link-local アドレスは使わないようにする
最終的に、上記仮想ネットワーク2つにvm1/2 を作成、ルーターで接続し、pingが通ることを確認することが出来た。
追記: ui確認のためのsshコマンドは以下を使用
$ ssh -L 8080:10.128.0.2:80 -L 6080:10.128.0.2:6080 ubuntu@(instance-1の外部ip)
$ ssh -L 8143:127.0.0.1:8143 ubuntu@(instance-2の外部ip)
補足: 元文書はこちら
http://www.opencontrail.org/opencontrail-containers-now-on-dockerhub/
https://gitlab.com/gokulpch/OpenContrail-Kolla/blob/master/README.md