2018年12月5日水曜日

Oracle OpenStack R5 への道。Docker Registry の準備

Oracle OpenStack R5 のコンテナイメージを配置する Docker Registry の準備をします。
すでに Docker Engine はインストール、設定ずみである想定です。

全容は下記にて。
Oracle OpenStack R5 への道。入口

Oracle OpenStack では、ORACLE の提供する Docker Registory から
コンテナをダウンロードすることもできますが、
今回は、バージョン固定できてダウンロードも早いため
ローカル環境に Registry を用意します。
Dcoker Registry もコンテナとして起動します。

Docker Registry のイメージ格納領域を用意します。
ファイルシステムは、Docker Engine のイメージとは別の Btrfs です。
[root@os-registry-01 ~]# btrfs filesystem show
Label: 'var-lib-registry'  uuid: b820ff7f-9543-4d44-825e-6286f5558612
        Total devices 1 FS bytes used 4.41GiB
        devid    1 size 15.00GiB used 7.02GiB path /dev/sdc

Label: 'var-lib-docker'  uuid: 31be6102-9e17-4944-8fcc-7b4c2465d3b1
        Total devices 1 FS bytes used 12.02GiB
        devid    1 size 64.00GiB used 22.02GiB path /dev/sdb

マウントポイントは、/var/lib/registry です。
[root@os-registry-01 ~]# lsblk -l /dev/sdc
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sdc    8:32   0  15G  0 disk /var/lib/registry

Docker Registry で利用する証明書を、
下記のようなコマンドラインで作成しています。
[root@os-registry-01 ~]# mkdir -p /var/lib/registry/conf.d/
[root@os-registry-01 ~]# cd /var/lib/registry/conf.d/
[root@os-registry-01 conf.d]# openssl req -newkey rsa:4096 -nodes -sha256 -x509 -days 365 -keyout os-registry-01.key -out os-registry-01.crt

下記のように Docker コンテナを起動しています。
Registry として機能すればよいので、以前の R2 構築のままのイメージです。
docker run -d -p 5443:5000 --name registry --restart=always \
-v /var/lib/registry:/registry_data \
-e REGISTRY_STORAGE_FILESYSTEM_ROOTDIRECTORY=/registry_data \
-e REGISTRY_HTTP_TLS_KEY=/registry_data/conf.d/os-registry-01.key \
-e REGISTRY_HTTP_TLS_CERTIFICATE=/registry_data/conf.d/os-registry-01.crt \
registry:2.3

コンテナ「registry」が起動した状態です。
[root@os-registry-01 ~]# docker ps --format "table {{.Names}}\t{{.Image}}\t{{.Ports}}"
NAMES               IMAGE               PORTS
registry            registry:2.3        0.0.0.0:5443->5000/tcp

Registry にインポートするイメージは、
Oracle Software Delivery Cloud からダウンロードできます。
この投稿時点での 最新版 Oracle OpenStack R 5.0.1 のイメージファイルは
V979502-01.zip というファイル名になっています。
[root@os-registry-01 ~]# unzip -l V979502-01.zip
Archive:  V979502-01.zip
  Length      Date    Time    Name
---------  ---------- -----   ----
     3749  08-14-2018 13:25   README.txt
    10200  08-08-2018 01:42   import_to_registry.sh
4278080150  08-08-2018 01:42   ol-openstack-images-5.0.1.tar.bz2
      100  08-14-2018 03:20   ol-openstack-images-5.0.1.sha256sum
---------                     -------
4278094199                     4 files

この zip ファイルを展開したうえで、
その中のスクリプトを実行して Registry にインポートします。
[root@os-registry-01 ~]# unzip V979502-01.zip
[root@os-registry-01 ~]# bash import_to_registry.sh os-registry-01.go-lab.jp:5443

