2015年12月7日月曜日

OpenStack for Oracle Linux R2 の様子。

JPOUG Advent Calendar 2015 の 7 日目です。

前日は KNOPP さんでした。
Deploying Scalable Oracle RAC on Amazon EC2 の考察

今年も、Oracle OpenStack についてです。
最近、Oracle OpenStack for Oracle Linux Release 2 がリリースされました。

Oracle OpenStack for Oracle Linux Release 2 のマニュアル。
http://docs.oracle.com/cd/E64747_01/index.html


OpenStack for Oracle Linux R1 → R2。

とくに派手な変更は、以下だと思います。
  • OpenStack が、Icehouse から、Kilo ベースに変更。
  • デプロイ方法が、これまでの packstack から、kolla に変更。
  • Oracle VM Server がサポート対象に含まれていない?
今回の Oracle OpenStack は、
Oracle VM Server が、サポート対象ハイパーバイザに含まれていないようです。

Oracle OpenStack for Oracle Linux
Release Notes for 2.0.1
3.3 Hypervisors Supported
http://docs.oracle.com/cd/E64747_01/E64748/html/osrns-support-hypervisors.html
This release of Oracle OpenStack for Oracle Linux is supported on the Kernel-based Virtual Machine (KVM) hypervisor on Oracle Linux Release 7 Update 1 or later.

The use of Linux Containers (LXC) and Microsoft Hyper-V hypervisors is available as a technology preview. Support for these hypervisors is still under development, and is made available for testing and evaluation purposes only. Do not use these hypervisors in production systems.

ということで、 どう変わっているのかデプロイしてみました。

Kolla でのデプロイとは。

Kolla では、Ansible と Docker で、OpenStack コンポーネントをコンテナとしてデプロイします。
役割として、マスターノードと、ターゲットノードが存在します。
マスターサーバは、Kolla の CLI(kollacli)を実行するサーバです。OpenStack の Control Node に同居させることも、独立したサーバとして構築することも可能なようです。

ターゲットサーバが Docker イメージを 取得する Docker Registry には、 Oracle Software Delivery Cloud から ダウンロードしたコンテナイメージ(リポジトリ)を配置しておきます。

Kolla で使用する kollacli コマンドは、 Oracle Public Yum サーバからダウンロード(yum install)できます。Oracle OpenStack では「Oracle OpenStack for Oracle Linux Toolkit CLI」と呼んでいるようです。

イメージは、下記のようになると思います。


見ての通り、OpenStack 環境を構成するサーバ全体に
Docker Engine がインストールされることになります。
また、あえて分散配置して記載してみましたが、All in one 構成も可能です。


ためしにデプロイした様子。

正直、分散配置の構成だとまだ私はちゃんと動作させられてませんが、見た目が印象的だったのでコンテナの様子を記載しておこうと思います。

今回は、2台構成(上記のイメージとは異なり)です。
Control Node に Network / Storage サービスをすべてまとめて配置して、Compute Node(ハイパーバイザ)だけ別サーバにしています。

kollacli では、このように見えたりします。
[root@osctlr01 ~]# kollacli host list
+-----------------------+-----------------------------------------------+
| Host                  | Groups                                        |
+-----------------------+-----------------------------------------------+
| osctlr01.gowatana.lab | ['control', 'storage', 'network', 'database'] |
| oshost11.gowatana.lab | ['compute']                                   |
+-----------------------+-----------------------------------------------+

