gpt4 book ai didi

ssl - 在 GCP 中的 kubernetes 上启用 SSL

转载 作者:太空宇宙 更新时间:2023-11-03 12:49:56 28 4
gpt4 key购买 nike

我正在为 GCE 中的 kubernates 集群启用 HTTPS。我正在尝试利用 kubernates Ingress

我有证书和私钥,我创建了一个附加了这些的 secret (ssl-secret):

apiVersion: v1
kind: Secret
metadata:
name: ssl-secret
type: Opaque
data:
tls.crt: LS0tLS...
tls.key: Mc0c4t...

我还有一个使用 secret 的 Ingress (ssl-ingress):

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: ssl-ingress
spec:
backend:
serviceName: client # Name of the service
servicePort: my-https-port # Fetched from annotations
tls:
- hosts:
- test.domain.se # My domain address
secretName: ssl-secret # Name of my previously created secret

最后,我尝试使用以下设置将这些应用到我的集群:

apiVersion: v1
kind: Service
metadata:
name: client
annotations:
service.alpha.kubernetes.io/app-protocols: '{"my-https-port":"HTTPS"}' # Must map port-name to HTTPS for the GCP ingress controller
labels:
app: client-pods
spec:
type: NodePort
ports:
- port: 12345 #To my understanding, not used
targetPort: client-https
protocol: TCP
name: my-https-port
selector:
name: client-pods

因此,我的目标是使用此设置,我将能够在 https://test.domain.se 上访问 test.domain.se .但它只是超时,而http://test.domain.se工作得很好。

描述 Ingress 我得到以下信息:

Name:                   ssl-ingress
Namespace: default
Address: 35.186.253.27
Default backend: client:my-https-port ()
TLS:
ssl-secret terminates test.domain.se
Rules:

Host Path Backends
---- ---- --------
* * client:my-https-port ()
Annotations:
static-ip: k8s-fw-default-ssl-ingress--59114a8fc664f628
target-proxy: k8s-tp-default-ssl-ingress--59114a8fc664f628
url-map: k8s-um-default-ssl-ingress--59114a8fc664f628
backends: {"k8s-be-31894--59114a8fc664f628":"UNHEALTHY"}
forwarding-rule: k8s-fw-default-ssl-ingress--59114a8fc664f628
Events:
FirstSeen LastSeen Count From SubObjectPath Type Reason Message
--------- -------- ----- ---- ------------- -------- ------ -------
7m 7m 1 loadbalancer-controller Normal ADD default/ssl-ingress
6m 6m 1 loadbalancer-controller Normal CREATE ip: 35.186.253.27
6m 2m 18 loadbalancer-controller Warning GCE googleapi: Error 400: The SSL key could not be parsed.
6m 2m 18 loadbalancer-controller Warning Service failed to identify user specified default backend, couldn't find nodeport for default/client, using system default

所以我的问题如下:

Warning GCE googleapi: Error 400: The SSL key could not be parsed.

1:Ingress 似乎需要私钥的密码。我如何向 secret 添加密码( key 确实有一个已知的密码,但我如何通知它的 secret ?)

Warning Service failed to identify user specified default backend, couldn't find nodeport for default/client, using system default

2:它声称找不到默认/客户端的节点端口。我的目标服务客户端已经在运行,但入口似乎在服务名称之前附加了 default/。为什么以及如何指定客户服务?

最佳答案

我遇到了同样的问题。我做的是这个

1) 私钥转RSA私钥

openssl rsa -in private.key -out private_rsa.key

2) 通过命令行创建 secret

kubectl create secret tls ingress-ssl --key private_rsa.key --cert certificate.crt

并在我的 Ingress 中使用这个 secret 。

关于ssl - 在 GCP 中的 kubernetes 上启用 SSL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45983462/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com