kubelet 1.26.0
私のUbuntu 22.04
コンピュータにインストールしました。以前は、1.25.2
コマンドで削除し、apt remove kubelet
コマンドを使用して再インストールしたバージョンがありましたapt install kubelet
。構成を検索して表示するkubelet
たびにバージョンが表示されますが、1.26.0
実行するとjournalctl -xu kubelet.service
以下が表示されます。
Dec 06 22:14:42 a systemd[1]: Started kubelet: The Kubernetes Node Agent.
░░ Subject: A start job for unit kubelet.service has finished successfully
░░ Defined-By: systemd
░░ Support: http://www.ubuntu.com/support
░░
░░ A start job for unit kubelet.service has finished successfully.
░░
░░ The job identifier is 11743.
Dec 06 22:14:43 a kubelet[85576]: I1206 22:14:43.254559 85576 server.go:413] "Kubelet version" kubeletVersion="v1.25.4"
Dec 06 22:14:43 a kubelet[85576]: I1206 22:14:43.254699 85576 server.go:415] "Golang settings" GOGC="" GOMAXPROCS="" GOTRACEBACK=""
Dec 06 22:14:43 a kubelet[85576]: I1206 22:14:43.255385 85576 server.go:576] "Standalone mode, no API client"
Dec 06 22:14:43 a kubelet[85576]: I1206 22:14:43.295733 85576 server.go:464] "No api server defined - no events will be sent to API server"
Dec 06 22:14:43 a kubelet[85576]: I1206 22:14:43.295813 85576 server.go:660] "--cgroups-per-qos enabled, but --cgroup-root was not specified. defaulting to /"
Dec 06 22:14:43 a kubelet[85576]: E1206 22:14:43.296299 85576 run.go:74] "command failed" err="failed to run Kubelet: running with swap on is not supported, please disable swap! or set --fail-swa>
Dec 06 22:14:43 a systemd[1]: kubelet.service: Current command vanished from the unit file, execution of the command list won't be resumed.
Dec 06 22:14:43 a systemd[1]: kubelet.service: Main process exited, code=exited, status=1/FAILURE
░░ Subject: Unit process exited
░░ Defined-By: systemd
░░ Support: http://www.ubuntu.com/support
░░
░░ An ExecStart= process belonging to unit kubelet.service has exited.
░░
░░ The process' exit code is 'exited' and its exit status is 1.
"Kubelet version" kubeletVersion="v1.25.4"
また、構成が期待したものと異なるため、kubelet
正しく機能しないと思われます。しかし、この間違った設定がどこから来たのか、どのように解決するのかわかりません。
答え1
journalctl -xu kubelet.service
プログラムみんなkubelet.service
現在システムに保存されているロギングログ。サービスを削除しても生成されたログエントリは自動的に削除されません。
見ているメッセージの日付は12月6日です。当時kubelet 1.26.0をインストールしなかった場合、このメッセージは以前のバージョンで生成されたものであり、システムログから期限切れになりませんでした。 12月6日以降に最新バージョンをインストールした場合は、再インストールkubelet
後にログに進むと最新バージョンが表示されます。
journalctl
最新のログを表示するには、スペースバーを押すか、下矢印キーを使用するか、リストのjournalctl -xeu kubelet.service
最後にある最新のログにすぐに移動するにはを使用します。
journalctl
でその設定を読んでください/etc/systemd/journald.conf
。ただし、ログの保存、ログエントリの有効期限、構成されている場合は、ログメッセージを他のロギングサービスに転送する操作だけが主に処理されるため、あまり役に立ちません。通常、単一のサービスに限定されません(例kubelet.service
:。
正確に定義する方法を知りたい場合は、使用する必要がkubelet.service
ありますsystemctl cat kubelet.service
。このコマンドの利点は、常にリストを表示することです。十分systemd
サービス定義ファイルが存在する場所やその上にオーバーレイファイルが適用されているかどうかに関係なく、サービス定義は表示されるのと同じです。
次のメッセージも参照してください。
"command failed" err="failed to run Kubelet: running with swap on is not supported, please disable swap! or set --fail-swa>
Kubelet 1.25.2は、システムでスワップを有効にしたため、明らかに失敗します。
12月6日から現在までスワップを無効または追加しない限り、Kubelet 1.26.0は同じ問題で失敗すると予想されます。
failSwapOn: false
kubeletノードの構成に設定するか、推奨オプションを追加してください。十分ExecStart
エラーメッセージがその行に表示されますkubelet.service
。
上記のメッセージの終わりは、>
メッセージが端末で受け入れることができるよりも長いことを意味し、右矢印キーを使用してメッセージの残りの部分を見ることができますjournalctl
。また、出力から長いログメッセージをコピーするのが難しくなりますがjournalctl
、これは面倒です。
私のようにこの動作が気に入らない場合は、journalctl
環境変数を設定することをお勧めします。
export SYSTEMD_LESS=FRXMK
長い改行を許可する(簡単なコピー/貼り付けのため)十分ログメッセージ)完全な長いログメッセージを表示するには、右/左スクロールは必要ありません。