Step3 アクセスできるようにする
デプロイした concrnt2 サービスに、インターネットからアクセスできるようにします。ここではCloudflare Tunnelを使う方法を紹介します。IngressやLoadBalancerが利用できる環境では、concrnt2 サービス(ポート80)を公開しても構いません。
Cloudflareのアカウントとドメインの準備
Cloudflareのアカウントを作成し、利用するドメインをCloudflareに登録してActiveにしておきます。
Cloudflare Tunnelの設定
Zero TrustページからTunnelを作成します。Public hostnamesを以下の内容で設定します。
HTTP :// concrnt2.concrnt.svc.cluster.localOverviewのInstall and run a connectorの項目から、トークンっぽい文字列をコピーしておきます。
Cloudflaredをクラスターにデプロイ
以下の内容をcloudflared-deployment.yamlとして作成してください。(ファイル中にトークンを設定する箇所があります)
apiVersion: apps/v1kind: Deploymentmetadata: labels: app: cloudflared name: cloudflared-deployment namespace: concrntspec: 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.yamlkubectl get pods -n concrntブラウザでアクセスを確認
ブラウザで設定したドメインにアクセスし、Concrntドメインのトップページ(CSID表示)が返れば成功です。
webクライアント https://concrnt.world で新しくユーザーを作成する際にカスタムを選択し、自分のドメインを入力することで自分のサーバーにアカウントを作成することができます。
concrnt2.registration を invite にしている場合は、招待コードが必要です。以下のコマンドで発行できます。
kubectl exec -n concrnt deploy/concrnt2 -- conctl generate invite