Да, с учетом вашего сценария можно было бы использовать вход GKE, есть официальное руководство о том, как это сделать шаг за шагом.
Кроме того, вот шаг за шагом. step руководство о том, как реализовать сертификаты, управляемые Google.
Кроме того, я понимаю, что мой ответ является несколько общим, но я могу только помочь вам, не зная вашей инфраструктуры GKE (например, вашего DNS имя для указанного сертификата среди прочего).
Помните, что вы должны реализовать это непосредственно в своей инфраструктуре GKE, а не на стороне GCP, если вы изменяете или создаете что-то новое вне GKE, но связанное с GKE, вы может увидеть, что либо ваше развертывание откатилось через определенное время, либо оно перестало работать через определенное время.
Изменить:
Я предполагаю здесь несколько вещей, и поскольку у меня нет вашего YAML-файл развертывания Spring Boot 2, я заменю его развертыванием nginx.
cert.yaml
apiVersion: networking.gke.io/v1beta1
kind: ManagedCertificate
metadata:
name: ssl-cert
spec:
domains:
- example.com
nginx .yaml * 102 0 *
apiVersion: "apps/v1"
kind: "Deployment"
metadata:
name: "nginx"
namespace: "default"
labels:
app: "nginx"
spec:
replicas: 1
selector:
matchLabels:
app: "nginx"
template:
metadata:
labels:
app: "nginx"
spec:
containers:
- name: "nginx-1"
image: "nginx:latest"
nodeport.yaml (пожалуйста, измените targetPort: 80 в соответствии с вашими потребностями)
apiVersion: "v1"
kind: "Service"
metadata:
name: "nginx-service"
namespace: "default"
labels:
app: "nginx"
spec:
ports:
- protocol: "TCP"
port: 80
targetPort: 80
selector:
app: "nginx"
type: "NodePort"
ingress-cert.yaml
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: nginx-ingress
annotations:
networking.gke.io/managed-certificates: ssl-cert
spec:
backend:
serviceName: nginx-service
servicePort: 80
Имейте в виду, что предполагая, что ваше DNS-имя "example.com" указывает на внешний IP-адрес вашего балансировщика нагрузки, создание и применение сертификата SSL может занять некоторое время.