無料でビルドを開始
CircleCI.comアカデミーブログコミュニティサポート

オペレーターの概要

10 months ago1 min read
Server v4.1
サーバー管理者
このページの内容
  • 実行環境
  • Nomad クライアント
  • GitHub
  • 次のステップ

このガイドでは、CircleCI Server x の保守や監視を行う CircleCI Server のオペレーターの皆さんに役立つ情報を紹介します。 このオペレーター向けガイドを読む前に、必ず CircleCI Server v4.x の概要をお読みください。

CircleCI Server では、 Nomad スケジューラを使用して CI/CD ジョブのスケジュールを設定します。 Nomad サーバー (コントロールプレーン) が Kubernetes クラスタ内で動作するのに対し、Nomad クライアントはクラスタ外部にプロビジョニングされます。 Nomad クライアントが、Nomad コントロールプレーン、出力プロセッサ、VM サービスにアクセスできる必要があります。

CircleCI Server では、Nomad クライアントまたは専用の仮想マシンで Docker ジョブを実行できます。 これらの VM ジョブは Nomad クライアントによって制御されます。そのため Nomad クライアントは、SSH 接続用にポート 22、 リモート Docker ジョブ用にポート 2376 で VM にアクセスできる必要があります。

ジョブのアーティファクトと出力は、Nomad ジョブからオブジェクトストレージ (S3、GCS、またはその他のサポートされているオプション) に直接送信されます。

オブジェクトストレージには、監査ログやアプリケーションのその他のアイテムも保存されます。そのため、Kubernetes クラスタと Nomad クライアントの両方がオブジェクトストレージにアクセスできる必要があります。

実行環境

CircleCI Server v4.x では、プライマリジョブスケジューラとして Nomad を使用します。 ジョブスケジューラ、およびクライアントとクラスタの基本的な操作方法については、 Nomad クラスタの操作ガイド を参照してください。

CircleCI の Nomad クライアントは、プロジェクトの .circleci/config.yml ファイルでジョブごとに設定されている Executor に従って、コンピューティングリソースを自動的にプロビジョニングします。

Nomad クライアント

Nomadクライアントは実行後に状態を保持しないため、必要に応じてコンテナ数を増減することができます。

ジョブのリソースクラスで必要なリソースが Nomad クライアントのインスタンスタイプで利用可能な量を超える場合、ジョブは保留状態のままになります。 Nomad クライアントのインスタンスタイプを小さいものにするとコストを削減できますが、使用できる Docker リソースクラスが制限されます。 利用可能なリソースクラスを参照して、最適なものをお選びください。 デフォルトのインスタンスタイプでは、最大で xlarge のリソースクラスを実行できます。

Nomad クライアントのリソースを最適に使用するためのオプションについては、 Nomad ドキュメントを参照してください。

Nomad ポートの要件に関する詳細は、 クラスタのハードニングを参照してください。

GitHub

CircleCI では、GitHub または GitHub Enterprise を ID プロバイダーとして使用しています。 また GitHub Enterprise では代わりに、 SAML または SCIM を使って、外部の ID プロバイダーでユーザーを管理することができます。

以下の表に、GitHub を実行するマシンでサービス および Nomad クライアントインスタンスと通信する際に使用されるポートを示します。

ソースポート用途

サービス

22

Git access

サービス

80 or 443

API access

Nomad Client

22

Git access

Nomad Client

80 or 443

API access

次のステップ


Suggest an edit to this page

Make a contribution
Learn how to contribute