我创建了一个kubernetes集群,我目前只运行一个服务于静态网页的docker服务。它正在暴露标准端口80。
现在我想将SSL证书附加到域,并设法在本地运行。但是当我尝试将我的服务发布到kubernates集群时,https://my.domain.com超时了。看起来该服务没有收到请求,但被kuernates或GCE阻止。
我是否需要打开防火墙,或者设置我的群集部署以打开端口443?可能是什么问题?
我听说过Ingress和kubernetes的秘密,这就是要走的路。但我发现只使用Ingress-nginx,因为我只有一个docker服务,所以我不使用Nginx。对我而言,启用443呼叫到达服务似乎是最简单的解决方案。或者我错了吗?
以下是我的设置:
apiVersion: v1
kind: Service
metadata:
name: client
spec:
type: LoadBalancer
ports:
- port: 80
targetPort: 80
protocol: TCP
name: http
- port: 443
targetPort: 443
protocol: TCP
name: https
selector:
name: client-pods
-----
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: client
spec:
replicas: 1
revisionHistoryLimit: 0
template:
metadata:
labels:
name: client-pods
spec:
containers:
- image: <CONTAINER>
name: client-container
imagePullPolicy: Always
ports:
- containerPort: 80
name: http
- containerPort: 443
name: https
livenessProbe:
httpGet:
path: /health
port: http
initialDelaySeconds: 10
timeoutSeconds: 1
我还在运行集群的GKE VM上启用了HTTPS流量,Dockerfile暴露了80和443.我很茫然。谁知道我做错了什么?