我已经阅读了很多有关GCP的SO帖子,文章和文档,但是我仍然感到困惑,主要是因为我不是devOps的人。我想象使用GCP的控制台,我可以单击一些东西,上传一些证书和中提琴!,我的API在HTTPS上运行。
This post made me understand a little more about Ingress,但我还读了一些文章,指出使用ClusterIP
不利于安全。因此,我希望在不添加终端的情况下,在添加HTTPS支持的同时继续使用Load Balancer类型。有可能吗?
编辑1:
我偶然发现了GCP的负载平衡产品,并开始对其进行研究。据我所知,从概念上讲这是完美的,但我还不能完全正常工作。我的步骤是:
但是尝试在浏览器上访问我的域名时,仍然出现错误The server encountered a temporary error and could not complete your request
,这告诉我负载均衡器可能在某种程度上起作用了,但它已连接到GKE中的docker应用程序节点。
有人知道如何将带有HTTPS的负载平衡产品连接到GKE吗?还是我最初的问题,如何使用HTTPS完全获取GKE?
编辑2: 我最终在文档中找到设置Ingress here的特定步骤(步骤2b)。设置工作正常,但是现在我在运行不正常的后端服务时遇到了麻烦。
编辑3
关于UNHEALTHY后端服务的许多讨论。我试图将livenessprobe
和readinessprobe
添加到部署yaml文件中,如下所示:
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
annotations:
deployment.kubernetes.io/revision: "4"
creationTimestamp: 2019-06-13T00:46:01Z
generation: 4
labels:
app: video-api-alpha
name: video-api-alpha
namespace: video-api
resourceVersion: "926307"
selfLink: /apis/extensions/v1beta1/namespaces/video-api/deployments/video-api-alpha
uid: 9dd774ae-8d74-11e9-aec9-42010af0024b
spec:
progressDeadlineSeconds: 2147483647
replicas: 3
revisionHistoryLimit: 10
selector:
matchLabels:
app: video-api-alpha
strategy:
rollingUpdate:
maxSurge: 1
maxUnavailable: 1
type: RollingUpdate
template:
metadata:
creationTimestamp: null
labels:
app: video-api-alpha
spec:
containers:
- image: gcr.io/mc-service-video/service-video:alpha
imagePullPolicy: IfNotPresent
livenessProbe:
failureThreshold: 3
httpGet:
path: /healthcheck
port: 8080
scheme: HTTP
periodSeconds: 10
successThreshold: 1
timeoutSeconds: 1
name: service-video-sha256
readinessProbe:
failureThreshold: 3
httpGet:
path: /healthcheck
port: 8080
scheme: HTTP
periodSeconds: 10
successThreshold: 1
timeoutSeconds: 1
resources: {}
terminationMessagePath: /dev/termination-log
terminationMessagePolicy: File
dnsPolicy: ClusterFirst
restartPolicy: Always
schedulerName: default-scheduler
securityContext: {}
terminationGracePeriodSeconds: 30
status:
availableReplicas: 3
conditions:
- lastTransitionTime: 2019-06-13T00:46:03Z
lastUpdateTime: 2019-06-13T00:46:03Z
message: Deployment has minimum availability.
reason: MinimumReplicasAvailable
status: "True"
type: Available
observedGeneration: 4
readyReplicas: 3
replicas: 3
updatedReplicas: 3
但是仍然没有运气。有什么想法吗?
答案 0 :(得分:0)
如果要公开GKE上托管的HTTP(S)服务,建议使用HTTP(S)负载平衡进行负载平衡。