Amazon EKS へのシングルクラスタインストール (Helm)
このガイドでは、Helm チャートを使用して、AWS EKS (Elastic Kubernetes Service) でホストされている Kubernetes クラスターに CodeCanvas アプリケーションをインストールする方法について説明します。
単一クラスタインストールは、CodeCanvas アプリケーションと開発環境インフラストラクチャが単一の Kubernetes クラスタにデプロイされることを意味します。詳細
I: インストール前の手順
CodeCanvas をインストールする前に、次の前提条件を満たしてください。
1. PostgreSQL データベースをセットアップする
CodeCanvas では、CodeCanvas アプリケーションデータ用に PostgreSQL データベースが必要です。
PostgreSQL サーバーをインストールします(バージョン 12.2 – 15.12 がサポートされています)。サーバーは CodeCanvas アプリケーションクラスターからアクセスできる必要があります。たとえば、同じクラスター内にサーバーと同じ pod を作成できます。
CodeCanvas アプリケーション専用のデータベースを作成します。
インストールを続行する前に、データベースサーバーが起動して実行されていることを確認してください。
2. AWS S3 バケットを作成する
CodeCanvas とユーザーデータを保存するための AWS S3 バケットを作成します。
3. CodeCanvas アプリケーションクラスターを準備する
CodeCanvas アプリケーションクラスターは、CodeCanvas アプリケーションと関連サービスをホストします。CodeCanvas アーキテクチャの詳細
Amazon EKS クラスター
次の要件を満たす CodeCanvas アプリケーション用の Amazon EKS クラスターをセットアップします。
要件
説明
Helm
バージョン 3.8.0 以降
Kubernetes
バージョン 1.29 以降
CodeCanvas アプリケーションノード
CodeCanvas アプリケーションとメインコンポーネントを実行するノード。
Linux OS (x86_64) を搭載したノードが 4 つ以上。推奨最小リソース: CPU コア 4 個、メモリ 8GB
開発環境ノード
開発環境用のワーカー pods を実行するノード。
開発環境を実行するのに十分なノード(それぞれ 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、aws-nodeなどのシステムタスクのために各ノードのリソースの一部を必要とします。Kubernetes システムタスク用に、ノードごとに約 0.2 vCPU と 1 ~ 2GB のメモリを予約する必要があります。正確な値はインストールによって異なります。実際のノードリソース使用量を確認するには、kubectl describe node <node-name>を実行してください。ノード割り当て戦略を選択する
1 つのノード – 1 つの開発環境
1 つのノード(AWS インスタンス)は、1 つの開発環境(ワーカー、pod)のみをホストします。この例では、60 個の開発環境(たとえば、
m5.xlargeインスタンス(それぞれ 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 つのノード(AWS インスタンス)が複数の開発環境(ワーカー、pods)をホストしています。60 の開発環境(合計 240 個の vCPU、960GB のメモリ)の例では、この負荷を
m5.16xlarge(64 個の vCPU、256GB のメモリ)やm5.12xlarge(48 個の vCPU、192GB のメモリ)など、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 をすぐに起動できます。
(+) 潜在的なコスト削減: 少数の大規模インスタンスを使用する方が、多数の小規模インスタンスを使用するよりもコスト効率が高く(数倍安価)、コスト削減につながります。ただし、これはリソース使用量をどれだけ正確に予測できるか、開発環境をノードにどれだけ効率的に配置できるかに左右されます。
Amazon インスタンスタイプを選択する
AWS インスタンスタイプを比較して選択するには、公式の AWS ドキュメント(英語)を使用します。
t、-series インスタンス(例:t3、t4g)は持続的なパフォーマンスを想定して設計されていないため、使用を避けてください。代わりに、mやcシリーズなど、パフォーマンスレベルが固定されたインスタンスの使用を検討してください。
名前空間
CodeCanvas アプリケーション専用の名前空間を作成します (
NAMESPACE_PLACEHOLDERを実際の名前空間名に置き換えます)。kubectl create namespace NAMESPACE_PLACEHOLDERIngress コントローラー
Kubernetes のセットアップと互換性のある Ingress コントローラーをインストールします。このガイドでは、ingress-nginx(英語) コントローラーを使用します。
CSI ドライバー
ebs.csi.aws.comCSI ドライバをクラスタにインストールします。インストール手順については、AWS ドキュメント(英語)を参照してください。CodeCanvas の CSI について詳しく見るCSI スナップショットコントローラー
Kubernetes スナップショット操作を有効にするには、クラスターに CSI スナップショットコントローラーをインストールします。AWS マネージドアドオンを使用するか、手動でインストールできます。
ストレージクラス
開発環境で使用する永続ボリュームをプロビジョニングするための Kubernetes
StorageClassを作成します。以下の推奨構成を使用することも、パフォーマンスやコストの好みに応じて独自の構成を定義することもできます。推奨構成では、16,000 IOPS と 750 MB/ 秒のスループットを備えた AWSgp3ボリュームを使用し、開発環境のパフォーマンスを保証します。開発環境クラスターには複数のストレージクラスを設定できます。インスタンスタイプを作成する際に、利用可能なストレージクラスから選択できます。
storage-class.yamlファイルを作成し、以下のスニペットをコピーします。apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: codecanvas-storage # You can change this name mountOptions: - debug parameters: type: gp3 iops: "16000" throughput: "750" provisioner: ebs.csi.aws.com allowVolumeExpansion: true reclaimPolicy: Delete volumeBindingMode: WaitForFirstConsumer構成をクラスターに適用します。
kubectl apply -f storage-class.yaml
ボリュームスナップショットクラス
Kubernetes
VolumeSnapshotClassを作成して、開発環境で使用される永続ボリュームのスナップショットサポートを有効にします。以下の推奨ボリュームスナップショットクラス構成をご利用いただけます。開発環境クラスターには複数のボリュームスナップショットクラスを設定できます。インスタンスタイプを作成する際に、利用可能なクラスから選択できます。
snapshot-class.yamlファイルを作成し、以下のスニペットをコピーします。apiVersion: snapshot.storage.k8s.io/v1 kind: VolumeSnapshotClass metadata: name: codecanvas-volume-snapshot # You can change this name driver: ebs.csi.aws.com deletionPolicy: Delete構成をクラスターに適用します。
kubectl apply -f snapshot-class.yaml
CSI スナップショット検証 Webhook
Kubernetes スナップショット検証を実装する CSI ドライバーのアドオンをインストールします。手順については、Kubernetes のドキュメント(英語)を参照してください。v6.2.2 でテスト済みです。
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(Kubernetes オペレーター用)を提供するサブドメイン。これは通常、開発環境 pods からのみアクセスされる内部ドメインです。gateway.EXTERNAL_DOMAIN_PLACEHOLDER–gateway-relayサービス(リレーサーバー)を提供します。これは、ユーザーの IDE クライアントがアクセスする外部ドメインです。ssh.EXTERNAL_DOMAIN_PLACEHOLDER–jump-serverサービス(移動サーバー)の SSH サービスを提供します。これは、ユーザーの IDE クライアントがアクセスする外部ドメインです。
5. IAM ロールと権限を設定する
CodeCanvas に AWS のストレージバケットへのアクセスを許可するには、静的認証情報またはサービスアカウントの IAM ロール (IRSA) のいずれかを使用できます。IRSA の使用をお勧めします。
CodeCanvas アプリケーションサービスアカウントに IRSA ロールを設定します。CodeCanvas にはバケットへの書き込み権限が必要です。IRSA の設定方法の詳細については、AWS ドキュメント(英語)を参照してください。
6. (オプション)SMTP サーバーを構成する
CodeCanvas は、ユーザー作成時の招待リンク、メール認証、その他の通知など、様々なメールをユーザーに送信するために SMTP サーバーを使用します。この機能を有効にするには、CodeCanvas アプリケーションクラスターからアクセスできる SMTP サーバーを用意してください。
II: CodeCanvas をインストールする
1. custom.values.yaml を作成する
custom.values.yaml を作成し、以下のスニペットをコピーしてください。プレースホルダーは次の手順で実際の値に置き換えます。
2. CodeCanvas アプリケーションに AWS IRSA ロールを割り当てる
custom.values.yaml で、CODECANVAS_IRSA_ARN を、CodeCanvas アプリケーションが使用する AWS IRSA ロールの実際の ARN に置き換えます。
3. 外部ドメインを指定
custom.values.yaml では、すべての EXTERNAL_DOMAIN_PLACEHOLDER プレースホルダーを CodeCanvas インスタンスに登録したドメイン名に置き換えます。
4. cert-manager を設定する
custom.values.yaml では、すべての CERT_MANAGER_NAME_PLACEHOLDER プレースホルダーをクラスターで使用されている cert-manager(英語) の名前に置き換えます。
5. データベース設定を指定する
CodeCanvas をインストールすると、外部の PostgreSQL データベースを使用することになります。任意の PostgreSQL データベースを使用できますが、Amazon RDS の使用をお勧めします。
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. オブジェクトストレージ設定を指定する
このインストールでは、ユーザーデータを保存するために AWS S3 バケットを使用することを意味します。
CodeCanvas が S3 オブジェクトストレージにアクセスすることを承認するには、静的認証情報を使用するか、サービスアカウントの IAM ロール (IRSA) を使用するかのいずれかの方法で承認する必要があります。IRSA の使用をお勧めします。
custom.values.yaml で、次のプレースホルダーを置き換えます。
CODECANVAS_OBJECT_STORAGE_REGION_PLACEHOLDERはバケットが配置されている AWS リージョンです (例:eu-west-1)CodeCanvas 用に作成された S3 バケットの名前を持つ
CODECANVAS_OBJECT_STORAGE_BUCKET_PLACEHOLDER
静的認証情報を使用して S3 オブジェクトストレージで認証を設定するには、オブジェクトストレージシークレットを作成し、ユーザー名とパスワードを指定する必要があります。
custom.values.yamlで、次のセクションを置き換えます。secret: objectStorage: type: aws region: "CODECANVAS_OBJECT_STORAGE_REGION_PLACEHOLDER" bucket: "CODECANVAS_OBJECT_STORAGE_BUCKET_PLACEHOLDER"with
secret: objectStorage: type: aws existingSecretName: "STORAGE_SECRET_NAME_PLACEHOLDER"STORAGE_SECRET_NAME_PLACEHOLDERを、作成されるシークレットの名前に置き換えます。例:codecanvas-objectstorage-secret-extobject-storage-secret.yamlファイルを作成し、以下のスニペットをコピーします。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_REGION: "CODECANVAS_OBJECT_STORAGE_REGION_PLACEHOLDER"次のプレースホルダーを置き換えます。
STORAGE_SECRET_NAME_PLACEHOLDERは、作成するシークレットの名前です。先ほど指定したcustom.values.yamlの名前と一致する必要があります。例:codecanvas-objectstorage-secret-extKubernetes 名前空間での
NAMESPACE_PLACEHOLDERAWS アクセスキーを持つ
CODECANVAS_OBJECT_STORAGE_ACCESS_KEY_PLACEHOLDERAWS 秘密鍵を持つ
CODECANVAS_OBJECT_STORAGE_SECRET_KEY_PLACEHOLDERCodeCanvas 用に作成された S3 バケットの名前を持つ
CODECANVAS_OBJECT_STORAGE_BUCKET_PLACEHOLDERCODECANVAS_OBJECT_STORAGE_REGION_PLACEHOLDERはバケットが配置されている AWS リージョンです (例:eu-west-1)
実行:
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 サービスアカウントを指定する
アプリケーションクラスタにサービスアカウントを設定し、そのサービスアカウント名を Helm リリース名とは別のものにしたいとします。その場合、CodeCanvas Helm チャートが作成する Kubernetes サービスアカウントに特定の名前を指定する必要があるかもしれません。手順は以下のとおりです。
custom.values.yamlの対応するセクションに次のパラメーターを追加します。application: serviceAccount: name: "CODECANVAS_KSA_NAME"CODECANVAS_KSA_NAMEをサービスアカウントの希望の名前に置き換えます。
11. (オプション) Sysbox コンテナーランタイムを構成する
デフォルトでは、CodeCanvas はワーカーコンテナーを --privileged モードで実行します(コンテナーはホストノード上でルート権限を持ちます)。セキュリティ上の理由からこれを回避したい場合は、こちらの説明に従って Sysbox Container Runtime をインストールしてください。
12. コンピューティングプラットフォームを構成する
CodeCanvas におけるコンピューティングプラットフォームは、開発環境を実行するインフラストラクチャを表します。これは、CodeCanvas オペレーター、Relay、踏み台サーバーを含む Kubernetes クラスターで構成されます。
リレーサーバー – ユーザーマシン上の JetBrains Client と開発環境(SSL/TLS 経由)間の中継。リレーがなければ、JetBrains IDE を開発環境で使用することはできません。
移動サーバー – 開発環境の SSH デーモンとユーザーマシン間の間接 SSH 接続のための中間サーバー。移動サーバーがないと、ユーザーは SSH を使用して開発環境に接続したり、リモート開発に VS Code/Cursor を使用したりすることができません。
CodeCanvas 演算子 –ワーカーインスタンス (開発環境を実行する pods) のライフサイクルを管理します。Kubernetes API と対話して、ワーカーインスタンスを作成、監視、削除します。
12.1 インストールの詳細を理解する
単一クラスターインストールでは、すべてのコンピューティングプラットフォームコンポーネントが、CodeCanvas アプリケーション (アプリケーションクラスター) をホストする同じ Kubernetes クラスターにデプロイされます。
必要に応じて、後で別のクラスターにコンピューティングプラットフォームを追加できます(例: 複数のリージョンをサポートしたり、キャパシティを増やしたりする場合)。その方法については、V: (オプション)追加のコンピューティングプラットフォームを構成するセクションでご確認ください。
インストールの詳細:
コンポーネント (オペレーター、リレー、移動サーバー) は、別の
codecanvas-rde名前空間 (自動的に作成) にインストールされます。これらのコンポーネントに必要なキーはすべて自動的に生成されます。この動作を有効にするには、
custom.values.yamlに以下の要件が満たされていることを確認してください。global: generateSecretsExperimental: true
12.2 ストレージクラスを指定する
開発環境では永続ボリュームとボリュームスナップショットが使用されます。これらのリソースは、Kubernetes StorageClass および VolumeSnapshotClass オブジェクトを使用して管理されます。
custom.values.yaml の WORKER_STORAGE_CLASS_NAME_PLACEHOLDER を、先ほど作成したストレージクラス名に置き換えます。
12.3 ボリュームスナップショットクラスを指定する
custom.values.yaml の WORKER_VOLUME_SNAPSHOT_CLASS_NAME_PLACEHOLDER を、先ほど作成したボリュームスナップショットクラス名に置き換えます。
12.4 (オプション)デフォルトのネットワークポリシーをカスタマイズする
デフォルトでは、CodeCanvas はセキュリティを強化するために開発環境間のネットワークアクセスを制限します。
すべての受信トラフィックがブロックされます (開発環境間のトラフィックを含む)。
すべての送信トラフィックが許可されます。
この動作は、Helm チャート構成でネットワークポリシーをカスタマイズすることで変更できます。
13. ライセンス契約に同意する
custom.values.yaml では、ACCEPTANCE_PLACEHOLDER を true に置き換えて、CodeCanvas ライセンス契約(英語)を明示的に受け入れます。
14. CodeCanvas チャートをインストールする
custom.values.yaml にパラメータープレースホルダーが残っていないことを確認してください。すべてが正しく入力されている場合は、以下を実行してください。
ここに:
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 オペレーター、Relay、踏み台サーバーを含む)をデプロイしました。このセットアップにより、すぐに開発環境を実行できます。
ただし、組織が成長したり、他の地域の開発者をサポートする必要がある場合は、コンピューティングプラットフォームを追加することでインフラストラクチャを拡張できます。やり方を学ぶ
VI: インストール後の手順
インストールの検証とコンピューティングプラットフォームへの接続が正常に完了したら、CodeCanvas インスタンスの構成(開発環境インスタンスタイプの作成、ユーザーや名前空間の追加など)に進むことができます。
関連ページ:
インストール
クイックインストール AWS CloudFormation を使用して 10 分で CodeCanvas をデプロイします。インストールを起動する (AWS アカウントが必要です)、インストール手順に従ってください、CodeCanvas は、Kubernetes クラスター内のオンプレミスデプロイ向けに設計されています。サポートされる Kubernetes の最小バージョンは 1.29 です。サポートされているクラウドプロバイダー:現在、CodeCanvas は次の場所でホストされている Kube...
アーキテクチャー
CodeCanvas は、スケーラビリティと信頼性を重視し、Kubernetes クラスターへのデプロイ向けに設計されています。Amazon EKS、Azure AKS、Google GKE などの主要なクラウドプロバイダーへのインストールを想定しています。オンプレミスインフラストラクチャのサポートも予定されています。クラスター:典型的な CodeCanvas インストールは、CodeCanvas アプリケーションクラスターと任意の数の開発環境クラスターで構成されます。CodeCanvas ク...
オートスケーラーの設定
CodeCanvas は新しい開発環境ごとにワーカーまたは pod を作成します。開発環境クラスタにこれらの pods を起動するのに十分なリソースがあることが不可欠です。これは、固定ノードプールを使用するか、オートスケーラーを備えたノードプールを使用することで実現できます。オートスケーラーを使用するメリットは次のとおりです。自動スケーリング: オートスケーラーは、現在の負荷に基づいてノードを追加または削除できます。リソース効率: 負荷が低い場合、オートスケーラーは最小サイズにスケールダウンしてコ...
ライセンスの有効化
CodeCanvas 製品ライセンス:現在、CodeCanvas ライセンスは、JetBrains のセールス部門に連絡するか、JetBrains アカウント経由で購入することで取得できます。使用量の計算方法 CodeCanvas の使用量は、1 日のアクティブユーザー数(1 日中に少なくとも 1 つの開発環境を起動したユーザー)に基づいて計算されます。1 日のユーザー数の上限は、CodeCanvas ライセンスによって決まります。ライセンスにはいつでもユーザーを追加できます。なお、ライセンスで...
コンピューティングプラットフォーム
コンピューティングプラットフォームは、ユーザー開発環境を実行するために使用されるインフラストラクチャを定義します。これは、特定の Kubernetes オペレーター、移動サーバー、リレーサーバーによって管理される開発環境クラスタで構成される構成エンティティです。コンピューティングプラットフォームのコンセプトは、CodeCanvas インストールのマルチリージョン性に対応しており、これらのコンポーネントの配置はエンドユーザーエクスペリエンスにとって非常に重要です。たとえば、エンドユーザーに近いリージ...
CodeCanvas を構成する
このガイドは、システム管理者 (組織内の CodeCanvas インスタンスの設定と管理を担当するシステム管理者ロールを持つユーザー) を対象としています。システム管理者は、プラットフォームのインストールとアクティベート、認証の設定、開発環境のコンピューティングリソースの定義、グローバル設定の管理などを行います。CodeCanvas インスタンスを準備しましょう !1. CodeCanvas インスタンスをアクティブ化する:ブラウザーで、インストール時に指定した CodeCanvas URL...