Home [kubernetes] k8s クライアント構成証明書の有効期限を確認する方法
Post
Cancel

[kubernetes] k8s クライアント構成証明書の有効期限を確認する方法

Kubernetes 証明書有効期限アラート

1
Kubernetes API サーバーへの認証に使用されるクライアント証明書が 7.0 日以内に期限切れになります。

もし上記のようなメッセージが k8s クラスタで表示された場合、それは kube config で指定された証明書が有効期限切れ寸前であることを示しています。

Kubernetes 証明書有効期限の確認

シェル スクリプト

kube config の有効期限を確認するには、以下のシェル コマンドを使用できます:

1
2
$ cat config | grep client-certificate-data | cut -f2 -d : | tr -d ' ' | base64 -d | openssl x509 -text -out - | grep "Not After"
>> Not After: Mar 24 06:01:12 2024 GMT

コマンドの説明:

1) 最初に config があるフォルダに移動します(例: .kube フォルダ)。 2) config を出力します。 3) k8s 証明書情報を含む client-certificate-data を出力します。 4) cut -f2 -d : | tr -d ' ' を使用して証明書情報を抽出します。 5) base64 でエンコードされた内容をデコードし、OpenSSL を使用してクライアント証明書の詳細を出力します。 6) “Not After” の後に続く文字列が証明書の有効期限を表示します。

1 つの config に複数のクラスタ情報がある場合は?

上記のコマンドは config に 1 つのクラスタ情報しかない場合に使用できます。1 つの config に複数のクラスタ証明書情報を管理する場合は、次のスクリプトを使用できます:

1
2
3
4
5
6
7
8
9
10
11
#!/bin/bash

# config ファイルのパス
CONFIG_FILE="config"

# config を抽出して処理
cat $CONFIG_FILE | grep client-certificate-data | cut -f2 -d : | tr -d ' ' | while read -r line; do
    echo "Line: $line"
    echo "$line" | base64 -d | openssl x509 -text -out -
    echo ""
done

このコマンドは bash ファイルとして保存して実行する必要があります。

This post is licensed under CC BY 4.0 by the author.

[Linux] update-alternativesを使用してプログラムのバージョンを管理する

[LeetCode解法] 169. Majority Element