オラクルクラウド OCI で、OKEっていうサービスを使ってます。

OKEって、kubernetes の SAAS サービスです。

インスタンス代金とブロックボリューム代金以外は、無料のかなりお得なサービスです。

Dockerが大好きな人達なら是非、活用すれば良いと思いますね。

kubernetesのインフラ部分を OKE が、まかなってくれるので、大変、便利ですよ。


と、ここまでは、ほめておきます。

 

しかし、時々、バージョンアップしないとサポートしないと脅されたりするので、仕方なくUpgrade作業が、1年に2回ぐらい訪れます。

前は、面倒だったのですが、最近は、ノードのインスタンス達をサイクル出来るようになったので、楽になりましたね。

で、本題はここからなんですよね。

ハージョンアップって、クラストとノードのバージョンを更新すれば良いんですけど、ノードは、バージョンを更新しても、動作中のインスタンスは、更新されません。

なので、交換サイクルを行います。

ここで、適当なイメージを選択していると痛い目に合うように出来ています。

イメージって、OracleLinuxのバージョンイメージのことなんですが、kubernetes との互換性がわからないんで、間違うと普通に起動出来なくなります。

しかも、OKE専用イメージってのが用意されたんですが、こいつは、ストレージ容量が更新されないようで、Disk圧迫を食らい、Podが起動出来なくなったりします。<- これって、バグじゃないの

なので、動作中のノードには、サイクルをしないで、別プールを作って、確実に起動するステージを作ってからバージョンアップしましょうね。

 

現状(2026年4月18日)、情報です。

シェイプ:A1 Flex

バージョン:1.35.0 は、aarch64-2026.02.28-0 で起動しませんでした。

バージョン:1.34.2 を使いましょうね。


ということで、またまた、OKEがアップグレードしたようで、対応しようと作業しました。

 

やはり、v1.36.1 に対応する node は、起動しませんでしたね。プラットフォーム・イメージ ですよ。

そこで、作成されたインスタンスの状態をcloud shellで、確認してみました。

 

[  422.886133] kubelet[44896]: I0711 00:57:54.131951   44896 feature_gate.go:477] "Warning: setting GA feature gate. It will be removed in a future release." featureGate="DynamicResourceAllocation" value=true
[  422.889024] kubelet[44896]: I0711 00:57:54.131996   44896 feature_gate.go:477] "Updated" featureGates={"DynamicResourceAllocation":true}
[  422.890924] kubelet[44896]: E0711 00:57:54.132972   44896 run.go:72] "command failed" err="failed to validate kubelet configuration, error: kubelet is configured to not run on a host using cgroup v1. cgroup v1 support is unsupported and will be removed in a future release, path: &TypeMeta{Kind:,APIVersion:,}"

 

というような状況でしたね。

これを gemini様に伺うと、ホストOSが、cgroup v1 で、起動している為、新しいバージョンの kubelet が cgroup v1 を拒否する設定になっている(またはすでにサポートを終了している) ためです とのことだった。

そもそも、A1.FLEXの プラットフォームイメージは、8までしか提供されていないので、こんなことになっていると思いますね。

https://docs.oracle.com/cd/F22978_01/boot/cgroups-EnableCGrp2.html#topic_y1v_t1f_svb

 

つまり、新しい kubenetes の要件にあっていないということですね。

Oracleさん、ちゃんと検証していないですよね。

といことで、対策は、ブート時に、cgroup v2 で、起動するようにする必要がある為、以下のようにカーネルに引数を追加しろとのことです。

grubby --update-kernel=/boot/vmlinuz-$(uname -r) --args="systemd.unified_cgroup_hierarchy=1" && reboot

しかし、これを設定する方法なんて無いんですよね。

なぜなら、root で、実行する方法が無いからですね。

whoami -> ocarun

sudo を使おうもんなら、パスワード入れろと言われます。

sudo: a terminal is required to read the password; either use the -S option to read from standard input or configure an askpass helper
sudo: a password is required

そもそも、こんな小細工で、ブート出来ても、折角のSaas管理のkubernetesなのに、nodeの増加の度にこんなこと、やってられないですよね。

 

ということで、OKEワーカー・ノードのイメージ に変更して、ノードを作成すると、起動するんですね。

Oracle-Linux-9.7-aarch64-2026.06.15-0-OKE-1.36.1-1505

OSが9なので調整されているんでしょうね。

しかし、今度は、75GBで、ボリュームを指定したのに、少なすぎるボリュームになってしまいます。

