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

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

推薦する

B2C ウェブサイトがユーザーを引き付ける方法: 製品タイトルの「叫び」について語る

当初は「B2Cの叫び」というタイトルにしようと思っていたのですが、後からクリックベイトっぽすぎるし、...

789.comの3桁ドメイン名が中国に戻り、約200万で売却される

Admin5は9月27日、ドメイン名業界関係者がウェブマスターネットワークに、トップ3桁のドメイン名...

インターネットのあらゆる領域を規制し始めますか?百度が霧雨アルゴリズムを発表

2018年最もホットなプロジェクト:テレマーケティングロボットがあなたの参加を待っています私はウェブ...

ウェブサイトを内側から構築する方法

現在、ウェブサイト市場はますます飽和状態になりつつあり、さまざまなウェブサイトが雨後の筍のように出現...

データレイクに関するこれらの知識ポイントをご存知ですか?

本日の記事では、主にデータレイクの定義を紹介し、その後、主要なクラウドベンダーのソリューションと現在...

Debian/Ubuntuにvsftpdをインストールする

vsftpd は安全で軽量な FTP サーバーです。これは Debian/Ubuntu に vsft...

万家ショッピングネットワークがマルチ商法を組織した疑いで閉鎖、株主9人が拘束される

江西太平洋直購網、福建100%還元網、温州百業連盟など、一部のショッピング割引商業サイトの経営者が逃...

StreamNativeは、クラウドネイティブ業界の高速な前進を支援するために、Tencent Cloud Native Acceleratorに正式に参加しました。

近年、インターネットのイノベーションは、消費者向けインターネットから産業向けインターネットへと変化し...

余額宝の人気が公的資金による引き抜きを誘発:ファンド業界は電子商取引の人材不足に直面

最近の気温と同じように、「余額宝」も引き続き好調で、この熱波は類似商品にも波及する傾向を見せており、...

123systems の新しい XEN VPS が初年度半額で販売中

正直に言うと、123systems の openvz はあまり理想的ではありません。 過剰販売などの...

インターネット マーケティング パーチメント: ドメイン名の計画

はじめに: あるネットユーザーが言ったように、年を取るほど、自分は表面的な人間だと感じるようになりま...

収益性の高いQQスペース(セルフメディア)を作成するための6つのステップ

前の記事では、目立たないQQスペースがどのようにして月に1万元以上を稼ぐのか?この記事では、簡単なQ...

spinservers: 超ハイエンド専用サーバー、$319/2*e5-2683v4/512g メモリ/4 *1.92T SSD/10Gbps 帯域幅

スピンサーバーの米国データセンターに、安価な独立サーバーの新構成が追加されました。今回は、32コア、...

pacificrack: ダブル 12 VPS フラッシュ セール、年間 $8.8、768M メモリ/1 コア/10g SSD/1T トラフィック/1Gbps 帯域幅、ロサンゼルス

Pacificrack は中国の顧客向けに「Double 12」フラッシュセールを開催し、ロサンゼル...

モバイルインターネット広告に関する8つの事実

過去2年間でモバイル広告は新たな現実をもたらした 少なくとも広告収入から判断すると、Facebook...