そして、Control Node に R2 がデプロイされた状態です。
30個以上コンテナがあります。一番下のコンテナは Docker Registry のコンテナです。
「osctlr01.gowatana.lab:5443」は、ローカル Docker Registry です。
[root@osctlr01 ~]# docker ps
CONTAINER ID        IMAGE                                                                            COMMAND                  CREATED              STATUS              PORTS                    NAMES
c171ae5bd371        osctlr01.gowatana.lab:5443/oracle/ol-openstack-horizon:2.0.1                     "/start.sh"              55 seconds ago       Up 53 seconds                                horizon
f963958ec5d9        osctlr01.gowatana.lab:5443/oracle/ol-openstack-heat-engine:2.0.1                 "/start.sh"              About a minute ago   Up About a minute                            heat_engine
d30f5d53d646        osctlr01.gowatana.lab:5443/oracle/ol-openstack-heat-api-cfn:2.0.1                "/start.sh"              About a minute ago   Up About a minute                            heat_api_cfn
3598391f25f6        osctlr01.gowatana.lab:5443/oracle/ol-openstack-heat-api:2.0.1                    "/start.sh"              About a minute ago   Up About a minute                            heat_api
241fddd303af        osctlr01.gowatana.lab:5443/oracle/ol-openstack-cinder-volume:2.0.1               "/start.sh"              2 minutes ago        Up 2 minutes                                 cinder_volume
c8b32f90ae72        osctlr01.gowatana.lab:5443/oracle/ol-openstack-cinder-scheduler:2.0.1            "/start.sh"              2 minutes ago        Up 2 minutes                                 cinder_scheduler
0cd8a8d856a6        osctlr01.gowatana.lab:5443/oracle/ol-openstack-cinder-backup:2.0.1               "/start.sh"              2 minutes ago        Up 2 minutes                                 cinder_backup
08a123a2c37e        osctlr01.gowatana.lab:5443/oracle/ol-openstack-cinder-api:2.0.1                  "/start.sh"              2 minutes ago        Up 2 minutes                                 cinder_api
4645fd2c4823        osctlr01.gowatana.lab:5443/oracle/ol-openstack-data:2.0.1                        "/bin/sh -c '/bin/sle"   3 minutes ago        Up 3 minutes                                 cinder_data
bd0f6c207d23        osctlr01.gowatana.lab:5443/oracle/ol-openstack-neutron-agents:2.0.1              "/usr/bin/supervisord"   3 minutes ago        Up 3 minutes                                 neutron_agents
46226e81cf87        osctlr01.gowatana.lab:5443/oracle/ol-openstack-neutron-openvswitch-agent:2.0.1   "/start.sh"              3 minutes ago        Up 3 minutes                                 neutron_openvswitch_agent
c07c74d5fca7        osctlr01.gowatana.lab:5443/oracle/ol-openstack-neutron-server:2.0.1              "/start.sh"              4 minutes ago        Up 3 minutes                                 neutron_server
b5c92ea1e0b9        osctlr01.gowatana.lab:5443/oracle/ol-openstack-ovs-vswitchd:2.0.1                "/start.sh"              4 minutes ago        Up 4 minutes                                 openvswitch_vswitchd
7bd52ff8fb74        osctlr01.gowatana.lab:5443/oracle/ol-openstack-ovs-db-server:2.0.1               "/start.sh"              4 minutes ago        Up 4 minutes                                 openvswitch_db
30c5ecfe9347        osctlr01.gowatana.lab:5443/oracle/ol-openstack-nova-scheduler:2.0.1              "/start.sh"              6 minutes ago        Up 6 minutes                                 nova_scheduler
e997c2289773        osctlr01.gowatana.lab:5443/oracle/ol-openstack-nova-novncproxy:2.0.1             "/start.sh"              6 minutes ago        Up 6 minutes                                 nova_novncproxy
7a0110abe2e5        osctlr01.gowatana.lab:5443/oracle/ol-openstack-nova-consoleauth:2.0.1            "/start.sh"              6 minutes ago        Up 6 minutes                                 nova_consoleauth
ddc480f32be6        osctlr01.gowatana.lab:5443/oracle/ol-openstack-nova-conductor:2.0.1              "/start.sh"              6 minutes ago        Up 6 minutes                                 nova_conductor
89e4789184ff        osctlr01.gowatana.lab:5443/oracle/ol-openstack-nova-api:2.0.1                    "/start.sh"              6 minutes ago        Up 6 minutes                                 nova_api
cecf5ff74d13        osctlr01.gowatana.lab:5443/oracle/ol-openstack-data:2.0.1                        "/bin/sh -c '/bin/sle"   7 minutes ago        Up 7 minutes                                 nova_data
af0d90751e3b        osctlr01.gowatana.lab:5443/oracle/ol-openstack-glance-api:2.0.1                  "/start.sh"              9 minutes ago        Up 9 minutes                                 glance_api
9682b3abfcb1        osctlr01.gowatana.lab:5443/oracle/ol-openstack-glance-registry:2.0.1             "/start.sh"              9 minutes ago        Up 9 minutes                                 glance_registry
1852cdef73ec        osctlr01.gowatana.lab:5443/oracle/ol-openstack-data:2.0.1                        "/bin/sh -c '/bin/sle"   9 minutes ago        Up 9 minutes                                 glance_data
b622c4cf5878        osctlr01.gowatana.lab:5443/oracle/ol-openstack-keystone:2.0.1                    "/start.sh"              10 minutes ago       Up 10 minutes                                keystone
79ddd599396e        osctlr01.gowatana.lab:5443/oracle/ol-openstack-rabbitmq:2.0.1                    "/start.sh"              10 minutes ago       Up 10 minutes                                rabbitmq
5c8ff277fa79        osctlr01.gowatana.lab:5443/oracle/ol-openstack-data:2.0.1                        "/bin/sh -c '/bin/sle"   10 minutes ago       Up 10 minutes                                rabbitmq_data
35cee084e06a        osctlr01.gowatana.lab:5443/oracle/ol-openstack-mysqlcluster-api:2.0.1            "/start.sh"              11 minutes ago       Up 11 minutes                                mysqlcluster_api
7672b4493192        osctlr01.gowatana.lab:5443/oracle/ol-openstack-mysqlcluster-ndb:2.0.1            "/start.sh"              11 minutes ago       Up 11 minutes                                mysqlcluster_ndb
0309c96b1d1a        osctlr01.gowatana.lab:5443/oracle/ol-openstack-data:2.0.1                        "/bin/sh -c '/bin/sle"   11 minutes ago       Up 11 minutes                                mysqlcluster_data
baea8eed4e31        osctlr01.gowatana.lab:5443/oracle/ol-openstack-mysqlcluster-mgmt:2.0.1           "/start.sh"              11 minutes ago       Up 11 minutes                                mysqlcluster_mgmt
f41728e74937        osctlr01.gowatana.lab:5443/oracle/ol-openstack-kolla-ansible:2.0.1               "/bin/sleep infinity"    11 minutes ago       Up 11 minutes                                kolla_ansible
e3d4fbdc84f5        registry:2                                                                       "/bin/registry /etc/d"   9 hours ago          Up 11 minutes       0.0.0.0:5443->5000/tcp   reg01
[root@osctlr01 ~]#

そして、Compute Node(ハイパーバイザ)で起動したコンテナです。
今回のハイパーバイザは、Oracle Linux KVM (というか QEMU)でした。
R1 でも結構追加で RPM を入れてましたが、
さすがに Oracle VM Server に Docker エンジンを入れることはないと思うので、
やっぱりサポート外か・・・と思いました。
[root@oshost11 ~]# docker ps
CONTAINER ID        IMAGE                                                                            COMMAND                  CREATED             STATUS                          PORTS               NAMES
330d9d1a3e6f        osctlr01.gowatana.lab:5443/oracle/ol-openstack-neutron-openvswitch-agent:2.0.1   "/start.sh"              4 minutes ago       Up 4 minutes                                        neutron_openvswitch_agent
98c2dd850607        osctlr01.gowatana.lab:5443/oracle/ol-openstack-ovs-vswitchd:2.0.1                "/start.sh"              5 minutes ago       Up 5 minutes                                        openvswitch_vswitchd
27b53b424563        osctlr01.gowatana.lab:5443/oracle/ol-openstack-ovs-db-server:2.0.1               "/start.sh"              5 minutes ago       Up 5 minutes                                        openvswitch_db
3e95d6de08db        osctlr01.gowatana.lab:5443/oracle/ol-openstack-nova-compute:2.0.1                "/start.sh"              6 minutes ago       Up 6 minutes                                        nova_compute
12d74bfd0cfc        osctlr01.gowatana.lab:5443/oracle/ol-openstack-nova-libvirt:2.0.1                "/start.sh"              7 minutes ago       Restarting (1) 56 seconds ago                       nova_libvirt
49395260e07c        osctlr01.gowatana.lab:5443/oracle/ol-openstack-data:2.0.1                        "/bin/sh -c '/bin/sle"   9 minutes ago       Up 9 minutes                                        nova_data
2ca7beae9105        osctlr01.gowatana.lab:5443/oracle/ol-openstack-kolla-ansible:2.0.1               "/bin/sleep infinity"    9 minutes ago       Up 9 minutes                                        kolla_ansible
[root@oshost11 ~]#

R2 をデプロイするには Docker と OpenStack 両方のスキルが必要で、
結構難易度が高い気がします。一応、ログ収集スクリプトが用意されていますが
インスタンスが起動しない、みたいな時のトラブルシュートも
コンテナン内のログを見たりしないとだめそうです。

ちなみに、さっそく困った時の様子です。
OpenStack のクライアントコマンドは、docker-ostk コマンドを使用するようです。
[root@osctlr01 ~]# docker-ostk nova list
+--------------------------------------+------+--------+------------+-------------+----------+
| ID                                   | Name | Status | Task State | Power State | Networks |
+--------------------------------------+------+--------+------------+-------------+----------+
| b9f7b015-6f62-4426-b09a-f91a3d48970a | vm01 | ERROR  | spawning   | NOSTATE     |          |
+--------------------------------------+------+--------+------------+-------------+----------+

ちなみに Horizon は R2 になっても相変わらず意外と自己主張がない感じでした。



以上、Oracle OpenStack R2 の様子についてでした。
明日の JPOUG アドベントカレンダーは charade_oo4o さんです。

0 件のコメント:

コメントを投稿