Kubernetes運用関連で自身が遭遇した事象への対処の備忘録としてTips集的にエントリを育てていく
Kubernetesで消えないPodを強制的に削除する
まれにkubectl delete pods
してもPodが消えてくれないことがあり、その時は--grace-period=0
, --force
オプションを付けることで強制的に削除することができる。
kubectl delete pods {$pod_name} --grace-period=0 --force
この方法はkubeletからの確認を待たずに強制的に削除するので、Podのプロセスが完全になくならなかったりほかのリソースとの競合などが起こりえる。 この方法を常に行うような状況の場合は原因を追究する必要がある。
Option | Description |
---|---|
--grace-period=0 |
正常に終了するためにリソースに与えられる秒単位の時間。負の場合は無視されます。即時シャットダウンするには 1 に設定します。 --force が true (強制削除) の場合にのみ 0 に設定できます。 |
--force |
true の場合、API からリソースを直ちに削除し、正常な削除をバイパスします。一部のリソースをすぐに削除すると、不整合やデータ損失が発生する可能性があるため、確認が必要であることに注意してください。 |
TLS証明書のエラー
kubectl
コマンド実行時に以下の様なエラーで接続できない場合、証明書の不一致が原因である可能性が高い
Unable to connect to the server: x509: certificate signed by unknown authority (possibly because of "crypto/rsa: verification error" while trying to verify candidate authority certificate "kubernetes")
kubeconfig
を確認して実行元で持っている情報と差分がないかを確認する