假設我有一個名爲app
我Kubernetes集羣(這是在AWS上運行),它被定義爲這樣的運行部署:在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被創建,但它是一個TCP負載均衡,完全不知道HTTP的,我無法設置的ACM證書。
如何創建服務,讓Kubernetes創建HTTP負載平衡器並將其設置爲我的證書?
我試圖自己解決同樣的問題。我也沒有答案,但我建議你考慮創建一個入口https://kubernetes.io/docs/concepts/services-networking/ingress/。入口將創建從外部世界到您的羣集的路由,並且它包括對您的TLS證書的支持。 – RobotNerd
謝謝他的回覆。我實際上已經想通了,閱讀下面,讓我知道它是否適合你 –