Filesystem                 1K-blocks    Used Available Use% Mounted on
devtmpfs                        4096       0      4096   0% /dev
tmpfs                        8657912     140   8657772   1% /dev/shm
tmpfs                        3463168   10388   3452780   1% /run
efivarfs                         256      14       243   6% /sys/firmware/efi/efivars
/dev/mapper/ocivolume-root  30867456 8478872  22388584  28% /
/dev/sda2                    2031616  414980   1616636  21% /boot
/dev/mapper/ocivolume-oled  15663104  154180  15508924   1% /var/oled
/dev/sda1                     102156    7900     94256   8% /boot/efi
tmpfs                        1731580       0   1731580   0% /run/user/988

NAME               FSTYPE      FSVER    LABEL UUID                                   FSAVAIL FSUSE% MOUNTPOINTS
sda                                                                                                 
├─sda1             vfat        FAT16          BBF7-A736                                  92M     8% /boot/efi
├─sda2             xfs                        e92cbce5-d8b8-456e-942e-25eb67631fce      1.5G    20% /boot
└─sda3             LVM2_member LVM2 001       z5bAq5-ObV8-7GGK-jlL2-2S6R-w27X-AZM5Nb                
  ├─ocivolume-root xfs                        58977eb5-acd1-477b-bdc7-b0eb7b05afa7     21.4G    27% /var/lib/kubelet/pods/9bfaf205-9f25-4607-86d4-2daf4f1d7d76/volume-subpaths/chroot-ip6tables/install-cni-ips/11
  │                                                                                                 /var/lib/kubelet/pods/9bfaf205-9f25-4607-86d4-2daf4f1d7d76/volume-subpaths/chroot-iptables/install-cni-ips/10
  │                                                                                                 /var/lib/kubelet/pods/892a2ca5-b629-420f-86f6-dedde6a1d55e/volume-subpaths/chroot-iptables/kube-proxy/9
  │                                                                                                 /var/lib/kubelet/pods/892a2ca5-b629-420f-86f6-dedde6a1d55e/volume-subpaths/chroot-iptables/kube-proxy/8
  │                                                                                                 /var/lib/kubelet/pods/892a2ca5-b629-420f-86f6-dedde6a1d55e/volume-subpaths/chroot-iptables/kube-proxy/7
  │                                                                                                 /var/lib/kubelet/pods/892a2ca5-b629-420f-86f6-dedde6a1d55e/volume-subpaths/chroot-iptables/kube-proxy/6
  │                                                                                                 /var/lib/kubelet/pods/892a2ca5-b629-420f-86f6-dedde6a1d55e/volume-subpaths/chroot-iptables/kube-proxy/5
  │                                                                                                 /var/lib/kubelet/pods/892a2ca5-b629-420f-86f6-dedde6a1d55e/volume-subpaths/chroot-iptables/kube-proxy/4
  │                                                                                                 /var/lib/kubelet/pods/6f7e3fcf-60cf-4c77-861e-d499cfe27227/volume-subpaths/fss-driver-mounts/csi-node-driver/10
  │                                                                                                 /var/lib/kubelet/pods/6f7e3fcf-60cf-4c77-861e-d499cfe27227/volume-subpaths/fss-driver-mounts/csi-node-driver/9
  │                                                                                                 /var/lib/kubelet/pods/6f7e3fcf-60cf-4c77-861e-d499cfe27227/volume-subpaths/fss-driver-mounts/csi-node-driver/8
  │                                                                                                 /var/lib/kubelet/pods/6f7e3fcf-60cf-4c77-861e-d499cfe27227/volume-subpaths/chroot-iscsiadm/csi-node-driver/5
  │                                                                                                 /var/lib/containers/storage/overlay
  │                                                                                                 /
  └─ocivolume-oled xfs                        e392ff56-e796-41c4-82a1-3917935488e2     14.8G     1% /var/oled

 

折角、お金を払ってボリュームを増やしたのに、使えないとは、Oracleさんは、ボリューム泥棒ですね。

当然、rootが使えないので、ボリューム伸張することも不可能です。

ということで、gemini様に相談したところ、kubectl で、特権 pod を作成して、nodeにコマンドを叩き込む技を教えてもらいました。

kubectl run node-extender --rm -i --tty --restart=Never --image=curlimages/curl --overrides='{"spec":{"nodeName":"10.6.2.190","hostPID":true,"containers":[{"name":"extender","image":"alpine","command":["nsenter","-t","1","-m","-u","-i","-n","sh","-c","echo 1 > /sys/class/block/sda/device/rescan && (command -v growpart >/dev/null 2>&1 || dnf install -y cloud-utils-growpart) && growpart /dev/sda 3 && pvresize /dev/sda3 && lvextend -l +100%FREE /dev/mapper/ocivolume-root && xfs_growfs /"],"securityContext":{"privileged":true}}]}}'

 

無事、xfsを伸張出来ましたが、Oracleさん、修正してね。

 

Joomla templates by a4joomla