イメージは下記のように格納されています。(129個)
[root@os-registry-01 ~]# ls /var/lib/registry/docker/registry/v2/repositories/openstack/ | wc -l
129
[root@os-registry-01 ~]# ls -1 /var/lib/registry/docker/registry/v2/repositories/openstack/ol-openstack-aodh-api
ol-openstack-aodh-base
ol-openstack-aodh-evaluator
ol-openstack-aodh-expirer
ol-openstack-aodh-listener
ol-openstack-aodh-notifier
ol-openstack-barbican-api
ol-openstack-barbican-base
ol-openstack-barbican-keystone-listener
ol-openstack-barbican-worker
ol-openstack-base
ol-openstack-ceilometer-base
ol-openstack-ceilometer-central
ol-openstack-ceilometer-compute
ol-openstack-ceilometer-ipmi
ol-openstack-ceilometer-notification
ol-openstack-ceph-base
ol-openstack-ceph-mds
ol-openstack-ceph-mgr
ol-openstack-ceph-mon
ol-openstack-ceph-osd
ol-openstack-ceph-rgw
ol-openstack-cephfs-fuse
ol-openstack-chrony
ol-openstack-cinder-api
ol-openstack-cinder-backup
ol-openstack-cinder-base
ol-openstack-cinder-scheduler
ol-openstack-cinder-volume
ol-openstack-cron
ol-openstack-designate-api
ol-openstack-designate-backend-bind9
ol-openstack-designate-base
ol-openstack-designate-central
ol-openstack-designate-mdns
ol-openstack-designate-pool-manager
ol-openstack-designate-producer
ol-openstack-designate-sink
ol-openstack-designate-worker
ol-openstack-dnsmasq
ol-openstack-elasticsearch
ol-openstack-fluentd
ol-openstack-glance-api
ol-openstack-glance-base
ol-openstack-glance-registry
ol-openstack-gnocchi-api
ol-openstack-gnocchi-base
ol-openstack-gnocchi-metricd
ol-openstack-gnocchi-statsd
ol-openstack-haproxy
ol-openstack-heat-all
ol-openstack-heat-api
ol-openstack-heat-api-cfn
ol-openstack-heat-api-cloudwatch
ol-openstack-heat-base
ol-openstack-heat-engine
ol-openstack-horizon
ol-openstack-ironic-api
ol-openstack-ironic-base
ol-openstack-ironic-conductor
ol-openstack-ironic-inspector
ol-openstack-ironic-neutron-agent
ol-openstack-ironic-pxe
ol-openstack-iscsid
ol-openstack-keepalived
ol-openstack-keystone
ol-openstack-keystone-base
ol-openstack-keystone-fernet
ol-openstack-keystone-ssh
ol-openstack-kibana
ol-openstack-kolla-toolbox
ol-openstack-magnum-api
ol-openstack-magnum-base
ol-openstack-magnum-conductor
ol-openstack-memcached
ol-openstack-multipathd
ol-openstack-murano-api
ol-openstack-murano-base
ol-openstack-murano-engine
ol-openstack-mysqlcluster-api
ol-openstack-mysqlcluster-mgmt
ol-openstack-mysqlcluster-ndb
ol-openstack-neutron-base
ol-openstack-neutron-bgp-dragent
ol-openstack-neutron-dhcp-agent
ol-openstack-neutron-infoblox-ipam-agent
ol-openstack-neutron-l3-agent
ol-openstack-neutron-lbaas-agent
ol-openstack-neutron-linuxbridge-agent
ol-openstack-neutron-metadata-agent
ol-openstack-neutron-metadata-agent-ovn
ol-openstack-neutron-metering-agent
ol-openstack-neutron-openvswitch-agent
ol-openstack-neutron-server
ol-openstack-neutron-server-opendaylight
ol-openstack-neutron-server-ovn
ol-openstack-neutron-sfc-agent
ol-openstack-neutron-sriov-agent
ol-openstack-neutron-vpnaas-agent
ol-openstack-nova-api
ol-openstack-nova-base
ol-openstack-nova-compute
ol-openstack-nova-compute-ironic
ol-openstack-nova-conductor
ol-openstack-nova-consoleauth
ol-openstack-nova-libvirt
ol-openstack-nova-mksproxy
ol-openstack-nova-novncproxy
ol-openstack-nova-placement-api
ol-openstack-nova-scheduler
ol-openstack-nova-serialproxy
ol-openstack-nova-spicehtml5proxy
ol-openstack-nova-ssh
ol-openstack-novajoin-base
ol-openstack-novajoin-notifier
ol-openstack-novajoin-server
ol-openstack-openstack-base
ol-openstack-openvswitch-base
ol-openstack-openvswitch-db-server
ol-openstack-openvswitch-vswitchd
ol-openstack-rabbitmq
ol-openstack-swift-account
ol-openstack-swift-base
ol-openstack-swift-container
ol-openstack-swift-object
ol-openstack-swift-object-expirer
ol-openstack-swift-proxy-server
ol-openstack-swift-rsyncd
ol-openstack-utils

つづく。

0 件のコメント:

コメントを投稿