我在EKS集群上部署了Kubeflow,但想使用html" target="_blank">自定义ACM证书配置HTTPS监听。Kubeflow利用Istio的入口网关接收外部流量,默认情况下仅配置为HTTP流量。
当我检查<代码>入口时。创建Ingress对象的yaml文件,我看到它仅配置为HTTP:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
annotations:
kubernetes.io/ingress.class: alb
alb.ingress.kubernetes.io/scheme: internet-facing
alb.ingress.kubernetes.io/listen-ports: '[{"HTTP": 80}]'
name: istio-ingress
spec:
rules:
- http:
paths:
- backend:
serviceName: istio-ingressgateway
servicePort: 80
path: /*
Istio网关也是如此:
apiVersion: networking.istio.io/v1alpha3
kind: Gateway
metadata:
name: kubeflow-gateway
namespace: kubeflow
spec:
selector:
istio: ingressgateway
servers:
- hosts:
- '*'
port:
name: http
number: 80
protocol: HTTP
我能找到的唯一一篇关于接受TLS流量的文章来自Istio documentation tutorial for the book service,但是它的配置似乎使用了一个直接安装到文件系统中的证书,该文件系统位于< code >/etc/Istio/Ingres gateway-book info-certs/TLS . CRT :
$ kubectl apply -f - <<EOF
apiVersion: networking.istio.io/v1alpha3
kind: Gateway
metadata:
name: bookinfo-gateway
spec:
selector:
istio: ingressgateway # use istio default ingress gateway
servers:
- port:
number: 443
name: https-bookinfo
protocol: HTTPS
tls:
mode: SIMPLE
serverCertificate: /etc/istio/ingressgateway-bookinfo-certs/tls.crt
privateKey: /etc/istio/ingressgateway-bookinfo-certs/tls.key
hosts:
- "bookinfo.com"
EOF
我认为你只需要添加注释。您可以指定哪个证书用于您的负载平衡器,如下所示
alb.ingress.kubernetes.io/certificate-arn: arn:aws:acm:eu-central-1:1231234564:证书/4564abc12-d3c2-4455-8c39-45354cdddaf03 (替换为您从 ACM 获得的 ARN)
我相信你可能需要监听443端口。
可从https://kubernetes-sigs . github . io/AWS-ALB-ingress-controller/guide/ingress/annotation/获得关于可用注释的文档
我的连接代码如下所示: 干杯,马尔辛
我有一个域名注册在AWS Route53与ACM证书。我现在试图将域名和证书都转移到一个新的帐户,以及用Terraform管理资源。我使用AWS CLI将域名移动到新的帐户,它似乎工作得很好。然后,我尝试运行这个Terraform代码为域创建一个新的证书和宿主区域。 这有两件事很奇怪。首先,创建了证书,但验证从未完成。它仍处于待定验证状态。我在失败后的某个地方读到,您不能自动验证,您需要手动创建C
whistle会自动生成根证书,并根据根证书对每个请求动态生成https证书,如果需要用自定义的证书,甚至根证书,可以有两种方式(只支持 .crt 格式的证书): 把普通证书对 (如:test.crt 和 test.key、test2.crt 和 test2.key 等等) 或根证书 (名字必须为 root.crt 和 root.key),放在系统的某个目录,如 /data/ssl,并在启动时添加
当从外部访问时,由于没有有效的CA,我得到了这个错误 验证深度为32 CONNECTED(00000003)不能使用SSL_get_servername深度=0 O=Acme Co,CN=库伯内特斯In的控制器伪造证书验证错误:编号=18:自签名证书验证返回:1深度=0 O=Acme Co,CN=伯库内特斯In的控制器伪造证书验证返回:1---证书链0 s: O=Acme Co,CN=库伯内特斯I
我想知道当我在example.com中键入没有https时,我必须在AWS的证书管理器端做什么才能让https工作。 我已经为我的域配置了路由53别名,以便路由到我的弹性豆茎URL。我还有一个SSL证书,用于我的域名example.com和*.domain.com,这两个证书都已成功验证,是Amazon颁发的,也在使用中。
是的,弹性豆茎应用程序是负载平衡的,并且确实有一个与之相关联的ELB。 我知道我可以直接应用于ELB我自己。但是我想通过弹性豆茎来应用它,这样env配置就保存到云形成模板上了。