Google Kubernetes Engineインストール
Google Kubernetes EngineにAnalyzerをインストールする
前提条件
- Kubernetesクラスターを作成および管理する権限を持つGCPアカウントを所有していること。
- Kubernetes APIがアクティブなGCPプロジェクトがあること。
kubectl、gcloud、helmがインストールされたマシンがあること。
必要なツールのインストール
クラスターを管理するために使用するマシンまたはVMで:
kubectlをインストールする。公式のKubernetesドキュメントに従ってください。gcloudをインストールする。GCPドキュメントに従ってください。helmをインストールする。公式のHelmドキュメントに従ってください。
Helmチャートのダウンロード
helmチャートは以下のコマンドでダウンロードできます:
wget https://api.latence.ca/software/k8s-analyzer.zip
クラスターの作成
- Kubernetes APIがアクティブになり、クラスターを作成および管理するために必要な権限を持っている場合、クラスターを作成します。
- プロジェクトページで、Kubernetes Engineをクリックします。
- Clustersタブに移動したら、CreateをクリックしてStandardクラスターを選択します。
- Cluster basicsセクションで、アナライザーに名前を付けます。
- default poolをクリックし、ノード数を1に設定し、Enable cluster autoscalerボックスにチェックを入れます。
- ページの下部で、Minimum number of nodesを1に、Maximum number of nodesを2に設定します。
- 左側のNodesタブをクリックし、イメージタイプをContainer-Optimized OS with containerdからUbuntu with containerdに変更します。
- Machine configurationセクションで、前提条件と想定事項に記載されているアナライザーをホストするための要件に合わせてマシンタイプを設定します。
- アナライザーが正常に動作するために必要な、ブートディスクサイズを20GBに設定します。
- アプリケーションが安定性の低い環境に対応できる場合は、Enable nodes on spot VMsを選択します。これはデモ/テスト環境であるため、ボックスにチェックを入れることができます。これにより、クラスターのコストも削減されます。
- 左側のAutomationタブで、Enable vertical Pod autoscalingを選択します。
- 最後にCreateをクリックして、クラスターがセットアップされるまで待ちます。
Analyzerのインストール
ターミナルで次のコマンドを使用して、クラスターにリモート接続できます:
gcloud container clusters get-credentials <cluster-name> --zone <cluster-zone> --project <project-name>
- 次のコマンドを入力して、クラスターの実行中のコンポーネントを確認できます:
kubectl get all
values.yamlファイルで1つのパラメータを変更する必要があります:
1) Latencetechのライセンス。
- ライセンスを設定します。
- ライセンスを設定したら、次のコマンドを実行してアナライザーをインストールできます:
helm install analyzer k8s-analyzer/
- すべてのサービスとポッドがデプロイされるまで60秒待ちます。
- 次のコマンドを実行して、デプロイメントのステータスを確認できます:
kubectl get all
- 完了したら、次のコマンドを実行して、アナライザーがデプロイされた外部IPアドレスを取得できます:
kubectl get svc
values.yamlからロードバランサーを有効にした場合、2つの外部アドレスが取得されます:
- GrafanaとInfluxdb用
- Kafka用で、qos-agent設定で使用する必要があります
API
APIが機能しない場合は、configmapを削除して再起動します
kubectl delete cm org-config
helm uninstall analyzer k8s-analyzer/
helm install analyzer k8s-analyzer/
APIキーを取得するには、次のコマンドでlatencetech_apiコンテナのログを確認できます:
kubectl logs <pod ID>
Google Kubernetes EngineにAgentをインストールする
前提条件
- Kubernetesクラスターを作成および管理する権限を持つGCPアカウントを所有していること。
- Kubernetes APIがアクティブなGCPプロジェクトがあること。
kubectl、gcloud、helmがインストールされたマシンがあること。
必要なツールのインストール
クラスターを管理するために使用するマシンまたはVMで:
kubectlをインストールする。公式のKubernetesドキュメントに従ってください。gcloudをインストールする。GCPドキュメントに従ってください。helmをインストールする。公式のHelmドキュメントに従ってください。
Helmチャートのダウンロード
helmチャートは以下のコマンドでダウンロードできます:
wget https://api.latence.ca/software/k8s-agent.zip
クラスターの作成
- Kubernetes APIがアクティブになり、クラスターを作成および管理するために必要な権限を持っている場合、クラスターを作成します。
- プロジェクトページで、Kubernetes Engineをクリックします。
- Clustersタブに移動したら、CreateをクリックしてStandardクラスターを選択します。
- Cluster basicsセクションで、アナライザーに名前を付けます。
- default poolをクリックし、ノード数を1に設定し、Enable cluster autoscalerボックスにチェックを入れます。
- ページの下部で、Minimum number of nodesを1に、Maximum number of nodesを3に設定します。
- 左側のNodesタブをクリックし、イメージタイプをContainer-Optimized OS with containerdからUbuntu with containerdに変更します。
- Machine configurationセクションで、前提条件と想定事項に記載されているアナライザーをホストするための要件に合わせてマシンタイプを設定します。
- アナライザーが正常に動作するために必要な、ブートディスクサイズを10GBに設定します。
- アプリケーションが安定性の低い環境に対応できる場合は、Enable nodes on spot VMsを選択します。これはデモ/テスト環境であるため、ボックスにチェックを入れることができます。これにより、クラスターのコストも削減されます。
- 左側のAutomationタブで、Enable vertical Pod autoscalingを選択します。
- 最後にCreateをクリックして、クラスターがセットアップされるまで待ちます。
Agentのインストール
ターミナルで次のコマンドを使用して、クラスターにリモート接続できます:
gcloud container clusters get-credentials <cluster-name> --zone <cluster-zone> --project <project-name>
- 次のコマンドを入力して、クラスターの実行中のコンポーネントを確認できます:
kubectl get all
values.yamlファイルで4つのパラメータを変更する必要があります:
1) Latencetechのライセンス。
2) Reflector IP。
3) Analyzer IP。
4) Agent ID。
5) Customer ID(整数)。
- ライセンスを設定します。
- 以下のパラメータを設定します。
# Agent環境変数
agent:
LTI_agent_id: "TO-BE-SET"
LTI_customer_id: "TO-BE-SET"
LTI_reflector: "TO-BE-SET"
ANALYZER_IP: "TO-BE-SET"
- 次のセクションでqos-agentに属する他のパラメータを変更できます。
- すべてのパラメータが設定されたら、次のコマンドを実行してエージェントをインストールできます:
helm install agent k8s-agent/
- 次のコマンドを実行して、デプロイメントのステータスを確認できます:
kubectl get all
Google Kubernetes EngineにReflectorをインストールする
前提条件
- Kubernetesクラスターを作成および管理する権限を持つGCPアカウントを所有していること。
- Kubernetes APIがアクティブなGCPプロジェクトがあること。
kubectl、gcloud、helmがインストールされたマシンがあること。
必要なツールのインストール
クラスターを管理するために使用するマシンまたはVMで:
kubectlをインストールする。公式のKubernetesドキュメントに従ってください。gcloudをインストールする。GCPドキュメントに従ってください。helmをインストールする。公式のHelmドキュメントに従ってください。
Helmチャートのダウンロード
helmチャートは以下のコマンドでダウンロードできます:
wget https://api.latence.ca/software/k8s-reflector.zip
クラスターの作成
- Kubernetes APIがアクティブになり、クラスターを作成および管理するために必要な権限を持っている場合、クラスターを作成します。
- プロジェクトページで、Kubernetes Engineをクリックします。
- Clustersタブに移動したら、CreateをクリックしてStandardクラスターを選択します。
- Cluster basicsセクションで、アナライザーに名前を付けます。
- default poolをクリックし、ノード数を1に設定し、Enable cluster autoscalerボックスにチェックを入れます。
- ページの下部で、Minimum number of nodesを1に、Maximum number of nodesを3に設定します。
- 左側のNodesタブをクリックし、イメージタイプをContainer-Optimized OS with containerdからUbuntu with containerdに変更します。
- Machine configurationセクションで、前提条件と想定事項に記載されているアナライザーをホストするための要件に合わせてマシンタイプを設定します。
- アナライザーが正常に動作するために必要な、ブートディスクサイズを10GBに設定します。
- アプリケーションが安定性の低い環境に対応できる場合は、Enable nodes on spot VMsを選択します。これはデモ/テスト環境であるため、ボックスにチェックを入れることができます。これにより、クラスターのコストも削減されます。
- 左側のAutomationタブで、Enable vertical Pod autoscalingを選択します。
- 最後にCreateをクリックして、クラスターがセットアップされるまで待ちます。
クラスターの設定
ターミナルで次のコマンドを使用して、クラスターにリモート接続できます:
gcloud container clusters get-credentials <cluster-name> --zone <cluster-zone> --project <project-name>
- 次のコマンドを入力して、クラスターの実行中のコンポーネントを確認できます:
kubectl get all
エージェントがリフレクターと通信できるように、リフレクター用の静的IPを作成する必要があります。2つのロードバランサーが実行されており、これらが同じ外部IPを持つ必要があります。
- GCPアカウントの設定で、VPCネットワーク > IPアドレスセクションに移動します。
- 外部IPアドレスを予約をクリックします。
- 名前を選択し、説明を設定し、インスタンスにアタッチしないでください。Reserveをクリックします。
- これにより、
values.yamlファイルでStatic IPとして設定できるIPアドレスが取得されます。
Reflectorのインストール
values.yamlファイルで3つのパラメータを変更する必要があります:
1) Latencetechのライセンス。
2) Reflector ID。
3) リフレクターの静的IP
- ライセンスを設定します。
- 以下のパラメータを設定します。共通IDは1で、上記の予約されたIPアドレスを静的IPとして使用します。
- すべてのパラメータが設定されたら、次のコマンドを実行してリフレクターをインストールできます:
helm install reflector k8s-reflector/
- 次のコマンドを実行して、デプロイメントのステータスを確認できます:
kubectl get all