将证书加载到 GKE 服务
Loading certificate to GKE service
我有一个 GKE 集群,其中 运行 一个 java spring 引导 docker 镜像在端口 80 上。我将它公开为一个具有多个端口映射的负载均衡器比如 80 -> 80 和 443 -> 80。
我可以看到 http 和 https URL 都在服务中,但我只能在 http 端口上访问我的服务,但不能在 https 上访问。我收到 “此站点无法提供安全连接。”
我知道我需要在这个负载均衡器上放一个证书才能在 https 上公开,我有一个 google 托管证书。
我的问题是我不知道如何在负载均衡器上安装此证书,以便我也可以通过 https 访问我的应用程序。
因为您正在使用带有 google 托管证书的 GKE ingress,所以您不需要在负载均衡器中手动配置它,它可以由 ingress 完成。
在 oficial documentation 中,您可以验证所有步骤以使其正常工作。
有2个pre-requisites:
- 您需要拥有一个域名
- 您应该创建一个静态 IP 地址。
您可以使用以下 yaml 创建证书:
apiVersion: networking.gke.io/v1beta2
kind: ManagedCertificate
metadata:
name: certificate-name
spec:
domains:
- domain-name1
并为您的应用程序创建一个服务作为 NodePort,例如:
apiVersion: v1
kind: Service
metadata:
name: service-name
spec:
selector:
key: value
type: NodePort
ports:
- protocol: TCP
port: 80
targetPort: 8080
最后,您可以使用以下示例创建入口:
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
name: ingress-name
annotations:
kubernetes.io/ingress.global-static-ip-name: address-name
networking.gke.io/managed-certificates: certificate-name
spec:
backend:
serviceName: service-name
servicePort: service-port
如果您想将 self-certificate 迁移到 google 托管证书,您可以按照 this steps
我有一个 GKE 集群,其中 运行 一个 java spring 引导 docker 镜像在端口 80 上。我将它公开为一个具有多个端口映射的负载均衡器比如 80 -> 80 和 443 -> 80。
我可以看到 http 和 https URL 都在服务中,但我只能在 http 端口上访问我的服务,但不能在 https 上访问。我收到 “此站点无法提供安全连接。”
我知道我需要在这个负载均衡器上放一个证书才能在 https 上公开,我有一个 google 托管证书。
我的问题是我不知道如何在负载均衡器上安装此证书,以便我也可以通过 https 访问我的应用程序。
因为您正在使用带有 google 托管证书的 GKE ingress,所以您不需要在负载均衡器中手动配置它,它可以由 ingress 完成。
在 oficial documentation 中,您可以验证所有步骤以使其正常工作。
有2个pre-requisites:
- 您需要拥有一个域名
- 您应该创建一个静态 IP 地址。
您可以使用以下 yaml 创建证书:
apiVersion: networking.gke.io/v1beta2
kind: ManagedCertificate
metadata:
name: certificate-name
spec:
domains:
- domain-name1
并为您的应用程序创建一个服务作为 NodePort,例如:
apiVersion: v1
kind: Service
metadata:
name: service-name
spec:
selector:
key: value
type: NodePort
ports:
- protocol: TCP
port: 80
targetPort: 8080
最后,您可以使用以下示例创建入口:
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
name: ingress-name
annotations:
kubernetes.io/ingress.global-static-ip-name: address-name
networking.gke.io/managed-certificates: certificate-name
spec:
backend:
serviceName: service-name
servicePort: service-port
如果您想将 self-certificate 迁移到 google 托管证书,您可以按照 this steps