kubernetes - 如何在 Kubernetes 中设置 HTTPS 负载均衡器
问题描述
我需要让我的应用程序支持通过 https 的请求并阻止 http 端口。我想使用我公司提供的证书,所以我需要 jks 证书或其他类型的证书。我不知道如何在 gke 中使它成为 https。我看过几个文档,但不清楚。这是我当前的 kubernetes 部署文件。请让我知道如何配置它。
apiVersion: v1
kind: Service
metadata:
name: oms-integeration-service
spec:
type: NodePort
ports:
- port: 80
targetPort: 8081
protocol: TCP
name: http
selector:
app: integeration
---
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: integeration
spec:
replicas: 2
template:
metadata:
labels:
app: integeration
spec:
containers:
- name: esp
image: gcr.io/endpoints-release/endpoints-runtime:1
args: [
"--http_port=8081",
"--backend=127.0.0.1:8080",
"--service=oms.endpoints.gcp-dsw-oms-int-{{env}}.cloud.goog",
"--rollout_strategy=managed",
]
- name: integeration-container
image: us.gcr.io/gcp-dsw-oms-int-{{env}}/gke/oms-integ-service:{{tag}}
readinessProbe:
httpGet:
path: /healthcheck
port: 8080
initialDelaySeconds: 60
periodSeconds: 10
ports:
- containerPort: 8080
resources:
requests:
memory: 500M
env:
- name: LOGGING_FILE
value: "integeration-container"
---
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: integeration-ingress
annotations:
kubernetes.io/ingress.global-static-ip-name: "oms-int-ip"
kubernetes.io/ingress.class: "gce"
rules:
- host: "oms.endpoints.gcp-dsw-oms-int-{{env}}.cloud.goog"
http:
paths:
- path: /*
backend:
serviceName: oms-integeration-service
servicePort: 80
解决方案
您必须创建一个包含 SSL 证书的机密,然后在入口规范中引用该机密,如此处所述
推荐阅读
- flutter - 如何在flutter中从firebase获取当前用户的uid?
- google-developers-console - 谷歌控制台内部测试
- java - Android Studio - 尝试构建项目时出现 tools.jar 错误
- kubernetes - 如何保持新旧部署(Kubernetes / Openshift)
- google-cloud-platform - 如何在 Terraform 中引用现有的组织文件夹或其他资源(对于 GCP)
- javascript - 为什么 JavaScript `Intl.Collator.prototype.compare()` 方法会产生与传统 UTF-16 比较特殊字符不同的结果?
- android - 是否可以使用 Intent.ACTION_CREATE_DOCUMENT 将Extra() 添加到 Intent?
- wcf - 一个监听多个地址的 WCF 服务(仅限配置)
- android - 就 Android 版 Facebook 登录 SDK 而言,API 30 和其他较低的 API 级别有什么区别?
- node.js - Nodsjs 提供静态文件但在下载时更改文件名