Google GKE へのマルチクラスタのインストール
このガイドでは、GKE(Google Kubernetes Engine)でホストされている Kubernetes クラスタに CodeCanvas アプリケーションをインストールする方法について説明します。データベースサービスは Google Cloud SQL でホストされ、オブジェクトストレージは Google Cloud Storage バケットでホストされます。
I: インストール前の手順
CodeCanvas をインストールする前に、次の前提条件を満たしてください。
1. PostgreSQL データベースをセットアップする
CodeCanvas では、CodeCanvas アプリケーションデータ用に PostgreSQL データベースが必要です。
PostgreSQL 用 Cloud SQL インスタンス(バージョン 12.2 – 15.12 がサポートされています)をデプロイします。CodeCanvas アプリケーションクラスターからサーバーにアクセスできることを確認してください。
CodeCanvas アプリケーション専用のデータベースを作成します。
インストールを続行する前に、データベースサーバーが起動して実行されていることを確認してください。
2. オブジェクトストレージを構成する
ユーザーおよびアプリケーションデータを保存するための Google Cloud Storage バケットを作成します。
3. CodeCanvas アプリケーションクラスターを準備する
CodeCanvas アプリケーションクラスターは、CodeCanvas アプリケーションと関連サービスをホストします。CodeCanvas アーキテクチャの詳細
GKE クラスタ
次の要件を満たす CodeCanvas アプリケーション用の GKE クラスターを設定します。
要件
説明
Helm
バージョン 3.8.0 以降
Kubernetes
バージョン 1.29 以降
クラスターノード
Linux OS (x86_64) を搭載したノードが 4 つ以上。推奨最小リソース: CPU コア 4 個、メモリ 8GB
名前空間
CodeCanvas アプリケーション専用の名前空間を作成します (
NAMESPACE_PLACEHOLDERを名前空間名に置き換えます)。kubectl create namespace NAMESPACE_PLACEHOLDERIngress コントローラー
GKE セットアップと互換性のある Ingress コントローラーをインストールします。このガイドでは、ingress-nginx(英語) コントローラーを使用します。
4. DNS と TLS を構成する
ドメイン名
CodeCanvas インスタンスのドメイン名を登録します (例:
codecanvas.example.com)。DNS ゾーン
DNS レコードを管理するには、CodeCanvas アプリケーションクラスターに ExternalDNS(英語) をインストールします。
TLS 証明書
暗号化しましょうによって発行された TLS 証明書を管理するには、CodeCanvas アプリケーションクラスターに cert-manager(英語) をインストールします。
サブドメイン
CodeCanvas アプリケーションコンポーネントのサブドメインを設定します。
custom.values.yamlの設定では、以下の DNS ドメイン名スキームが想定されています。EXTERNAL_DOMAIN_PLACEHOLDER– メインの管理 UI と REST API を提供する CodeCanvas アプリケーションのメインドメイン。例:codecanvas.example.comcomputeservice.EXTERNAL_DOMAIN_PLACEHOLDER–compute-serviceREST API を提供するサブドメイン。これは通常、開発環境 pods のみがアクセスする内部ドメインです。gateway.EXTERNAL_DOMAIN_PLACEHOLDER–gateway-relayサービス(リレーサーバー)を提供します。これは、ユーザーの IDE クライアントがアクセスする外部ドメインです。
5. ワークロード ID の IAM を構成する
CodeCanvas から Google Cloud のストレージバケットとデータベースへのアクセスを設定するには、特定の IAM (Identity and Access Management) 構成が必要です。
ワークロード ID
CodeCanvas アプリケーションクラスターとそのノードに対してワークロード ID 機能を有効にします。
Google IAM サービスアカウント
CodeCanvas アプリケーション専用の別の Google IAM サービスアカウントを作成します。
ワークロード ID のロールバインディング
IAM サービスアカウントを Kubernetes サービスアカウントにバインドします。Google IAM サービスアカウントには
roles/iam.workloadIdentityUserロールが必要です。このロールは、Kubernetes 名前空間と、CodeCanvas アプリケーションの pod を実行する Kubernetes サービスアカウントの両方にバインドする必要があります。これにより、Kubernetes サービスアカウントは Google IAM サービスアカウントの ID を使用して Google Cloud リソースにアクセスできるようになります。ストレージバケットへのアクセス
Google IAM サービスアカウントに、Google Storage バケットにアクセスする権限を持つ事前定義済みロールまたはカスタムロールがあることを確認します。
storage.multipartUploads.abortstorage.multipartUploads.createstorage.multipartUploads.liststorage.multipartUploads.listPartsstorage.objects.createstorage.objects.deletestorage.objects.getstorage.objects.liststorage.objects.restorestorage.objects.updateiam.serviceAccounts.signBlob
6. (オプション)SMTP サーバーを構成する
CodeCanvas は、ユーザー作成時の招待リンク、メール認証、その他の通知など、様々なメールをユーザーに送信するために SMTP サーバーを使用します。この機能を有効にするには、CodeCanvas アプリケーションクラスターからアクセスできる SMTP サーバーを用意してください。
II: CodeCanvas をインストールする
1. custom.values.yaml ファイルを作成する
custom.values.yaml ファイルを作成し、以下のスニペットをコピーしてください。プレースホルダーは次の手順で実際の値に置き換えます。
2. Google IAM サービスアカウントの割り当て
custom.values.yaml の CODECANVAS_GSA_EMAIL を Google IAM サービスアカウントのメールアドレスに置き換えます。
3. 外部ドメインを指定
custom.values.yaml では、EXTERNAL_DOMAIN_PLACEHOLDER を CodeCanvas インスタンスに登録したドメイン名に置き換えます。
4. cert-manager を設定する
custom.values.yaml では、CERT_MANAGER_NAME_PLACEHOLDER をクラスターで使用されている cert-manager(英語) の名前に置き換えます。
5. データベース設定を指定する
CodeCanvas をインストールすると、外部の PostgreSQL データベースを使用することになります。任意の PostgreSQL データベースを使用できますが、Cloud SQL for PostgreSQL の使用をおすすめします。
5.1 資格情報の取得
スキーマ内のすべてのエンティティを作成、読み取り、更新、削除する権限を持つデータベースユーザーの資格情報を取得します。
5.2 データベースシークレットを作成する
データベースシークレットは、PostgreSQL データベースへのアクセスを保護するために使用されます。
custom.values.yamlで、DB_SECRET_NAME_PLACEHOLDERを作成するシークレットの名前に置き換えます。例:codecanvas-db-secret-extcodecanvas-db-secret.yamlファイルを作成し、以下のスニペットをコピーします。apiVersion: v1 kind: Secret type: Opaque metadata: name: "DB_SECRET_NAME_PLACEHOLDER" namespace: "NAMESPACE_PLACEHOLDER" stringData: DB_HOST: "CODECANVAS_DB_HOST_PLACEHOLDER" DB_NAME: "CODECANVAS_DB_NAME_PLACEHOLDER" DB_PASSWORD: "CODECANVAS_DB_PASSWORD_PLACEHOLDER" DB_PORT: "CODECANVAS_DB_PORT_PLACEHOLDER" DB_USERNAME: "CODECANVAS_DB_USERNAME_PLACEHOLDER"次のプレースホルダーを置き換えます。
DB_SECRET_NAME_PLACEHOLDERは、作成するシークレットの名前です。先ほど指定したcustom.values.yamlの名前と一致する必要があります。例:codecanvas-db-secret-extKubernetes 名前空間での
NAMESPACE_PLACEHOLDERCODECANVAS_DB_USERNAME_PLACEHOLDERユーザーのパスワードを持つCODECANVAS_DB_PASSWORD_PLACEHOLDERPostgreSQL ホスト名を持つ
CODECANVAS_DB_HOST_PLACEHOLDERPostgreSQL ポート付き
CODECANVAS_DB_PORT_PLACEHOLDER
実行:
kubectl apply -f codecanvas-db-secret.yaml組織の秘密管理ポリシーに基づいて、
codecanvas-db-secret.yamlファイルを削除するか、保持することができます。
6. オブジェクトストレージ設定を指定する
CodeCanvas をインストールすると、外部オブジェクトストレージの使用が想定されます。以下の手順は Google Storage に適用されます。
6.1 オブジェクトストレージシークレットを作成する
オブジェクトストレージシークレットは、Google ストレージデータベースへのアクセスを保護するために使用されます。
custom.values.yamlで、STORAGE_SECRET_NAME_PLACEHOLDERを次の手順で作成するシークレットの名前に置き換えます。例:codecanvas-object-storage-secretobject-storage-secret.yamlファイルを作成し、以下のスニペットをコピーします。このスニペットは、Workload Identity を使用していることを示しています。apiVersion: v1 kind: Secret type: Opaque metadata: name: "STORAGE_SECRET_NAME_PLACEHOLDER" namespace: "NAMESPACE_PLACEHOLDER" stringData: CODECANVAS_OBJECT_STORAGE_ACCESS_KEY: "CODECANVAS_OBJECT_STORAGE_ACCESS_KEY_PLACEHOLDER" CODECANVAS_OBJECT_STORAGE_SECRET_KEY: "CODECANVAS_OBJECT_STORAGE_SECRET_KEY_PLACEHOLDER" CODECANVAS_OBJECT_STORAGE_BUCKET: "CODECANVAS_OBJECT_STORAGE_BUCKET_PLACEHOLDER" CODECANVAS_OBJECT_STORAGE_ENDPOINT: "https://storage.googleapis.com" CODECANVAS_OBJECT_STORAGE_REGION: "CODECANVAS_OBJECT_STORAGE_REGION_PLACEHOLDER"次のプレースホルダーを置き換えます。
STORAGE_SECRET_NAME_PLACEHOLDERは、作成するシークレットの名前です。先ほど指定したcustom.values.yamlの名前と一致する必要があります。例:codecanvas-object-storage-secretKubernetes 名前空間での
NAMESPACE_PLACEHOLDERCODECANVAS_OBJECT_STORAGE_BUCKET_PLACEHOLDERは、先ほど作成した Google Storage バケットの名前です。CODECANVAS_OBJECT_STORAGE_REGION_PLACEHOLDERは Google Storage バケットのリージョンです (europe-west1のように)
AWS のような認証情報を使用してアクセスするには、次のプレースホルダーを置き換えます。
アクセスキー付きの
CODECANVAS_OBJECT_STORAGE_ACCESS_KEY_PLACEHOLDER秘密鍵を持つ
CODECANVAS_OBJECT_STORAGE_SECRET_KEY_PLACEHOLDER
実行:
kubectl apply -f object-storage-secret.yaml組織の秘密管理ポリシーに基づいて、
object-storage-secret.yamlファイルを削除するか、保持することができます。
7. マスターシークレットを作成する
CodeCanvas アプリケーションは、ユーザーシークレット(外部サービスへの認証情報など)を暗号化された形式でデータベースに保存します。これらのデータの暗号化と復号には、マスターシークレットが使用されます。
マスターシークレットは、任意の Base64 エンコード文字列にすることができます。例: openssl を使用してランダムな文字列を生成できます。
マスターシークレットを生成するには、以下を実行します。
openssl rand -base64 32custom.values.yamlで、MASTER_SECRET_PLACEHOLDERを生成された値に置き換えます。
8. システム管理者アカウントを構成する
システム管理者アカウントは、インストール後に CodeCanvas へのログインと設定に使用されます。認証情報は手動で入力することも、システムによって自動生成することもできます。
管理者アカウントを手動で設定するには、
custom.values.yamlで次の行を置き換えます。必要な管理者資格情報を持つ
ADMIN_USERNAME_PLACEHOLDERおよびADMIN_PASSWORD_PLACEHOLDERCodeCanvas からの管理者通知を受信するためのメールアドレスを持つ
ADMIN_EMAIL_PLACEHOLDER
あるいは、custom.values.yaml から localAdministrator.username と localAdministrator.password のセクションを削除することもできます。この場合、デフォルトのユーザー名は admin になり、インストール時にランダムなパスワードが生成されます(チャートのデプロイ後に表示されます)。ただし、ADMIN_EMAIL_PLACEHOLDER の代わりにメールアドレスを指定する必要があります。
9. Ingress クラスを指定する
custom.values.yaml で、INGRESS_CLASS_PLACEHOLDER を、CodeCanvas アプリケーションクラスターに使用される Ingress クラスに置き換えます。
10. CodeCanvas pod の Kubernetes サービスアカウントを指定する
アプリケーションクラスタに Workload Identity を設定し、サービスアカウント名を Helm リリース名とは別のものにしたいとします。この場合、CodeCanvas Helm チャートによって作成される Kubernetes サービスアカウントに特定の名前を指定する必要があります。これを行うには、custom.values.yaml で CODECANVAS_KSA_NAME を希望の名前に置き換えます。
11. (オプション) Sysbox コンテナーランタイムを構成する
デフォルトでは、CodeCanvas はワーカーコンテナーを --privileged モードで実行します(コンテナーはホストノード上でルート権限を持ちます)。セキュリティ上の理由からこれを回避したい場合は、こちらの説明に従って Sysbox Container Runtime をインストールしてください。
12. ライセンス契約に同意する
custom.values.yaml では、ACCEPTANCE_PLACEHOLDER を true に置き換えて、CodeCanvas ライセンス契約(英語)を明示的に受け入れます。
13. CodeCanvas チャートをインストールする
実行:
ここに:
NAMESPACE_PLACEHOLDERは Kubernetes の名前空間ですcodecanvasは Helm のリリース名です。必要に応じて変更できます。
III: インストールを確認する
CodeCanvas インスタンスをインストールしたら、インストールを確認します。
1. CodeCanvas pods の状態を確認する
実行:
すべての pods は Running 状態である必要があります。平均して、デプロイから pod がアクティブになるまで約 2 分かかります。
pods が Running でない場合は、次のコマンドを実行して原因を見つけてみてください。
および
2. ドメイン名解決の検証
ドメイン名は Ingress ロードバランサーに解決される必要があります。これは次のコマンドで確認できます。
出力にはエラーが含まれていてはなりません。
3. CodeCanvas アプリケーションを確認する
ブラウザーで CodeCanvas インスタンスを開きます。CodeCanvas にログインする際は、インストール時に提供された管理者の資格情報を使用してください。
IV: CodeCanvas を有効化
CodeCanvas インスタンスをアクティブ化する方法の指示に従ってください。
V: コンピューティングプラットフォームを構成する
CodeCanvas のコンピューティングプラットフォームは、開発環境の実行を担うインフラストラクチャを表す構成エンティティです。Kubernetes オペレーターによって管理される開発環境クラスター、リレーサーバー、移動サーバーで構成されます。CodeCanvas アーキテクチャの詳細。
1. 開発環境クラスタを準備する
CodeCanvas のインストールでは、複数の開発環境クラスタ(たとえば、異なるリージョンに分散)を使用できます。すべての開発環境クラスタの要件は同じです。
GKE クラスタ
次の要件を満たす開発環境用の GKE クラスターを設定します。
要件
説明
Helm
バージョン 3.8.0 以降
Kubernetes
バージョン 1.29 以降
クラスターノード
開発環境を実行するのに十分なノード(それぞれ Linux OS(Ubuntu、x86_64)搭載)が必要です。推奨最小リソース: CPU コア 4 個、メモリ 8GB。以下の推奨事項をご確認ください。
- クラスターノードに関する主な推奨事項
一般的なノード要件
Linux OS (Ubuntu、x86_64)、推奨最小リソース: 4 つの vCPU と 8 GB のメモリ。
自動スケーリングを構成する
自動スケーリングを使用して、負荷に応じてノード数を調整します。通常の使用状況をカバーするのに十分な最小ノード数から開始し、ピーク時には自動スケーリングによってノードを追加できます。自動スケーリングに関する推奨事項を参照してください。
リソースを見積もる
通常およびピーク時の同時使用率(同時環境の平均数と最大数)を見積もります。例: ピーク時のアクティビティで 20 人の開発者がそれぞれ 2 ~ 3 の開発環境を使用する場合、ピーク時の需要は 60 のアクティブ環境になります。
合計リソース要件を計算します。例: 一般的な開発環境が 4 つの vCPU と 16 GB のメモリである場合、60 の開発環境では 240 の vCPU と 960 GB のメモリが必要になります。
重要: Kubernetes は、
kubelet、kube-proxyなどのシステムタスクのために各ノードのリソースの一部を必要とします。システムタスク用に、ノードごとに約 0.2 vCPU と 1 ~ 2GB のメモリを予約する必要があります。正確な値はインストールによって異なります。実際のノードリソース使用量を確認するには、kubectl describe node <node-name>を実行してください。ノード割り当て戦略を選択する
1 つのノード – 1 つの開発環境
1 つのノードは 1 つの開発環境(ワーカー、pod)のみをホストします。この例では、60 個の開発環境(たとえば
n2-standard-4(4 つの vCPU、16GB のメモリ))には 60 個の個別ノードが必要になります。(+) オーバープロビジョニングなし: 各ノードは単一の開発環境によって完全に利用されます。
(+) フォールトトレランス: ノードに障害が発生した場合、影響を受ける開発環境は 1 つだけです。
(-) オーバーヘッドの増加: Kubernetes は各ノードのリソースの一部をシステムタスクに使用します。そのため、この例では各開発環境に 4 つの vCPU と 16GB のメモリが割り当てられますが、開発者が利用できるのは 3.8 つの vCPU と 14 ~ 15GB のメモリのみです。残りの 0.2vCPU と 1 ~ 2GB のメモリは Kubernetes のシステムタスクによって使用され、結果として 60 * (0.2 の vCPU と 1 ~ 2GB = 12vCPU と 60 ~ 120GB のオーバーヘッドが発生します。この問題は、より大きなインスタンスを使用することで解決できます。
(-) 起動時間が遅い: オートスケーラーは、新しい開発環境ごとに新しいノードをプロビジョニングする必要があります。
1 つのノード – 複数の開発環境
1 つのノードで複数の開発環境(ワーカー、pods)をホストします。60 の開発環境(合計 240 個の vCPU、960GB のメモリ)の例では、この負荷を
n2-standard-32(32 個の vCPU、128GB のメモリ)などの 4 ~ 6 個のノードに分割できます。(-) オーバープロビジョニング: 実行されている開発環境の数がノードに対応できる数より少ない場合、リソースが無駄になります。
(-) フォールトトレランス: ノードに障害が発生すると、複数の開発環境に影響がおよびます。
(+) オーバーヘッドの低減: 複数の開発環境が同じノードを共有するため、Kubernetes システムタスク(ノードあたり 0.2 vCPU と 1 ~ 2GB のメモリ)のオーバーヘッドが削減されます。この例では、4 ~ 6 ノードの場合、オーバーヘッドは 4 – 6 * (0.2 vCPU と 1 ~ 2GB = 0.8 – 1.2 vCPU と 4 ~ 12GB のメモリとなります。「1 ノード – 1 開発環境」戦略の場合の 12 vCPU と 60 ~ 120GB のオーバーヘッドと比較してみてください。
(+) 起動時間の短縮: ノードに使用可能なリソースがある場合、新しいノードがプロビジョニングされるのを待たずに、新しいワーカー pods をすぐに起動できます。
(+) 潜在的なコスト削減: 少数の大規模インスタンスを使用する方が、多数の小規模インスタンスを使用するよりもコスト効率が高くなる可能性があります。ただし、これはリソース使用量をどれだけ正確に予測できるか、開発環境をノードにどれだけ効率的に配置できるかに依存します。
GCP インスタンスタイプを選択する
GKE インスタンスタイプを比較して選択するには、GCP マシンタイプドキュメントを参照してください。
e2インスタンスなど、動的リソース割り当てを行うインスタンスタイプは避けてください。代わりに、n2やc2インスタンスなど、コンピューティング最適化またはメモリ最適化されたインスタンスタイプの使用を検討してください。
CSI ドライバー
GKE は、永続ボリュームとスナップショットにデフォルトで
pd.csi.storage.gke.ioCSI ドライバを使用します。追加のインストールは必要ありません。CodeCanvas の CSI について詳しく見るCSI スナップショットコントローラー
CSI スナップショットコントローラー(英語)は、Kubernetes のスナップショット操作を実装する CSI ドライバのアドオンです。
pd.csi.storage.gke.ioCSI ドライバのスナップショットサポートは、GKE ではデフォルトで有効になっています。ストレージクラス
開発環境で使用される永続ボリュームをプロビジョニングするための Kubernetes
StorageClassを作成します。以下の推奨構成を使用することも、パフォーマンスやコストの好みに応じて独自の構成を定義することもできます。推奨構成では、GKE の汎用性に優れたpd-balanced永続ディスクを使用します。開発環境クラスターには複数のストレージクラスを設定できます。インスタンスタイプを作成する際に、利用可能なストレージクラスから選択できます。
storage-class.yamlファイルを作成し、以下のスニペットをコピーします。apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: annotations: storageclass.kubernetes.io/is-default-class: "false" name: codecanvas-storage # You can change this name provisioner: pd.csi.storage.gke.io allowVolumeExpansion: true mountOptions: - debug parameters: type: pd-balanced reclaimPolicy: Delete volumeBindingMode: WaitForFirstConsumer構成をクラスターに適用します。
kubectl apply -f storage-class.yaml
ボリュームスナップショットクラス
Kubernetes
VolumeSnapshotClassを作成して、開発環境で使用される永続ボリュームのスナップショットサポートを有効にします。以下の推奨ボリュームスナップショットクラス構成をご利用いただけます。開発環境クラスターには複数のボリュームスナップショットクラスを設定できます。インスタンスタイプを作成する際に、利用可能なクラスから選択できます。
snapshot-class.yamlファイルを作成し、以下のスニペットをコピーします。apiVersion: snapshot.storage.k8s.io/v1 kind: VolumeSnapshotClass metadata: annotations: snapshot.storage.kubernetes.io/is-default-class: "true" name: codecanvas-volume-snapshot # You can change this name driver: pd.csi.storage.gke.io deletionPolicy: Delete構成をクラスターに適用します。
kubectl apply -f snapshot-class.yaml
2. (オプション)リレーサーバーをインストールする
CodeCanvas インスタンスで JetBrains IDE を使用する予定の場合は、少なくとも 1 つのリレーサーバーを設定する必要があります。これにより、ローカルマシン上の JetBrains クライアントとリモート IDE バックエンド間の接続が可能になります。
最適なユーザーエクスペリエンスを実現するには、レイテンシを最小限に抑えるために、リレーサーバーを開発環境クラスターの近くにデプロイする必要があります (例: 開発環境クラスター自体または同じリージョン内)。
リレーサーバーのインストール方法に関する指示に従ってください。
3. (オプション)移動サーバーをインストールする
ユーザーが SSH 経由で開発環境に接続できるようにする場合(例: VS Code/Cursor、リモートの開発環境またはターミナルアクセスを使用)、踏み台サーバーを設定する必要があります。それ以外の場合、この手順はオプションです。
最適なユーザーエクスペリエンスを実現するには、レイテンシを最小限に抑えるために、踏み台サーバーを開発環境クラスターの近くにデプロイする必要があります (例: 開発環境クラスター自体または同じリージョン内)。
踏み台サーバーのインストール方法に関する指示に従ってください。
4. 開発環境クラスタを接続する
ヘッダーナビゲーションで管理を選択し、サイドバーメニューでコンピューティングプラットフォームを選択します。
新規接続をクリックします。

この接続に名前を指定し、その他の設定を指定します。
Kubernetes 名前空間 – 開発環境が稼働している Kubernetes 名前空間。名前空間はすでに存在する場合もありますが、そうでない場合は接続時に作成されます。
リレーサーバーと移動サーバー – 前の手順で作成したサーバー。
ここで、ニーズに応じて pod YAML テンプレートを変更することもできます。この設定やその他のコンピューティングプラットフォーム設定について詳しく
保存をクリックすると、接続がリストに追加されます。接続はまだアクティブではないことに注意してください。

接続名をクリックすると詳細が開きます。
接続の詳細ページには、開発環境クラスターに CodeCanvas オペレーターをインストールするために使用するスニペットが表示されます。オペレーターは CodeCanvas アプリケーションと通信し、開発環境クラスター内のワーカー pods を起動 / 停止します。
CodeCanvas アプリケーションとオペレーターが相互に通信するには、キーペアが必要です。公開鍵は CodeCanvas に保存され、秘密鍵はオペレーターによって使用されます。
キーペアを生成するには、キーを生成するをクリックします。秘密鍵は自動的にスニペットに追加されます。
(オプション)スニペットを更新して、デフォルトのネットワークポリシーを変更します。デフォルトでは、開発環境へのすべての受信トラフィック(開発環境間のトラフィックを含む)がブロックされ、すべての送信トラフィックが許可されます。ネットワークポリシーを変更する方法を学ぶ
スニペットをクリップボードにコピーします。
スニペットを実行して、開発環境クラスターに適用します。スニペットはクラスターを構成し、オペレーターをインストールします。
接続のテストをクリックし、すべてのチェックが成功していることを確認します。

関連ページ:
アーキテクチャー
CodeCanvas は、スケーラビリティと信頼性を重視し、Kubernetes クラスターへのデプロイ向けに設計されています。Amazon EKS、Azure AKS、Google GKE などの主要なクラウドプロバイダーへのインストールを想定しています。オンプレミスインフラストラクチャのサポートも予定されています。クラスター:典型的な CodeCanvas インストールは、CodeCanvas アプリケーションクラスターと任意の数の開発環境クラスターで構成されます。CodeCanvas ク...
Sysbox 構成
CodeCanvas では、開発環境は Kubernetes pod コンテナー内で実行されるワーカーアプリケーションによって管理されます。このアプリケーションは Docker デーモンを使用して、ネストされたコンテナー内で開発環境を起動します。このモデルは Docker-in-Docker と呼ばれます。Docker-in-Docker モデルでは、ワーカーアプリケーションにホストシステムに対する追加の権限(ホストのデバイスやファイルシステムへのアクセスなど)が必要です。これらの権限を付与する...
ライセンスの有効化
CodeCanvas 製品ライセンス:現在、CodeCanvas ライセンスは、JetBrains のセールス部門に連絡するか、JetBrains アカウント経由で購入することで取得できます。使用量の計算方法 CodeCanvas の使用量は、1 日のアクティブユーザー数(1 日中に少なくとも 1 つの開発環境を起動したユーザー)に基づいて計算されます。1 日のユーザー数の上限は、CodeCanvas ライセンスによって決まります。ライセンスにはいつでもユーザーを追加できます。なお、ライセンスで...
コンピューティングプラットフォーム
コンピューティングプラットフォームは、ユーザー開発環境を実行するために使用されるインフラストラクチャを定義します。これは、特定の Kubernetes オペレーター、移動サーバー、リレーサーバーによって管理される開発環境クラスタで構成される構成エンティティです。コンピューティングプラットフォームのコンセプトは、CodeCanvas インストールのマルチリージョン性に対応しており、これらのコンポーネントの配置はエンドユーザーエクスペリエンスにとって非常に重要です。たとえば、エンドユーザーに近いリージ...