概要
Azure CLIでIaCしていたら、Azure Front DoorとAKSを連携させたくなったので、AKSに振られたEXTERNAL IPを取得してあれこれしようというだけ。
やり方
色々やり方はあるだろうけど、今回はkubectlコマンドから取得する方法で。
ノードプールのロードバランサーに割り当てられたPublic IPからでも取得できそうだけど、複数のロードバランサーがあると探すのが面倒そうだったので、単純にkubectl get serivceでEXTERNAL IPを取得するという流れに。
- 普通にkubectl get serviceした結果
> kubectl get service
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
azure-vote-back ClusterIP 10.1.0.111 <none> 6379/TCP 56m
azure-vote-front LoadBalancer 10.1.0.182 xx.xx.xx.xx 80:31284/TCP 56m
- EXTERNAL-IPがあるのはazure-vote-frontなのでserviceを指定して単独で表示させる
> kubectl get service azure-vote-front
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
azure-vote-front LoadBalancer 10.1.0.182 xx.xx.xx.xx 80:31284/TCP 58m
- 以下のようにしてEXTERNAL-IPのみを取り出して適当な変数にいれるなりなんなり
> $EXTERNAL_IP=$(kubectl get service | ?{ $_ -match '^azure-vote-front'} | Select-Object -first 1 | %{$_ -split "\s+"})[3]
> echo $EXTERNAL_IP
xx.xx.xx.xx
以上