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 が世界中のゲーム開発者にサービスを提供するクラウド ゲーム ソリューションを構築するのを支援します。
Baidu Knows は、多くのウェブマスターにとってウェブサイトのランキングを向上させる強力な武...
成長を続けるクラウド スタートアップ企業の中で、際立っているのは、ハイパースケール コンピューティン...
プロモーション活動を経て、物流業界についてある程度理解できました。今後、インターネットなしでは成り立...
以前、「高性能ウェブサイト構築ガイド」でETagについて学んだことがありますが、実際に適用したことは...
Pacificrackは2008年11月にquadranetから分離し、独立して運営を開始しました。...
本日、2017 Oracle Cloud Conference が上海で開幕し、2,500 人を超え...
最近とても忙しくて、パソコンを使う時間がありませんでした。午後、SEO交流グループに参加したところ、...
ヤン・シャンジュン国内初の衝撃的なビットコイン取引プラットフォーム詐欺事件が浙江省東陽市公安局によっ...
2018年最もホットなプロジェクト:テレマーケティングロボットがあなたの参加を待っていますまず、ニュ...
昨日、budgetnode.com の VPS プロモーション情報を公開しました。budgetnod...
ウェブサイトの最適化の過程で、アンカーテキストという言葉が頻繁に登場します。誰もがよく話題にする高品...
いつものことですが、特に安全性に関しては、人々は自分の失敗から学ぶよりも他人から学ぶことを好みます。...
編集者注:Pinterest とは何でしょうか?興味グラフ コミュニティだと言う人もいれば、ソーシャ...
クラウド コンピューティングがこれらの組織が期待したメリットをもたらさなかった理由は、組織がこの問題...
モバイルインターネットはすでに手の届くところにあり、今年に入ってモバイルインターネットに関わるオンラ...