IBM Cloud Satellite 管理機能の日本GAは7月末となっているが、ワシントンDCの管理機能を利用して、自宅のハイパーバイザー環境で、利用できることを試したので、以下にメモを残しておく。
検証した環境の概要
仮想サーバーのリスト
OpenShiftノード一覧
前提条件
IBM Cloud Satelliteは、企業向けのサービスであり、リソースの要求量やベースOSのサブスクリプション費用など、個人が手軽に利用するといったものではない。
- IBM Cloud の アカウントを持っていること。
- RHEL をサブスクリプションありで利用できること。
- 3台以上の ハイパーバイザーが動作するPCサーバーがあること。
- vCPU x4, RAM 16G, HDD 100GB の仮想マシンを 6機起動できる リソースがあること。
- ブロードバンドなインターネット接続があり、プライベートLANからNATでインターネットをアクセスできること。
- 仮想マシンからパブリックのDNSを参照できること。DNSがひけないと Satellite のエンドポイントのIPが取得できないので、動かない。
セットアップの概要
ドキュイメントに詳細に書かれているが、全体感を掴みにくいので、以下に手順をリストする。
- IBM Cloud のメニューから Satellite に進み、ロケーションを作成する。
- 仮想サーバー vCPU x4, RAM 16G のRHEL仮想マシンを6台起動する。
- 仮想マシンが起動したら、ホスト名、IPアドレスを設定して、再起動する。
- RHELサブスクリプションの登録
- RHELリポジトリ追加
- Satellite ロケーションのWeb画面から、アタッチするためのシェルをダウンロード
- シェルを実行すると、IBM Cloud Satellite ホスト画面にノードが表示される。全ノードをアタッチする。
- 6ノード の内、3ノードをコントロールプレーンに割り当てる。
- コントロールプレーンのノードへのデプロイが完了したら、Satellite 概要画面を確認する。
- 「デプロイメントの準備完了」の項目が「はい」になれば、OpenShiftのデプロイを開始する
# RHELサブスクリプションの登録
subscription-manager register --username <username> --password <password>
subscription-manager attach --auto
subscription-manager refresh
# RHELリポジトリ追加
subscription-manager repos --enable rhel-server-rhscl-7-rpms
subscription-manager repos --enable rhel-7-server-optional-rpms
subscription-manager repos --enable rhel-7-server-rh-common-rpms
subscription-manager repos --enable rhel-7-server-supplementary-rpms
subscription-manager repos --enable rhel-7-server-extras-rpms
# シェルのダウンロードの後、アタッチするためのシェル実行
sudo nohup bash /tmp/attach.sh &
journalctl -f -u ibm-host-attach
参考リンク
https://cloud.ibm.com/docs/satellite?topic=satellite-getting-started
RHEL KVMマシンイメージについて
環境に依存するので、参考程度に書いておく。筆者の環境は、Ubuntu 20.04 で QEMU/KVMを動作させている。その上で、RHELの仮想マシンを起動した。
初期パスワードの設定方法
https://access.redhat.com/solutions/641193 に記載された方法で qcow2 にパスワードをセットする。
# virt-customize -a <qcow2 image file name> --root-password password:<password>
qcow2 ディスクイメージの拡張
RHELから入手できる RHEL 7.x のqcow2 イメージは、816MBしかなく、仮想マシンを起動してもOpenShiftをインストールできない。そこで、以下の方法で、 100Gのブートイメージを作る
qemu-img create -f raw node1.qcow2 100G
virt-resize --expand /dev/sda1 rhel-base.qcow2 node1.qcow2
参考: https://www.cyberithub.com/resize-qcow2-image-with-virt-resize-kvm-tools/
KVMの仮想マシン起動方法
仮想マシンを起動するには、次のコマンドを実行する。ネットワークの環境に合わせて変更する。
ノード数だけ、繰り返す。
virt-install \
--name node1 \
--memory 16384 \
--vcpus 4 \
--cpu kvm64 --hvm \
--os-variant rhel7.8 \
--network network=default,model=virtio --network network=private --network network=public \
--import --graphics none --noautoconsole \
--disk /home/images/node1.qcow2
RHEL IPアドレス、DNSの設定変更
仮想マシンのIPアドレス、DNS、設定例
vi /etc/sysconfig/network-scripts/ifcfg-eth2
DEVICE="eth2"
BOOTPROTO="none"
BOOTPROTOv6="none"
ONBOOT="yes"
TYPE="Ethernet"
USERCTL="yes"
PEERDNS="yes"
IPV6INIT="yes"
PREFIX=24
IPADDR=10.0.0.51
GATEWAY=10.0.0.1
DNS1=10.0.0.220
ホスト名の変更例
vi /etc/hostname
node1.labo.local
注意事項
IBM Cloud Satellite は、必ず 3つのゾーンに コントロールプレーンの仮想マシンを配置しなければならない。しかし、エッジロケーションやホームオフィスでは、そのような事はできない。
ここでのゾーンは、ハイパーバイザーのホストに読み替えることができる。3つのハイパーバイザーホストをゾーン1、ゾーン2、ゾーン3 と読み替えて設定する。
3ゾーンに、コントロールプレーンの3ノードが、分散して配置されていない限り、OpenShiftのインストールを開始できない。
まとめ と 感想
最小 3台のパソコンがあれば、IBM Cloud Satelliteが利用できることが判った。 3台のパソコンでは、1台あたり、2ノードを起動する必要があるので、vCPU 8、RAM 32GB が必要となる。
手軽かどうかについては、OSS の KVM/QUMU を設定している場合は、相応のスキルが必要である。しかし、Windows Hyper-V や VMware ESXi などを利用するのであれば簡単に利用できると思われる。
OpenShiftのインストールや構成については、IBM Cloud Satelliteのサービスがすべて実施してくれるので、OpenShiftのスキルは必要としない。
時間課金でOpenShiftを利用できて、エッジ環境、ホームオフィスのパソコンにデプロイできるというのは、これまでのIBMには無い画期的なサービスだと思う。