Kubernetes クラスターで HTTPS プロトコルを使用するには、証明書マネージャーと自動証明書発行サービスが必要です。 HTTPS サービスは主に Ingress を通じて公開されるため、Ingress コントローラーが必要であり、HTTPS とそのルーティングを有効にするように構成する必要があります。 cert-manager は、Kubernetes クラスター内で一連のデプロイメント リソースとして実行されます。 CustomResourceDefinitions (CRD) は、証明機関を構成し、証明書を要求するために使用されます。 cert-managerをインストールする通常のマニフェストを使用してインストールするすべてのリソース (CRD cert-manager、名前空間、および webhook コンポーネント) は、単一の YAML マニフェストに含まれています。 CRD と cert-manager をインストールします。 # Kubernetes 1.16 以上 PS: k8s のバージョンに応じて選択してください。 helmを使用してインストールする準備: #cert-manager の名前空間を作成する kubectl コマンドを使用して CustomResourceDefinition リソースをインストールします。 # Kubernetes 1.15 以上 helm をインストールするときに --set installCRDs=true を設定することもできます。 # ヘルムv3+ インストールを確認します。 $ kubectl ポッドを取得します --namespace cert-manager 証明書マネージャーが正しく設定され、基本的な証明書タイプを発行できることを確認します。 $ cat <<EOF> テストリソース.yaml テスト リソースを作成します。 $ kubectl apply -f テストリソース.yaml 証明書署名サービスを作成するcert-manager をインストールした後、証明書を発行するためのクラスター発行者または発行者リソースを定義する必要があります。これらのリソースは、特定の署名権限を表します。手順については公式ドキュメントを参照してください。複数の発行タイプがサポートされており、ここでは ACME を使用します。 ACME には 2 つの認証方法があります。
HTTP01ClusterIssuer を構成します。 PS: letsencrypt-staging 公式 Web サイトで提供されているインスタンスは一時的なものです。この ClusterIssuer を使用すると、一時的な Lets Encrypt 証明書がデフォルトで生成されます。一時証明書はCN=Fake LE Intermediate X1によって発行されます。この証明書を取得した場合、申請は自動的に成功したことを意味します。 ClusterIssuer YAML内の ACME サーバーをhttps://acme-v02.api.letsencrypt.org/directoryに置き換えます。 letsencrypt-prod という名前の新しい ClusterIssuer を作成します。メールアドレスも変更する必要があります。 公式の例: api バージョン: cert-manager.io/v1 letsencrypt-prod: APIバージョン: cert-manager.io/v1 次に、Clusterissuer リソースを直接作成できます。 $ kubectl create -f クラスター発行者.yaml パブリック Ingress リソースとクラスターがないため、ここではテストしません。 DNS01ここで、私の k8s クラスターはイントラネット内にあり、Ingress は第 2 層のメタルを使用しているため、証明書を申請するには DNS01 などの ACME 検証方法のみを使用できます。 当社のドメイン名解決サービスは Alibaba Cloud を使用しているため、公式リンクから alidns-webhook を見つけ、公式の手順に従って証明書を正常に申請しました。 alidns-webhook をインストールします。 # alidns-webhook を cert-manager 名前空間にインストールします。 alidns 資格情報を含むシークレットを作成します: ここで、base64 トランスコーディングを実行する必要があります。 APIバージョン: v1 独自の Alibaba Cloud アカウントで Accesskey と AccessSecret を作成し、DNS ドメイン名の管理を承認したり、Alibaba Cloud に作業指示書を送信したりできます。 クラスター発行者: APIバージョン: cert-manager.io/v1alpha2 PS: groupName を置き換える場合は、先頭の bundle.yaml ファイルで置き換える必要があります。 イングレスを構成する: 私のシステムには kuboard の Web UI がインストールされているので、ここで Ingress を作成できます。 kuboardのインストール方法: apiバージョン: extensions/v1beta1 次のデバッグおよび検証コマンド: $ kubectl 証明書を取得する 最後に、追記:イントラネット DNS サーバーが申請したドメイン名証明書を傍受したため、次のエラーが報告されました。 E1202 04:05:41.696710 1 sync.go:182] cert-manager/controller/challenges "msg"="伝播チェックに失敗しました" "error"="\"kuboard.it.example.cn\" の DNS レコードはまだ伝播されていません" "dnsName"="kuboard.it.example.cn" "resource_kind"="チャレンジ" "resource_name"="kuboard.it.example.cn-tls-m5tmf-601210408-2135799246" "resource_namespace"="kube-system" "resource_version"="v1" "type"="DNS-01" |
<<: クラウドネイティブデータベースであるPolarDBは、過去5年間でこれらの大きな技術革新を達成しました。
>>: Amazon Web Services は、MindPower が世界中のゲーム開発者にサービスを提供するクラウド ゲーム ソリューションを構築するのを支援します。
1つ目: 文章置換法同義語を置き換えるための特別なソフトウェアがありますが、お勧めできません。テキス...
[[361071]]ほとんどのユーザーは、Java リフレクションの使用に精通しています。特にオープ...
私は再びあなたとチャットし、私の一時的なアイデアをいくつか共有して、それがあなたの役に立つことを願っ...
「58.com、魔法のウェブサイト!」ヤン・ミーをスポークスマンに迎えた58.comの広告は、バスや...
多くのウェブマスターは、ウェブサイトに問題が生じた後、できるだけ早く問題を解決したいと考えていますが...
有名なコンピュータルームzenlayerが直接運営するクラウドサーバーブランドarkecxは現在、4...
itnuthosting は 2009 年に設立されたバングラデシュのホスティング会社で、主にドメイ...
なぜ EIG グループを紹介すべきなのか、また EIG グループが何をしているのかを尋ねる友人もいる...
hostsolutions.ro はルーマニアの正規ホスティング プロバイダーです。仮想ホスティング...
今日、クラウド コンピューティング プラットフォームとアプリケーションは、新しいデジタル ビジネスを...
2018年最もホットなプロジェクト:テレマーケティングロボットがあなたの参加を待っています機密情報ネ...
百度は近年、検索エンジンに加え、他の製品の開発も本格的に進めている。弊社の自社製品は重量感があり、す...
前回の記事(ウェブサイトナビゲーション分析:迷わないために(パート1))に引き続き、ウェブサイト内閲...
検索エンジン技術の継続的な改善により、ウェブサイトのコンテンツをクロールする深さはますます深くなって...
今年は、大手ゲーム機メーカー各社が軒並み疫病の影響を大きく受けているようだ。Imidc(香港、日本、...