5
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

クラウドオーケストレーターのはじめかた

Last updated at Posted at 2021-12-04

この記事は

NTTドコモテクニカルジャーナル Vol.29 No.1 クラウドオーケストレータを活用した複数 Kubernetes 管理の筆者による解説記事です。この記事ではクラウドオーケストレーターを使いはじめるためのインストールとセットアップ方法を紹介します。

クラウドオーケストレーターとは

クラウドオーケストレーターは、複数のクラウドを管理するためのワンストップポータルです。
CMS である Drupal をベースにオープンソースとして公開されているため、どなたでも利用することができます。multi-cloud_0.png

クラウドオーケストレーターを使うメリット

  • クラウドオーケストレーターを使うと、AWSKubernetesOpenStackVMwareTerraform Cloud といったさまざまなクラウドを一元的に管理できます。
  • シングルサインオンや Azure AD (Active Directory) で既存のシステムに統合できます。
  • Kubernetes のリソースの使用状況を分析、最適化し、運用コストを削減します。

インストール

クラウドオーケストレーターをインストールするには、いくつかの方法があります。

以下、3つの方法をそれぞれ説明します。

AWS Marketplace から起動

いちばん簡単な方法です。AWS Marketplace の Cloud Orchestrator から起動してください。

AWS CloudFormation を使う方法

ビデオマニュアル CloudFormation でインストールする方法 をご覧ください。
EC2、ECR、S3、IAM の管理者権限のアカウントが必要です。

  1. テンプレートを起動し、スタックが完了するまで数分待ちます。
  2. クラウドオーケストレーターの自動セットアップスクリプトが実行されます(十数分かかります)。
  3. 進行状況をみるには、サーバーに SSH で接続しログを確認します。
  4. スタック作成が完了したら、Drupal URL をクリックします。

以下の表から、利用環境に合った CloudFormation テンプレートを選択してください。

構成 Apache2 Memached MariaDB VPC CloudFormation テンプレート
EC2 シングルインスタンス Docker Docker Docker 自動作成 cloud_orchestrator_single.yaml
EC2 シングルインスタンス Docker Docker Docker 既存利用 cloud_orchestrator_single_manual_vpc.yaml
EC2+ElastiCache+RDS Docker ElastiCache RDS 自動作成 cloud_orchestrator_full.yaml
EC2+ElastiCache+RDS Docker ElastiCache RDS 既存利用 cloud_orchestrator_full_manual_vpc.yaml
EC2 上の Docker+RDS Docker Docker RDS 既存利用 cloud_orchestrator_docker_rds_manual_vpc.yaml

※ Docker...同一 EC2 インスタンス上の Docker コンテナで実行されます。

PHP Composer によるインストール

ビデオマニュアル Composer でインストールする方法 をご覧ください。

  1. はじめる前に、LAMP スタックと PHP の composer をあらかじめインストール・設定しておきます。

  2. ターミナルを起動し、/var/www ディレクトリに移動します。

    cd /var/www
    
  3. composer でクラウドオーケストレーターをインストールします

    • 最新の Stable バージョンがインストールされます。
    • composer でのインストール中、GitHub の API コールの回数制限でエラーになることがあります。GitHub のこの記事を参考に GitHub のトークンを適切に設定してから上のコマンドを再実行してみてください。
    composer create-project docomoinnovations/cloud_orchestrator
    
  4. composer の実行終了後、ディレクトリ /var/www/cloud_orchestrator/docroot が Cloud Orchestrator が稼働するホストのデフォルトトップページになるように、Apache2 や NGINX などお使いのウェブサーバーを設定します。

  5. ウェブブラウザーを開いて、サイトに移動します。

  6. インストール手順に従ってサイトを設定します。

セットアップ

ここでは、クラウドオーケストレーターで特に Kubernetes を管理するための設定方法を説明します。

Kubernetes の設定

  1. アドミンユーザーを作成するための、以下の内容のマニフェストを作成します。

    vi admin-user.yaml
    
    apiVersion: v1
    kind: ServiceAccount
    metadata:
      name: admin-user
      namespace: kube-system
    ---
    apiVersion: rbac.authorization.k8s.io/v1
    kind: ClusterRoleBinding
    metadata:
      name: admin-user
    roleRef:
      apiGroup: rbac.authorization.k8s.io
      kind: ClusterRole
      name: cluster-admin
    subjects:
    - kind: ServiceAccount
      name: admin-user
      namespace: kube-system
    
  2. マニフェストからアドミンユーザーを作成します。

    kubectl apply -f admin-user.yaml
    
  3. 以下のコマンドを実行し、画面上に表示されるトークンを取得します。

    export POD=$(kubectl -n kube-system get secret | grep admin-user-token | cut -f1 -d' ') && kubectl describe secret ${POD} --namespace kube-system
    

クラウドオーケストレーターの設定

  1. クラウドオーケストレーターにログインします。ログイン
  2. Tour または Cloud service providers メニューから、K8s Cloud Service Provider を追加します。ツアーメニュー192.168.1.240_admin_structure_cloud_config_add.png
  3. API Server のフィールドにマスターノードの API エンドポイント URL、上で作成したアドミンユーザーのトークンを入力し、Save ボタンで保存します。192.168.1.240_admin_structure_cloud_config_add_k8s.png
  4. 以下の画面が表示されれば成功です。192.168.1.240_.png
  5. Cloud service providers メニューからクラスタを選択すると、各種リソースが確認できます。192.168.1.240_clouds_k8s_cluster_1_node(iMac).png

複数の Kubernetes クラスターの管理

上記の手順にしたがって各クラスターのマスターノードの API エンドポイント URLアドミンユーザーのトークンを取得、K8s Cloud service provider をそれぞれ追加することで複数の K8s クラスターを管理できます。

次のステップ

クラウドオーケストレーターをもっと深く知りたい方のために、関連サイトをリストアップしておきます。

5
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?