Skip to content

Step3 アクセスできるようにする

デプロイした concrnt2 サービスに、インターネットからアクセスできるようにします。ここではCloudflare Tunnelを使う方法を紹介します。IngressやLoadBalancerが利用できる環境では、concrnt2 サービス(ポート80)を公開しても構いません。

Cloudflareのアカウントとドメインの準備

Cloudflareのアカウントを作成し、利用するドメインをCloudflareに登録してActiveにしておきます。

Cloudflare Tunnelの設定

Zero TrustページからTunnelを作成します。Public hostnamesを以下の内容で設定します。

HTTP :// concrnt2.concrnt.svc.cluster.local

OverviewのInstall and run a connectorの項目から、トークンっぽい文字列をコピーしておきます。

Cloudflaredをクラスターにデプロイ

以下の内容をcloudflared-deployment.yamlとして作成してください。(ファイル中にトークンを設定する箇所があります)

apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app: cloudflared
name: cloudflared-deployment
namespace: concrnt
spec:
replicas: 1
selector:
matchLabels:
pod: cloudflared
template:
metadata:
labels:
pod: cloudflared
spec:
containers:
- command:
- cloudflared
- tunnel
- --metrics
- 0.0.0.0:2000
- run
args:
- --token
- <上で取得したトークン>
image: cloudflare/cloudflared:latest
name: cloudflared
livenessProbe:
httpGet:
path: /ready
port: 2000
failureThreshold: 1
initialDelaySeconds: 10
periodSeconds: 10

デプロイします。

kubectl apply -f cloudflared-deployment.yaml
kubectl get pods -n concrnt

ブラウザでアクセスを確認

ブラウザで設定したドメインにアクセスし、Concrntドメインのトップページ(CSID表示)が返れば成功です。

webクライアント https://concrnt.world で新しくユーザーを作成する際にカスタムを選択し、自分のドメインを入力することで自分のサーバーにアカウントを作成することができます。

concrnt2.registrationinvite にしている場合は、招待コードが必要です。以下のコマンドで発行できます。

kubectl exec -n concrnt deploy/concrnt2 -- conctl generate invite