如何在kubernetes中为aws负载均衡器安装SSL证书?

时间:2018-06-01 06:46:25

标签: amazon-web-services docker ssl kubernetes

我获得了yaml文件,用于指定ssl证书(由aws证书管理器提供)来为kubernetes部署加载平衡器。但是,我们在aws china账户中运行kubernetes集群,其中没有认证经理选项。现在,如果我有Godaddy提供的SSL证书,我该如何安装它?是否有其他替代方法来安装证书而不是负载均衡器?我可以在我的tomcat容器中安装它并用它构建新的映像吗?

1 个答案:

答案 0 :(得分:1)

据我所知,您无法设置使用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清单中添加以下注释:

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

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

如果您需要更具体的帮助,请将当前的清单发布给您。