コンテナランナーのインストール (Kubernetes)

1+ year ago1 min read
Last updated • Read time
クラウド
This document is applicable to CircleCI クラウド

CircleCI のコンテナランナーをインストールする方法についてこのドキュメントでわかりやすく説明します。

前提条件

コンテナランナーをインストールしてジョブを実行するには、ルートアクセスおよび以下の設定とインストールが必要です。

  • Kubernetes 1.25+

  • Helm 3.x

  • 他のワークロードがない状態の Kubernetes 名前空間

  • checkout ステップで、SSH でチェックアウトするように Git が設定されていること。使用する場合は、 port 22 からのアウトバウンド接続を許可するようにクラスタが設定されていることを確認してください。

  • コマンドラインからランナーをインストールする場合は、 CircleCI CLIを使用します。

セルフホストランナーの利用条件

Web アプリを介してマシンランナーをインストールする前に、 CircleCI ランナー規約 に同意する必要があります。 CircleCI Web アプリセルフホストランナー のセクションにアクセスするには、組織の管理者が Organization Settings > Self-Hosted Runners に行き、規約に同意する必要があります。

Runner terms and conditions

規約に同意すると、Self-Hosted Runners はサイドナビゲーションバーに常に表示されるようになります。

CircleCI は、組織の VCS 権限をミラーリングします。 組織の VCS の管理者が、CircleCI の管理者です。 不明な場合は、VCS の 管理者の権限を確認してください。

1. ネームスペースとリソースクラスの作成

セルフホストランナーをインストールするには、名前空間とリソースクラストークンを作成する必要があります。 リソース クラスとトークンを作成するには、VCS プロバイダーの組織管理者権限を持っている必要があります。 名前空間やリソースクラスについては、 コンセプト のページを参照してください。

お客様のランナーは、インベントリのページの左にあるナビゲーションバーで Self-Hosted Runners をクリックするとご覧いただけます。

  1. CircleCI Web アプリ で、Self-Hostd Runners に移動します。

    Runner set up
  2. 組織でセルフホストランナーを初めて使用する場合、ファーストステップとしてまず名前空間を作成する必要があります。 作成できる名前空間は、各組織につき 1 つのみです。 必須ではありませんが、 CircleCI のアカウント名を小文字で使用することを推奨します。 CircleCI は UI でデフォルトで推奨される名前空間として組織名を入力します。

    もし、お客様の組織が既に Orb を使用しているのであれば、新しい名前空間を作らないでください。 その代わりに、お客様の組織が Orb に使用している名前空間を入力してください。

  3. 2つ目の入力フィールドには、セルフホスト・ランナー・リソース・クラスの名前を入力します。

    Runner set up
  4. リソースクラストークンをコピーし保存します。 セルフホストランナーはこのトークンを使って関連するリソースクラスの作業を要求します。

    Runner set up
  5. Select the Container tab for installation instructions specific to container runner. These instructions are also included in the next section of this installation guide.

    Container runner in the web app
    Figure 1. Web アプリによるコンテナランナーのインストール
  6. 新しいリソースクラスの設定コードが提供されます。 既存の .circleci/config.yml がある場合は、既存の jobs セクションの下に新しいリソースクラスを追加してください。既存のファイルがない場合は、 jobs セクション全体を追加します。 既存の .circleci/config.yml ファイルがない場合は、ファイルを作成し、すべてのコードをコピーします。

    Runner set up

2. コンテナランナー インストール

  1. 以下のコマンドを実行して、コンテナランナー Helm のレポジトリを追加します:

    helm repo add container-agent https://packagecloud.io/circleci/container-agent/helm
  2. 次に以下を実行します:

    helm repo update
  3. 次に、以下のコマンドを実行し、circleci Kubernetes namespaceを作成します:

    kubectl create namespace circleci
  4. values.yaml ファイルという以下を含むファイルを作成します。

    agent:
      resourceClasses:
        namespace/my-rc:
          token: <resource_class_token>
  5. 最後に、以下のコマンドを実行します:

    helm install container-agent container-agent/container-agent -n circleci -f values.yaml

コンテナランナーの設定例

クラスタにコンテナランナーをインストールしたら、Docker Executor を使ってインストールを検証する CircleCI ジョブを作成し、トリガーします。 コンテナランナーを使って実行する特定のジョブについて、以下のフィールドを設定する必要があります。

  • image:

  • resource_class: <namespace>/<resource-class>

以下は、ジョブ設定のシンプルなコード例です (cimg/base:2021.11 は、よく使用される CircleCI の Docker イメージです)。

version: 2.1

jobs:
  build:
    docker:
      - image: cimg/base:2021.11
    resource_class: <namespace>/<resource-class>
    steps:
      - checkout
      - run: echo "Hi I'm on Runners!"

workflows:
  build-workflow:
    jobs:
      - build

トラブルシューティング

セルフホストランナーのトラブルシューティングガイドの コンテナランナーのトラブルシューティングのセクション を参照してください。