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 つです。これは、今後の作業...
中国のモバイルインターネット界にとって、2018年は平凡な年であると同時に特別な年でもあった。この世...
IT と運用技術の境界線は曖昧になっています。エッジ コンピューティングは IT と OT の関係を...
ミニプログラムは軽量な製品で、発売当初はあまり好評ではありませんでした。共有する方法がなく、入り口も...
Akkocloudは最近、英国のcn2 gia vpsを購入しました。10%割引で販売されているよう...
テンセント副社長、クラウド・スマート産業グループCOO、テンセントクラウド社長の邱月鵬氏は11月3日...
[ 2020年5月12日北京] Amazon のクラウドサービスである Amazon Web Se...
ハイブリッド クラウド アプリケーションが企業環境に導入され、従来のコミュニケーションおよび共同オフ...
[[379096]]日常的な開発プロセスでは、フロー制限とピークシェービングを実装するために Kaf...
今日は、非常にハードコアな技術的知識についてお話ししましょう。 CopyOnWrite のアイデアと...
OStorageの責任者であるLi Mingyu氏は、同社のエンタープライズレベルのオブジェクトスト...
SaaS 無料トライアルで高いコンバージョン率を実現する 3 つの秘訣ほぼすべての B2B SaaS...
2019年1月9日、毎年恒例のWeChatオープンクラスプロバージョンが再び始まりました。微信(ウィ...
項南福は尋問のために独房から連れ出された。写真提供:警察項南福は警察に逮捕された。記者は昨日、北京市...
今日、私はTitanium Mediaで「パンケーキのインターネットの夢」というタイトルの黄太極に関...