Open5
CloudflareのArgoTunnelをKubernetesのIngressに使ってみる

OracleCloudのArm64インスタンスにKubernetesを構築したのですが
外部からのアクセスをどうするか悩みポートは開けたくないってことで
CloudflareのArgoTunnelを使って外部からPodへアクセスしてみます。

cloudflaredインストール
cloudflaredインストール
wget https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-arm64.deb
sudo dpkg -i cloudflared-linux-arm64.deb
cloudflaredログイン
cloudflared login
ターミナルにログインURLが表示されるので、それにアクセスしてtunnel対象ドメインを選択します。
ArgoTunnel作成
cloudflared tunnel create <tunnel-name>
コマンド実行後に表示されるUUIDをメモします。
Created tunnel <tunnel-name> with id <UUID>

Kubernetesクラスタへのcloudflaredデプロイ公式マニュアル
- トンネル1個の手順
- トンネル2個(ロードバランサ)の手順

Cloudflareロードバランサの準備
公式ドキュメントはCloudflareのロードバランサを用いた手順があります。
せっかくなのでCloudflareロードバランサを使ってみます。
月額$5なのでお手頃です。

Kubernetes+ArgoTunnel参考資料
cloudflaredのDeployment
Cloudflare DNSの動的設定