3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

しばらく休眠していたOpenShiftを起動する際の備忘録

Posted at

しばらく休眠していたOpenShiftとは

一般的なRed Hat OpenShiftは常時稼働する大規模なクラスターなのでこのようなことはないと思いますが、Single Node OpenShift(SNO)のような小規模なものではクラスター全体をシャットダウンして必要なときだけ起動することもあると思います。そして後日ブートすると、起動が完了しない(oc get nodeでNot Readyのまま)ということに・・・

1ヶ月以上休眠していると

調べてみると、ちょうど1ヶ月以上の間、停止状態のままだと、証明書の有効期限が切れてこのようなことになるようです。これはブートしたノードにsshでログインしてみるとログからわかりました。証明書がexpiredとなった日付はちょうどノードをシャットダウンしてから一ヶ月後です。

ssh -i ./id_rsa core@ノードのIPアドレス
journalctl -b -u kubelet | grep expired
(メッセージの例1)
May 10 03:17:30 xx-xx-xx-xx-xx-xx hyperkube[3466]: E0510 03:17:30.096854    3466 bootstrap.go:265] part of the existing bootstrap client certificate in /var/lib/kubelet/kubeconfig is expired: 2023-04-24 07:39:18 +0000 UTC
(メッセージの例2)
6月 26 06:05:48 xx-xx-xx-xx-xx-xx kubenswrapper[2779]: I0626 06:05:48.869508    2779 csi_plugin.go:993] Failed to contact API server when waiting for CSINode publishing: Get "https://api-int.sno-vmware2.localdomain:6443/apis/storage.k8s.io/v1/csinodes/xx-xx-xx-xx-xx-xx": x509: certificate has expired or is not yet valid: current time 2023-06-26T06:05:48Z is after 2023-06-09T02:11:12Z

対策:証明書署名要求(CSR)の承認

そこで、ocコマンドを使ってペンディング状態になっている証明書を承認してあげます。この操作はkubeconfigファイルを保管しているPCなどから実施します。

export KUBECONFIG=./kubeconfig-noingress
oc get csr
(CONDITIONがPendingとなっているCSRがあることを確認)
oc get csr -o name | xargs oc adm certificate approve
(certificatesigningrequest.certificates.k8s.io/csr-bsrdt approved のようなメッセージが表示される)

その後、oc get nodeでReadyとなり、OpenShiftのWebコンソールにも接続できるようになりました。

メモ

OpenShift Assisted InstallerでSNOをセットアップする場合は完了後にkubeconfigファイルをダウンロードして保管することを忘れずに。そうしないとocコマンド操作ができません。

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?