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 が世界中のゲーム開発者にサービスを提供するクラウド ゲーム ソリューションを構築するのを支援します。
インターネット上にはすでに百度の外部リンク検索ツールに関する議論の投稿が多数あり、同社はそれらの古い...
2月26日のニュース、海外メディアの報道によると、最近、Googleは「Do Not Track」プ...
月給5,000~50,000のこれらのプロジェクトはあなたの将来ですキャッチーなタイトルを使って申し...
[[225472]]私が初めて Kubernetes について学び始めたとき (約 1 年半前?)、...
クラウド アーキテクチャを構築し、高性能 AI システムも設計している場合、何を変える必要があります...
世界最大のソーシャルプログラミングおよびコードホスティングウェブサイトであるGitHubは、最近、有...
Synhosting は、2002 年に設立されたホスティング プロバイダーです。現在、仮想ホストの...
インターネットマーケティングの核心はソフト記事であると言う人もいます。良いソフト記事は、読んだ人に爽...
感染症が猛威を振るう中、世界中の多くの主要なテクノロジーイベントがオンラインで開催されることを発表し...
クラウド コンピューティング サービス、特に Infrastructure as a Service...
2018年最もホットなプロジェクト:テレマーケティングロボットがあなたの参加を待っています財源宝はW...
みなさんこんにちは。私はMuzi Chengzhouです。前回の記事「SEO 外部要因の調査: SE...
昨年 10 月に SUSE が OpenStack 市場からの撤退を発表したとき、業界は騒然となり、...
少し前に、私たちはネットユーザーに多くの「偽の」グラフィック カードを公開しました。 PS マスター...
[51CTO.com からのオリジナル記事] 低コストと高効率という利点により、クラウド コンピュー...