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 構築を支援

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

推薦する

Facebookが次のYahooになる理由

確かに、Facebook は数億人という信じられないほどのユーザーを抱え、かなり成功しているように見...

ウェブサイトは定期的に最適化および更新されており、世界ランキングは着実に向上しています。

今年7月18日にウェブサイトの登録に成功しました。当時、ウェブサイトの世界ランキングは150万を超え...

テンセント第2四半期財務報告:クラウド事業は着実に拡大、ビデオクラウドは中国で第1位

テンセントは8月18日、2021年第2四半期および上半期の業績報告を発表し、そのうち金融テクノロジー...

古典的なマーケティング キャンペーンをすべて見ると、本当に感心します。 〜

鄧おじいさんはかつてこう言いました。「猫が黒か白かは問題ではない。ネズミを捕まえることができれば、そ...

SEOスキルの学習: 最も効率的で高品質な外部リンクを作成する方法

まず、外部リンクを構築する目的を理解する必要があります。各外部リンク ストアは投票ポイントに相当する...

オートホーム:4億5000万元の利益を生んだメディア変革の道

ナンドゥのイラスト2013年12月11日、ニューヨーク証券取引所でベルが鳴るとともに、設立されて間も...

Argo ロールアウトによるプログレッシブ リリース

Argo Rollouts は、Kubernetes Operator 実装であり、ブルーグリーン、...

JDアリアンツ保険はデジタル変革をリードし、30分で保険金請求を解決して利益を得ています

2020年2月、JDアリアンツ保険は、保険契約者である孫さん(仮名)から報告を受け、彼女が残念ながら...

オリジナル記事は本当にウェブサイトの最適化に組み込みやすいのでしょうか?

ショートビデオ、セルフメディア、インフルエンサーのためのワンストップサービスウェブサイトの基盤を構築...

Teams: 接続性、相互通信、コラボレーションが新しいハイブリッド オフィス モデルをリード

[51CTO.com からのオリジナル記事] 感染症の流行に伴い、WeChat for Busine...

デジタル文化指数の発表は、地域文化経済の発展の「バロメーター」となっている。

5月21日、2019年テンセントグローバルデジタルエコシステムカンファレンスが開催されました。同会議...

aquatis: 米国の大容量メモリ VPS、月額 6 ドル、8G メモリ/2 コア/20g NVMe/1T トラフィック/1Gbps 帯域幅

aquatis.host は 2009 年にゲーム サーバーとしてスタートし、その後、通常の VPS...

フォーラムは消滅しつつある?結論を出す前に、いくつかの事実を見てみましょう。

BBS が急速に発展していた 2002 年から 2008 年にかけて、BBS の唯一のコミュニティ製...