Podsをexternalからアクセスさせるには、Serviceが必要になる。
上記Type LoadBalancer は、HTTPになるので、HTTPSは、Ingressを使う必要があります。
https://kubernetes.io/docs/concepts/services-networking/ingress/
IngressとPodの中継するため、NodePortを作っておきます。Ingressからヘルスチェックとして、NodePortを使います。
kubectl expose deployment web-app --target-port=80 --type=NodePort
Let’s encryptのSSL証明書はSecretsに登録しておきます。
kubectl create secret tls custom-tls-cert
ingress用のyaml
apiVersion: extensions/v1beta1 kind: Ingress metadata: name: basic-ssl-ingress spec: tls: - hosts: - www.totalsolution.biz secretName: custom-tls-cert rules: - host: www.totalsolution.biz http: paths: - backend: serviceName: web-app servicePort: 80 path: /
ヘルスチェックが通るまでしばらく時間がかかります。