K8Sを本番環境に導入すると、90%のユーザーがこの障害に遭遇する。

K8Sを本番環境に導入すると、90%のユーザーがこの障害に遭遇する。

Kubernetes/K8s の本番環境では、90% の人が障害に遭遇します。ある日、K8s クラスターで kubectl コマンドを実行すると、エラー メッセージ 509 証明書の有効期限が切れているというメッセージが表示されます。次のエラー メッセージが返されます。

 Unable to connect to the server: x509: certificate has expired or is not yet valid

何が原因でしょうか?どうすれば解決できるでしょうか?

kubectl は実際に kube/config ファイルを読み取り、API サーバーへのリクエストを開始することがわかります。つまり、kubectl のすべての操作では、このファイルを使用して API サーバーからデータを取得し、現在のターミナルに表示します。

このプロンプトは、kube/config ファイル内の証明書と API サーバーの証明書の有効期限が切れていることを意味します。 kubeadm を使用してクラスターを構築する場合、そのすべての証明書はデフォルトで /etc/kubernetes/pki に保存されます。これらには主に、k8s および etcd で使用される証明書が含まれます。これらの証明書のデフォルトの有効期間は 1 年です。有効期限が切れると、k8s クラスターはサービスを提供できなくなります。

では、なぜ1年だけなのでしょうか?

これは、K8S の担当者が、最新のバージョンを維持するために、1 年に 1 回 K8S バージョンを更新していただくことを期待しているためです。同時に、その証明書によって実際に延長が与えられます。

1 年に 1 回バージョンを更新して証明書を更新するこの方法は、明らかに実稼働環境には適していません。この操作により、クラスターの不安定性やその他の問題が発生するリスクが高まります。

もちろん、kubeadm は、これらすべての証明書を自動的に更新できるコマンド メソッドも提供します。

kubeadm certs check-expiration を使用して、現在のクラスター証明書の有効期間を確認できます。この証明書はクラスターの構築時に kubeadm によって自動的に生成されるため、証明書の更新を管理するには kubeadm コマンドを使用します。

このコマンドを使用すると、現在のすべての証明書の有効期間を表示でき、証明書の有効期間は 342 日間であることがわかります。以下はそのルート証明書です。デフォルトは 10 年で、「ルート証明書は非常に重要」という意味です。

クライアント証明書の有効期限が切れている場合は、ルート証明書を使用して生成できます。このルート証明書が変更されると、その影響は比較的大きくなるため、kubeadm のルート証明書のデフォルトの有効期間は 10 年であり、これで十分です。主なアップグレードはクライアント証明書でもあります。

これらのクライアント証明書を直接アップグレードできるコマンドを提供します。ただし、アップグレード前に、アップグレード プロセス中に追加の問題が発生するのを回避し、回復を容易にするために、一部のデータをバックアップします。

まず、/etc/kubernetes/pki ディレクトリをバックアップします。

 cp /etc/kubernetes/pki /etc/kubernetes/pki.bk -r

次に、etcd データ ディレクトリをバックアップします。

 cp /var/lib/etcd /var/lib/etcd.bk -r

kubeadm certs renew all を使用して、すべての証明書をアップグレードし、1 年間更新します。

実行が完了したら、プロンプトに従って関連コンポーネントを再起動します。 K8S クラスターは kubeadm を使用してデプロイされるため、K8S 関連コンポーネントを再起動するには、次のコマンドを実行するだけで済みます。

 mv /etc/kubernetes/manifests/*.yaml /home sleep 20 mv /home/*.yaml /etc/kubernetes/manifests/

k8s クラスターが正常に起動するのを待った後、次のように証明書の時間を再度確認します。

上記の結果から、証明書の有効期間が1年になったことがわかります。

<<:  Amazon Web Services がアクセンチュアおよび Anthropic と提携し、企業の責任ある AI 構築を支援

>>:  デジタル体験を覆す革新の力 - エッジコンピューティングとクラウド

推薦する

ブランドプロモーションと SEO: どちらが優れているのでしょうか?

「あなたの靴はとても素敵ですね。ナイキですか、それともアディダスですか?どこで買ったのですか?iPh...

Baidu Knowsにおける世論と広報の予防と対処方法

ウェブサイトのキーワードのランキングを最適化する場合でも、検索エンジンでの製品コンテンツのカバレッジ...

dedipath: ロサンゼルスの「Fallen」VPS が 50% オフ。1Gbps の帯域幅と無制限のトラフィックをわずか年間 10 ドルで提供

米国のメモリアル デー期間中、dedipath はすべての VPS (1Gbps 帯域幅、無制限トラ...

12306チケット購入ウェブサイトへアクセス: 人気のチケットは5分で完売

新華社記者の斉忠熙氏とファン・シー氏1日で15億1千万ヒット! 1時間で最大30万枚のチケットが売れ...

従来の広告ビジネスは縮小しており、4大ポータルサイトがモバイルクライアントの獲得を競っている。

4大ポータルサイトが最近発表した最新の財務報告によると、収益は増加しているものの、従来の広告事業はさ...

V.PSはどうですか?日本のVPS(東京データセンター)レビュー、3つのネットワークが「ソフトバンク」回線を強制

v.psはどうですか? v.ps Japanはどうですか?v.ps Japanと大阪のどちらが良いで...

Google Cloud Platform に Kubernetes クラスターをデプロイするにはどうすればよいですか?

[51CTO.com クイック翻訳] あなたとあなたの会社は Kubernetes のトレンドに追い...

ウェブマスターはどうすれば「Baidu の狂気」から身を守ることができるでしょうか?

「6.28」は、すべてのウェブマスターにとって「汶川地震」に匹敵する出来事でした。ウェブマスターが苦...

データをクラウドに移行するための 5 つの考慮事項

業界におけるクラウド移行に関する議論は、主にクラウド サービスを活用するためにアプリケーションを再設...

vaicdn: 登録不要/実名CDN、高速、広帯域幅、高防御、攻撃によるレイテンシへの影響なし

vaicdn はどのようにして登録や実名登録なしで高速かつ防御力の高い CDN を提供するのでしょう...

ラグジュアリーEコマース業界のランキング競争が始まった

国内の高級品電子商取引は、ブランドオーナーからの圧力と世間の疑問により徐々に成長してきました。国内の...

ウェブサイトコンテンツ構築戦略

どのようなコンテンツであっても、必ず「コンテンツの均質化」という恥ずかしい段階を経ることになります。...

Kafka と Druid を使用した Spark ストリーミングの理解

[[326057]]データ エンジニアとして、Spark Streaming、Kafka、Apach...

Xiaoheitan: Bapingbao には、ブランドが静かに取引を成立させるのに役立つ 10 の主要な画面占有システムがあります。

月給5,000~50,000のこれらのプロジェクトはあなたの将来ですブランドの昇進は、すべての企業が...

hmbcloud (Half Moon Bay) 上海-日本 IPLC NAT VPS の簡単なレビュー

数十のハイエンド IPLC 回線と、従来の US cn2 gia などの VPS を主に提供する h...