konchangakita

KPSを一番楽しんでいたブログ 会社の看板を背負いません 転載はご自由にどうぞ

NKE(旧Nutanix Karbon)のアップデートでハマった話

こちらの記事は、Nutanix Advent Calendar 2022 2日目の記事です

ちょっと昔に Nutanix Karbon で Kubernetes入門していました
【Nutanix Karbon】Xi IoTの為のKubernetes環境を作ってみる - konchangakita

今は Nutanix Karbon から NKE(Nutanix Kubernetes Engine) と名前にリブランドされています
この NKE を使って何かしてみようと思います


アイコンはそのまま継続の模様

だがしかし、その前にまずは NKE を最新版にアップデートしようとして、ハマったお話をご披露します

==アップデート前の環境=========
AOS 6.5
AHV 20201105.30398
Prism Central pc.2022.6
NKE 2.2.3
LCM 2.5.0.2
===========================

LCMを使ったアップデート

NKE をアップデートするには、Prism Central の LCM を使用します

1.メニューから LCM - Inventory

2.Perform Inventory

3.PCとNKEを選択してアップデートする


通常ならば、LCM を使ってこれで簡単に PC も NKE もなんならその他の機能も一発アップデートで簡単になったなぁ!、、、のはずが。。。

NKEが失敗する

PrismCentralのアップデートは正常に完了するのですが、NKEはなんだか失敗してサービスも落ちている模様
NKEのUIも落ちて無反応

いろいろ調べたところ、本当にいろいろ調べたところ、どうやら NKE 2.2.x や 2.3 からのLCMを使ったアップデートには、ちょっと作戦が必要の模様 。。。

対処法

NKE 2.2.x, 2.3 で LCM を実行すると Karbon サービスがダウンしてしまうようなので、Prism Central 上でおまじないを仕込んでやります
Karbon サービスが落ちている状態で、Prism Central に ssh 接続して、下記コマンドを順番に実行します

pcvm$ sudo cp /home/docker/karbon_core/karbon_core_config.json /home/nutanix/tmp/karbon_core_config.json.bkup
pcvm$ sudo cp /home/docker/karbon_core/karbon_core_config.json /home/nutanix/tmp/karbon_core_config_modified.json

次に、Prism Central で Karbon サービスの起動を行います

pcvm$ cluster start
2022-11-28 13:30:37,068Z INFO MainThread zookeeper_session.py:190 cluster is attempting to connect to Zookeeper
2022-11-28 13:30:37,073Z INFO Dummy-1 zookeeper_session.py:629 ZK session establishment complete, sessionId=0x184bda305f40d39, negotiated timeout=20 secs
2022-11-28 13:30:37,078Z INFO MainThread cluster:2918 Executing action start on SVMs 10.42.69.39
Waiting on 10.42.69.39 (Up, ZeusLeader) to start:  KarbonUI KarbonCore
Waiting on 10.42.69.39 (Up, ZeusLeader) to start:  KarbonUI KarbonCore
Waiting on 10.42.69.39 (Up, ZeusLeader) to start:  KarbonUI KarbonCore
・
・
・

