Ingressにstatic-ipを指定してやった on GKE and GCE
GKEとGCEのIngressではGCPで予約したstatic-ipをNameで指定出来ます。
ちなみに何も指定しないでIngressを作ると毎回IPが変わります。
なぜstatic-ipを振るのか
IngressのIPにドメインを振ってる場合に毎回IPが変わるとかなり辛いため。
手順
- static-ipを予約する
- 予約したstatic-ipを指定してingressを作る
- 予約したstatic-ipがingressに振られているか確認
準備
gcloudのコマンドがどのプロジェクトにセットされているかを確認
gcloud config get-value project
gcloud config get-value project
以前、Ingressを作りたいプロジェクトとは違うプロジェクトがセットされていて
Ingressを作り直しても予約したはずstatic-ipが使われずに辛い思いをしました・・・
もし違うプロジェクトがsetされていれば
gcloud config set project {project-name}
1. static-ipを予約する
gcloud コマンドでstatic-ipを予約。
予約するのはIPのタイプはグローバルです。
ちなみにGCPのコンソールからも出来ます。
gcloud compute addresses create test-ip --global
ちゃんとcreateできていれば、listに追加されてます。予約しただけなのでSTATUSはRESERVEDのはずです。
gcloud compute addresses list --global
NAME REGION ADDRESS STATUS
test-ip 35.186.221.137 RESERVED
2. 予約したstatic-ipを指定してingressを作る
kubernetes.io/ingress.global-static-ip-name: "test-ip"
を追加したingress.yamlを指定してcreateする。
kubectl create -f ingress.yaml
ingress.yaml
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: static-ip
annotations:
kubernetes.io/ingress.global-static-ip-name: "test-ip"
spec:
tls:
# This assumes tls-secret exists.
- secretName: tls-secret
backend:
# This assumes http-svc exists and routes to healthy endpoints.
serviceName: http-svc
servicePort: 80
3. 予約したstatic-ipがingressに振られているか確認
$ kubectl get ing
NAME HOSTS ADDRESS PORTS AGE
test-ingress * 35.186.221.137 80, 443 1h
$ gcloud compute addresses list --global
NAME REGION ADDRESS STATUS
test-ip 35.186.221.137 IN_USE
参考
$ kubectl get ing
NAME HOSTS ADDRESS PORTS AGE
test-ingress * 35.186.221.137 80, 443 1h
$ gcloud compute addresses list --global
NAME REGION ADDRESS STATUS
test-ip 35.186.221.137 IN_USE
ほとんど、このリンクからの引用です!
https://github.com/kubernetes/ingress/tree/master/examples/static-ip/gce
Author And Source
この問題について(Ingressにstatic-ipを指定してやった on GKE and GCE), 我々は、より多くの情報をここで見つけました https://qiita.com/tinjyuu/items/fd7a97b0b81963dcc7f2著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .