「Building an OKD4 single node cluster with minimal resources」をVirtualBoxで試してみた
はじめに
最小構成で、OpenShift4の自宅環境が欲しいです。そんな時に天啓が聞こえました。
https://twitter.com/openshiftjp/status/1267649652259774464?s=21
安易な気持ちで「CentOS+KVMでできるなら、VirtualBoxで入れ子で構築できるんじゃね?」という事で試してみましたが全くダメでした。
試した環境
- Mac mini 2018 (Core-i5 3GHz 6Core,RAM 32GB,SSD 1TB)
- macOS Catalina v10.15.5
- ORACLE VM VirtualBox 6.1.8 r137981 (Qt5.6.3)
- VM:OKD4.4SNC (RAM 26214MB,CPU 6,ネステッドVT-x/AMD-Vを有効化,ストレージ300GB固定サイズ,NICブリッジ接続)
- VM:OKD4.4SNC (RAM 26214MB,CPU 6,ネステッドVT-x/AMD-Vを有効化,ストレージ300GB固定サイズ,NICブリッジ接続)
そもそもこの構成でもリソースが足りていないようです。(「最小構成」とは...)
試した結果
以下の手順内容を実施しました。
okd4-single-node-cluster (https://cgruver.github.io/okd4-single-node-cluster/)
自宅のプライベートネットワーク(192.168.1.〜)にブリッジ接続させて、192.168.1.200を割り当ててます。
「DNS Configuration」の箇所でうまくいかない感じだったので、forwardersでをルータのDNSを定義しています。
acl "trusted" {
192.168.1.0/24;
};
options {
listen-on port 53 { 127.0.0.1; 192.168.1.200; };
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
allow-query { trusted; };
forwarders { 192.168.1.1; };
recursion yes;
dnssec-enable yes;
dnssec-validation yes;
/* Path to ISC DLV key */
bindkeys-file "/etc/named.iscdlv.key";
managed-keys-directory "/var/named/dynamic";
pid-file "/run/named/named.pid";
session-keyfile "/run/named/session.key";
};
logging {
channel default_debug {
file "data/named.run";
severity dynamic;
};
};
zone "." IN {
type hint;
file "named.ca";
};
include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";
include "/etc/named/named.conf.local";
結局のところ、KVMにノードをデプロイする際のリソース確保が半端ない量だという事がわかりました。
1 #!/bin/bash
2
3 set -x
4
5 # This script will set up the infrastructure to deploy a single node OKD 4.X cluster
6 CPU="4"
7 MEMORY="16384"
8 DISK="200"
9 FCOS_VER=31.20200505.2.0
: (中略)
92 # Create the Bootstrap Node VM
93 mkdir -p /VirtualMachines/okd4-snc-bootstrap
94 virt-install --name okd4-snc-bootstrap --memory 14336 --vcpus 2 --disk size=100,path=/VirtualMachines/okd4-snc-b ootstrap/rootvol,bus=sata --cdrom /tmp/bootstrap.iso --network bridge=br0 --graphics none --noautoconsole --os-v ariant centos7.0
: (中略)
120 # Create the OKD Node VM
121 mkdir -p /VirtualMachines/okd4-snc-master
122 virt-install --name okd4-snc-master --memory ${MEMORY} --vcpus ${CPU} --disk size=${DISK},path=/VirtualMachines/ okd4-snc-master/rootvol,bus=sata --cdrom /tmp/snc-master.iso --network bridge=br0 --graphics none --noautoconsol e --os-variant centos7.0
123
124 rm -rf /tmp/fcos
スクリプトを追ってみただけでも、
- bootstrapノード : RAM14G,CPU2,DISK100G
- masterノード : RAM16GB,CPU4,DISK200G
が必要なようです。
更にホストOSのリソースを足さねばならないので、私のように更に(x2)仮想マシンの入れ子で構築したい場合、メモリは64GBくらい欲しいです。
何度かスクリプト内の値を変更しましたが、masterノードがうまくデプロイできませんでした。
[6/18追記]
DeployOkdSnc.sh の virt-install コマンドで指定している --vcpus を「1」にするとデプロイが進みますが、今度はKVMのゲスト環境が、ホストOSのみしか通信ができない状態になってしまい、bootstrapノードのインストールができない状態です。
VirtualBoxのブリッジアダプタをKVMホストで更にブリッジインタフェースにしているのですが、構成の問題なのかはまだよくわかってません。調べてます!
というわけで、メモリ増設を検討します。←[6/18]増設しなくてもいけそうなので、却下します。
[8/17追記]
VirtualBoxのブリッジアダプタをWiFiにしていたからのようでした。有線LANにすると更に進みましたが、また別の要因で進めておりません。
使っているのはMacなのですが、自宅のiOS端末とAirDropをする条件で同一のWiFi接続でBluetoothを有効にしておかないと使えないという悩ましい問題があって、最初は有線LANだったのですがWiFiに切り替えていたのですよね...
またしばらく時間が取れそうにないのですが、新たに見つけた構築記事を試そうかと考えています。
https://medium.com/swlh/guide-okd-4-5-single-node-cluster-832693cb752b
ずっと悩んでいるわけにもいかないので、現在はCodeReadyを使っています...
Author And Source
この問題について(「Building an OKD4 single node cluster with minimal resources」をVirtualBoxで試してみた), 我々は、より多くの情報をここで見つけました https://qiita.com/Y-Shikase/items/08898feafecd6fde9cd3著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .