【GKE】Google Domainsで取得してドメインを付ける
cloud domainsでドメインを取得する
ネットワークサービスからcloud domainsを選択しドメインを取得します。

こちらでドメインを取得できなかった為(問い合わせをした所不具合があるとの事でした)ですのでGoogle domainsで、ドメインを取得します。
下記にGKEとgoogle domainsを使った構成があるので参考にして進めます。
https://cloud.google.com/kubernetes-engine/docs/tutorials/configuring-domain-name-static-ip?hl=ja
ドメインを取得したらネームサーバーの設定を行います。

静的IPを取得します
VPCネットワークから静的IPを作成します。上の静的アドレスを予約をクリックして進めればOKです。
作成時のリージョンはグローバルで作成して下さい。
コマンドで作成する方が正確なので
gcloud compute addresses create ip名 --global
でサクっと作成しちゃいましょう

予約した静的アドレスは使わないとお金がかかるのが注意です。
取得したら下記コマンドで確認できます。
gcloud compute addresses list
ingressを使ってドメインを設定
下記のような設定を追加します。
kind: Ingress
metadata:
name: ingress #ingress名
namespace: namespace #ネームスペース
annotations:
kubernetes.io/ingress.global-static-ip-name: make-ip #作成したIP
一度作成したIPがアタッチできなかった事があるのですが、GKEクラスターがus-centralで静的IPが asia-northeast1 でリージョンが違う事が原因だった為、リージョンには注意しましょう。ちなみに東京リージョンは asia-northeast1 です。
作成したら下記コマンドで確認できます。
kubectl get ingress
cloud DNSでZONEを作成する。
cloud DNSでゾーンを作成して、このDNSを使いますよって宣言を書きます。

googleなら
ns-cloud-a1.googledomains.com
を使います的な宣言をします。
cloud CDNを作成
作成したDNS ZONEにcloud cdnを追加します。
作成したゾーンを指定してゾーンの詳細画面にいくと、レコードセットを追加があるので追加ボタンを押下します。

こちらの追加で

test.comと言うドメインはxxx.xxx.xxx.xxxと言うipを見てねって宣言を書きます。
これで設定完了です。
まとめ
- ドメインを取得する。(google domains)
- ドメインにネームサーバーの設定をする。
- 静的IPを取得する。(global)
- ドメインを設定する為のゾーンを作成する。
- ゾーンの詳細でドメインとIPを紐づけるCDNを作成する。