OpenSSL を使用した Kubernetes 証明書の生成の概要

OpenSSL を使用した Kubernetes 証明書の生成の概要

Kubernetes は、基本認証、トークン認証、CA 認証の 3 種類の認証をサポートしています。この記事では、CA 認証に必要な最も簡単なコマンドを記録します。

Kubernetesの構成

テスト対象バージョンは1.10ですが、このバージョンに限定されるものではありません。OpenSSL証明書では一般的な方法です。

必要な証明書

必要な証明書関連書類は以下の通りです。

CA証明書

CA証明書の秘密鍵

コマンド: openssl genrsa -out ca.key 2048

[root@host121 k8scert]# openssl genrsa -out ca.key 2048
RSA秘密鍵の生成、2048ビット長の係数
.............................................................+++
...............+++
eは65537(0x10001)
[root@host121 k8scert]#

CA証明書

コマンド: openssl genrsa -out ca.key 2048

[root@host121 k8scert]# openssl req -x509 -new -nodes -key ca.key -subj "/CN=host121" -days 5000 -out ca.crt
[root@host121 k8scert]# ls
アーカイブ ca.crt ca.key
[root@host121 k8scert]#

XXX 証明書

apiserver/ControllerManager/kubletに必要な証明書は次のように作成できます。

証明書の秘密鍵

コマンド: openssl genrsa -out server.key 2048

[root@host121 k8scert]# openssl genrsa -out server.key 2048
RSA秘密鍵の生成、2048ビット長の係数
..............................+++
..............................................................................+++
eは65537(0x10001)
[root@host121 k8scert]#

証明書署名要求ファイル

コマンド: openssl req -new -key server.key -subj "/CN=host121" -out server.csr

[root@host121 k8scert]# openssl req -new -key server.key -subj "/CN=host121" -out server.csr
[root@host121 k8scert]#

subj に設定されるサブジェクト情報は、ユーザー自身のデータです。一般的に、CN はドメイン名/マシン名/IP 名のいずれかに設定されます。たとえば、kubelet であれば、それが配置されているノードの IP になります。

証明書

コマンド: openssl x509 -req -in server.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out server.crt -days 5000

[root@host121 k8scert]# openssl x509 -req -in server.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out server.crt -days 5000
署名OK
件名=/CN=host121
CA秘密鍵の取得
[root@host121 k8scert]#

要約する

以上がこの記事の全内容です。この記事の内容が皆様の勉強や仕事に何らかの参考学習価値をもたらすことを願います。123WORDPRESS.COM をご愛顧いただき、誠にありがとうございます。これについてもっと知りたい場合は、次のリンクをご覧ください。

以下もご興味があるかもしれません:
  • Kubernetes オブジェクトボリュームの詳細な使用方法
  • CentOS で Rancher2 をインストールし、Kubernetes クラスターを構成するためのグラフィック チュートリアル
  • Rancher で Kubernetes 用の標準化された VMware イメージを構築する方法
  • kubernetes1.5.2 から kubernetes1.10 にアップグレードする際の主要な設定変更記録
  • Kubernetes (k8s) 入門
  • Kubernetes の応用分野の概要

<<:  MYSQL5.6.33 データベース マスター/スレーブ (マスター/スレーブ) 同期のインストールと構成の詳細 (マスター-Linux スレーブ-windows7)

>>:  React antd タブの切り替えによりサブコンポーネントが繰り返し更新される

推薦する

よく使われる HTML タグとその特徴の完全なリスト

まず、HTML タグのいくつかの特性を知っておく必要があります。 1. 「<keyword&g...

ページに間隔を空けてグリッドレイアウトを完璧に実装する方法

典型的なレイアウト例上の写真のように、正方形の真ん中に一定の隙間があり、その隙間は固定されています。...

Ubuntu 16.4 で完全に分散された Hadoop 環境を構築するための実践的なチュートリアル

序文この記事は主にubantu 16.4 Hadoop完全分散構築に関する関連コンテンツを紹介し、皆...

ドッカー専用倉庫港湾建設プロセス

1. 準備1.1 港ダウンロードハーバーダウンロードアドレス:リンクリンクの説明を追加し、必要なバー...

iconfontアイコンライブラリをvueに導入するエレガントな実践記録

目次序文SVGを生成するSVGスプライトの紹介プロジェクトアイコンを取得するプロジェクトのセットアッ...

Nginx_geo モジュールを使用して CDN スケジュールを設定する方法

NginxのGeoモジュールの紹介geo ディレクティブは、ngx_http_geo_module ...

MySQLのレプリケーションとチューニングの原則と方法を分析する

1. はじめにMySQL にはレプリケーション ソリューションが付属しており、次のような利点がありま...

XHTML 入門チュートリアル: XHTML とは何ですか?

HTMLとは何ですか?簡単に言えば、HTML は Web ページを作成するために使用されます。とて...

MySQL ストアド プロシージャと共通関数のコード分析

mysql ストアド プロシージャの概念:特定のタスク (クエリと更新) を実行できる、データベース...

CSS のフローティング サンプル コードをクリアする方法

概要この記事のフレームワーク図は次のとおりです。 1. フローティングとは一体何でしょうか? W3s...

HTML でのメタタグと使用法の詳細な説明

これ以上無駄話をして時間を無駄にしないので、今日の話題を始めましょう。 HTML のメタタグ1. メ...

Vueタイマーの詳細な使い方

この記事では、参考までにタイマーを実装するためのVueの具体的なコードを紹介します。具体的な内容は次...

WeChatアプレットがシンプルな計算機機能を実装

この記事では、WeChatアプレットの計算機機能を実装するための具体的なコードを参考までに紹介します...

JavaScript 組み込みの日付と時刻の書式設定のサンプル コード

1. 基礎知識(日付オブジェクトのメソッド) 😜 getFullYear() は年を表す4桁の数字を...

MySQLトランザクションが効率に与える影響の分析と概要

1. データベース トランザクションによりデータベースのパフォーマンスが低下します。データの一貫性と...