Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将SSL证书分配给作为kubernetes服务负载平衡器的区域ip_Ssl_Kubernetes_Google Cloud Platform_Google Cloud Http Load Balancer - Fatal编程技术网

如何将SSL证书分配给作为kubernetes服务负载平衡器的区域ip

如何将SSL证书分配给作为kubernetes服务负载平衡器的区域ip,ssl,kubernetes,google-cloud-platform,google-cloud-http-load-balancer,Ssl,Kubernetes,Google Cloud Platform,Google Cloud Http Load Balancer,我有一个kubernetes服务,我把它放在负载平衡器后面。负载平衡器位于区域静态IP上。我不能使用全局IP的原因是,当我将它分配给我的服务时,它拒绝接受它。其他国家也面临同样的问题 我正在尝试为创建的TCP负载平衡器(区域IP)分配SSL证书,但在前端配置中,我没有看到任何选项 如果我使用全局IP,我可以看到创建/分配证书的选项,但我的服务拒绝IP,如上面的链接所示。 如何将SSL证书分配给作为kubernetes服务负载平衡器的区域ip?或者,如果您知道我的服务接受kubernetes服务的

我有一个kubernetes服务,我把它放在负载平衡器后面。负载平衡器位于区域静态IP上。我不能使用全局IP的原因是,当我将它分配给我的服务时,它拒绝接受它。其他国家也面临同样的问题

我正在尝试为创建的TCP负载平衡器(区域IP)分配SSL证书,但在前端配置中,我没有看到任何选项

如果我使用全局IP,我可以看到创建/分配证书的选项,但我的服务拒绝IP,如上面的链接所示。 如何将SSL证书分配给作为kubernetes服务负载平衡器的区域ip?或者,如果您知道我的服务接受kubernetes服务的全球IP负载平衡器的方法,请让我知道


注意:我已禁用默认的gce入口控制器,我正在使用自己的入口控制器。因此,它不会自动创建外部ip。

如果您使用区域TCP平衡器,则根本不可能将证书分配给负载平衡器,因为它在级别4(TCP)上运行,而SSL在级别7上运行。这就是为什么您看不到分配证书的选项

您需要在入口控制器级别分配SSL证书,如下所示:

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: foo
  namespace: default
spec:
  tls:
  - hosts:
    - foo.bar.com
    secretName: foo-secret
  rules:
  - host: foo.bar.com
    http:
      paths:
      - backend:
          serviceName: foo
          servicePort: 80
        path: /

若您使用区域TCP平衡器,那个么根本不可能将证书分配给负载平衡器,因为它在级别4(TCP)上运行,而SSL在级别7上运行。这就是为什么您看不到分配证书的选项

您需要在入口控制器级别分配SSL证书,如下所示:

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: foo
  namespace: default
spec:
  tls:
  - hosts:
    - foo.bar.com
    secretName: foo-secret
  rules:
  - host: foo.bar.com
    http:
      paths:
      - backend:
          serviceName: foo
          servicePort: 80
        path: /

对于具有类似任务的其他人,我建议使用cert manager:对于具有类似任务的其他人,我建议使用cert manager: