は、私はapp
のように定義される(AWS上で実行されている)私のKubernetesクラスタ上で実行されているという名前の展開があるとします。AWSでHTTPSを使用してKubernetesデプロイメントを世界中に公開する方法は何ですか?
apiVersion: apps/v1beta1 # for versions before 1.6.0 use extensions/v1beta1
kind: Deployment
metadata:
name: nginx-deployment
spec:
replicas: 3
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:1.7.9
ports:
- containerPort: 80
(ソース:https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#creating-a-deployment)
私はこれらのポッドを公開しますAWS ELBを使用しています。さらに、HTTPS経由でこのサービスを提供する必要があります(おおまかにお勧めします)。利便性の問題として、AWSの証明書マネージャー(ACM)を利用して、自分で証明書を購入し管理するのではなく、常緑樹の証明書を無料で入手したいと考えています。 kubectl expose deployment nginx-deployment --type=LoadBalancer --port=80 --target-port=80 --name=nginx-svc
アンELBが作成されますが、それは、HTTPを全く知らないTCPロードバランサであると私はACMを設定することができません:
私は、このコマンドを使用してサービスを作成することにより、ポッドを公開しようとした場合
それへの証明書。どのようにしてKubernetesがHTTPロードバランサを作成し、それに証明書を設定するようにサービスを作成できますか?
私は同じ問題を自分自身で解決しようとしています。私はまだ答えはありませんが、私はあなたが入り口https://kubernetes.io/docs/concepts/services-networking/ingress/を作成することを検討することをお勧めします。イングレスは、外部からクラスタへのルートを作成し、TLS証明書のサポートを含みます。 – RobotNerd
彼は返事をありがとう。私は実際にそれを理解し、以下を読んで、それがあなたのために働くかどうかを教えてください –