GCPでは、https にて通信するための、マネージドな証明書を発行する仕組みがあるため、とても簡単に利用できます。
GKEで利用するためには、 Ingress に annotations を追加するだけです。
まずマネージドな 証明書を作成
$ gcloud beta compute ssl-certificates create www-my-domain-com --domains www.my-domain.com $ gcloud beta compute ssl-certificates create my-domain-com --domains my-domain.com
annotations に追加
apiVersion: extensions/v1beta1 kind: Ingress metadata: name: basic-ingress annotations: kubernetes.io/ingress.global-static-ip-name: my-ip ingress.gcp.kubernetes.io/pre-shared-cert: "my-domain-com, www-my-domain-com" spec: rules: - host: my-domain.com http: paths: - backend: serviceName: fuga-nodeport servicePort: 80 - host: www.my-domain.com http: paths: - backend: serviceName: hoge-nodeport servicePort: 8001 backend: serviceName: web-nodeport servicePort: 80
これでしばらくすれば、認証まで行われ、https でアクセスできるようになります。