amazon-web-services - 如何在 kubernetes 中将 SSL 证书安装到 aws 负载均衡器?

标签 amazon-web-services docker ssl kubernetes

我得到了用于指定 ssl 证书(由 aws 证书管理器提供)的 yaml 文件以用于 kubernetes 部署的负载均衡器。但是,我们在 aws 中国帐户中运行 kubernetes 集群,其中认证管理器选项不可用。现在如果我有 Godaddy 提供的 SSL 证书,我该如何安装呢?除了负载均衡器之外,还有其他替代方法可以安装证书吗?我可以将它安装在我的 tomcat 容器中并用它构建新图像吗?

最佳答案

据我所知,您无法设置使用 kubernetes Service 部署的 ELB 来使用不是 ACM 证书的证书。事实上,如果您查看可能的注释 here,您会发现唯一可用于选择证书的注释是 service.beta.kubernetes.io/aws-load-balancer-ssl-cert 并且该注释的文档说明如下:

ServiceAnnotationLoadBalancerCertificate is the annotation used on the
service to request a secure listener. Value is a valid certificate ARN.
For more, see http://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/elb-listener-config.html
CertARN is an IAM or CM certificate ARN, e.g. arn:aws:acm:us-east-1:123456789012:certificate/12345678-1234-1234-1234-123456789012

如您所问,您肯定可以终止 kubernetes Pod 内的 ssl 并使 ELB 成为一个简单的 TCP 代理。

为此,您需要将以下注释添加到您的 Service list 中:

service.beta.kubernetes.io/aws-load-balancer-backend-protocol: 'tcp'

此外,您需要同时转发 http 和 https 端口,以便在您的 pod 中正确处理 http 到 https 的重定向。

如果您需要更具体的帮助,请发布您当前的 list 。

关于amazon-web-services - 如何在 kubernetes 中将 SSL 证书安装到 aws 负载均衡器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50637580/

相关文章:

docker - 在 traefik 中禁用指定主机的基本身份验证

dns - 如何通过名称而不是 IP 地址访问 docker 容器?

docker - Elasticsearch/Kibana-错误的时间值

python - 不使用 PyCurl 的类似 Curl 的客户端证书发送 : how?

security - 客户端和服务之间的安全通信

python - 在 python 中控制 SSL 握手的模块?

java - 我可以在不删除流的情况下从 amazon Kinesis 中删除数据记录或分片吗?

amazon-web-services - 如何在服务器上使用 TCP 和 Nginx 使用 AWS ELB 获取客户端请求的端口号

amazon-web-services - AWS CodePipeline 通知

amazon-web-services - 适用于具有多个谓词条件的 Glue 的 AWS CloudFormation 模板