Kubernetesクラスターの作成

すべての新規Civoアカウントには、Civo KubernetesでGitLabインテグレーションを開始するための250ドルのクレジットが付与されます。また、マーケットプレイスアプリを使用して、Civo KubernetesクラスターにGitLabをインストールすることもできます。

Infrastructure as Code(IaC)を使用してCivo Kubernetes上に新しいクラスターを作成する方法を説明します。このプロセスでは、CivoとKubernetesのTerraformプロバイダを使用してCivo Kubernetesクラスタを作成します。Kubernetes用のGitLabエージェントを使用して、クラスターをGitLabに接続します。

前提条件

ステップ

  1. サンプルプロジェクトをインポートします。
  2. Kubernetes用のエージェントを登録します。
  3. プロジェクトを設定します。
  4. クラスターをプロビジョニングします。

サンプルプロジェクトのインポート

Infrastructure as Codeを使ってGitLabからクラスターを作成するには、クラスターを管理するプロジェクトを作成する必要があります。このチュートリアルでは、まずサンプルプロジェクトを作成し、必要に応じて変更します。

まずはURLからサンプルプロジェクトをインポートしましょう。

プロジェクトをインポートするには:

  1. GitLabの左サイドバーで、Searchを選択するか、Searchに移動します。
  2. View all my projects… を選択します。
  3. ページの右側で、新規プロジェクトを選択します。
  4. プロジェクトのインポートを選択します。
  5. URLでリポジトリを選択します。
  6. Git リポジトリの URL にはhttps://gitlab.com/civocloud/gitlab-terraform-civo.git と入力します。
  7. 各項目を入力し、Create projectを選択します。

このプロジェクトでは、以下を提供します:

エージェントの登録

Kubernetes用のGitLabエージェントを作成するには:

  1. 左サイドバーで、Operate > Kubernetes clustersを選択します。
  2. クラスター(エージェント)を接続]を選択します。
  3. Select an agent]ドロップダウンリストから[civo-agent ]を選択し、[Register an agent]を選択します。
  4. GitLabがエージェントの登録トークンを生成します。このシークレットトークンは後で必要になるので、セキュアに保管してください。
  5. GitLabはエージェントサーバーのアドレス(KAS) 、これも後で必要になります。

プロジェクトの設定

CI/CD環境変数を使ってプロジェクトを設定します。

必須の設定です:

  1. 左サイドバーで、Settings > CI/CDを選択します。
  2. 変数]を展開します。
  3. 変数BASE64_CIVO_TOKEN を Civo アカウントのトークンに設定します。
  4. 変数TF_VAR_agent_token に、前のタスクで受け取ったエージェントトークンを設定します。
  5. 変数TF_VAR_kas_address に、前のタスクのエージェントサーバアドレスを設定します。

img/variables_civo.png

オプション設定:

ファイルvariables.tf には、必要に応じて上書きできる他の変数が含まれています:

  • TF_VAR_civo_region:クラスターの地域を設定します。
  • TF_VAR_cluster_name:クラスターの名前を設定します。
  • TF_VAR_cluster_description:クラスターの説明を設定します。Civoクラスタの詳細ページでGitLabプロジェクトへの参照を作成するには、この値を$CI_PROJECT_URL 。 この値は、Civoダッシュボードで表示されるクラスタのプロビジョニングを担当したプロジェクトを特定するのに役立ちます。
  • TF_VAR_target_nodes_size:クラスターに使用するノードのサイズを設定します。
  • TF_VAR_num_target_nodes:Kubernetesのノード数を設定します。
  • TF_VAR_agent_version:GitLabエージェントのバージョンを設定します。
  • TF_VAR_agent_namespace:GitLabエージェントのKubernetesネームスペースを設定します。

その他のリソースオプションについては、Civo Terraformプロバイダーと Kubernetes Terraformプロバイダーのドキュメントを参照してください。

クラスターのプロビジョニング

プロジェクトの設定が終わったら、手動でクラスターのプロビジョニングを開始します。GitLab:

  1. 左サイドバーのBuild > Pipelines に進みます。
  2. Play({play})の横にあるドロップダウンリストアイコン({chevron-lg-down})を選択します。
  3. 手動でデプロイジョブをトリガするには、[デプロイ]を選択します。

パイプラインが正常に終了すると、新しいクラスターが表示されます:

  • Civoダッシュボードで: Kubernetesタブで。
  • GitLabで:プロジェクトのサイドバーから、オペレーション > Kubernetesクラスターを選択します。

クラスターを使う

クラスターをプロビジョニングすると、GitLabに接続され、デプロイの準備が整います。接続を確認するには

  1. 左サイドバーで、Operate > Kubernetes clustersを選択します。
  2. リストで、[Connection status]列を表示します。

接続の機能の詳細については、GitLab agent for Kubernetesのドキュメントを参照してください。

クラスターの削除

クリーンアップジョブはデフォルトではパイプラインに含まれていません。作成されたリソースをすべて削除するには、クリーンアップジョブを実行する前にGitLab CI/CDテンプレートを変更する必要があります。

全てのリソースを削除するには

  1. .gitlab-ci.yml ファイルに以下を追加します:

    stages:
      - init
      - validate
      - build
      - deploy
      - cleanup
       
    destroy:
      extends: .destroy
      needs: []
    
  2. 左サイドバーで、Build > Pipelinesを選択し、最新のパイプラインを選択します。
  3. destroy ジョブの場合は、再生({play}) を選択します。

Civo サポート

このCivoインテグレーションはCivoによってサポートされています。サポートリクエストはCivoサポートまでお送りください。