Waiting on 10.42.69.39 (Up, ZeusLeader) to start: 
The state of the cluster: start
Lockdown mode: Disabled

        CVM: 10.42.69.39 Up, ZeusLeader
                                Zeus   UP       [8514, 8561, 8562, 8563, 8573, 8590]
                           Scavenger   UP       [10423, 11546, 11547, 11550]
                    SysStatCollector   UP       [19449, 19531, 19532, 19533]
                           IkatProxy   UP       [19894, 19980, 19981, 19982]
                    IkatControlPlane   UP       [20192, 20271, 20272, 20273]
                       SSLTerminator   UP       [20197, 20315, 20316]
                              Medusa   UP       [20422, 20484, 20485, 20548, 20845]
                  DynamicRingChanger   UP       [21116, 21223, 21224, 21301]
                          InsightsDB   UP       [21127, 21259, 21260, 21345]
                              Athena   UP       [21135, 21294, 21295, 21296]
                             Mercury   UP       [21915, 21995, 21996, 22031]
                              Mantle   UP       [21921, 22027, 22028, 22054]
                          VipMonitor   UP       [25652, 25653, 25654, 25655, 25659]
                InsightsDataTransfer   UP       [21978, 22238, 22239, 22255, 22256, 22257, 22258, 22259, 22260, 22261, 22262, 22263]
                               Ergon   UP       [22011, 22305, 22306, 22307, 22327]
                             GoErgon   UP       [22084, 22435, 22436, 22467]
                               Prism   UP       [22199, 22510, 22511, 22595, 23760, 23796]
                              Adonis   UP       [22243, 22566, 22567, 22568, 22569]
                   PrismNotification   UP       [22316, 22641, 22642, 22643]
                        AlertManager   UP       [22398, 22674, 22675, 22737]
                             Catalog   UP       [22731, 22985, 22986, 22987, 23011]
                               Atlas   UP       [22761, 23045, 23046, 23047]
                               Uhura   UP       [22835, 23075, 23076, 23077]
                       ClusterConfig   UP       [22861, 23114, 23115, 23117]
                         APLOSEngine   UP       [22907, 23146, 23147, 23148]
                               APLOS   UP       [23390, 23493, 23494, 23495]
                        StatsGateway   UP       [23401, 23555, 23556, 23637]
                               Lazan   UP       [23418, 23604, 23605, 23606]
                               Kanon   UP       [23437, 23669, 23670, 23671]
                             Polaris   UP       [24044, 24154, 24155, 24219]
                              Delphi   UP       [24054, 24190, 24191, 24192, 24206]
                          Metropolis   UP       [24574, 24670, 24671, 24808]
                                Flow   UP       [24582, 24709, 24710, 24711, 24728]
                             Magneto   UP       [24593, 24774, 24775, 24776]
                              Search   UP       [25657, 25746, 25747, 25748, 25754, 25755, 25756, 25924]
                               XPlay   UP       [25672, 25784, 25785, 25832]
                            KarbonUI   UP       [146155, 146238, 146239]
                          KarbonCore   UP       [147155, 147212, 147213]
                               XTrim   UP       [26456, 26616, 26617, 26618]
                 DataProviderManager   UP       [26473, 26667, 26668, 26711]
                              Pollux   UP       [26489, 26727, 26728, 26755, 26756]
                       ClusterHealth   UP       [26511, 26822, 27189, 27191, 27195, 27202, 27258, 27259, 27268, 27280, 27281, 27291, 27292, 27294, 27300, 27301, 27306, 27346, 27347, 27351, 27387, 27388, 27423, 27424, 27428, 27429, 27431, 27432, 27626, 27627, 27628, 27629, 27631, 27632, 27641, 27642, 27658, 27659, 27762, 27765]
                              Neuron   UP       [26563, 26879, 26880, 27097, 27126, 27127, 28236, 28249, 28272, 28273, 28284, 28292, 28293, 28303, 28326, 28327, 28334]
                          Categories   UP       [26621, 26920, 26921, 26922, 26938]
                       DomainManager   UP       [27844, 27959, 27960]
2022-11-28 13:31:16,441Z INFO MainThread cluster:3079 Success!


Karbon サービス起動を確認後に下記コマンドを実行

pcvm$ sudo sed -i '/^\s*"config".*/a \\t \t"env":{},' /home/nutanix/tmp/karbon_core_config_modified.json
pcvm$ sudo cp /home/nutanix/tmp/karbon_core_config_modified.json /home/docker/karbon_core/karbon_core_config.json


再度アップデートを試みる

LCMを使って再度アップデートを試みます



無事成功!
NKE 2.5.0 では、ちょっとインタフェースも変わったようですね

結構苦労したので今回はここまで