Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

AKSとTerraformでKubernetesクラスター作成

154 views

Published on

Kubernetesの基礎とAKSとTerraformでKubernetesクラスターを作成するチュートリアルを行ったときにつまづいたポイントをまとめたスライド

Published in: Engineering
  • Be the first to comment

  • Be the first to like this

AKSとTerraformでKubernetesクラスター作成

  1. 1. AKSとTerraformで Kubernetesクラスター作成 2019/06/07 Sato Sato
  2. 2. 現在の開発環境と課題 開発したアプリを小さな単位・短いサイクルでデプロイしたい 大量のアクセスや障害のために大規模な分散環境での実装が一般的に とはいえ、少人数で大規模な分散環境を管理するのは大変 コンテナー技術とコンテナーオーケストレーションツールに脚光
  3. 3. コンテナーとは ハードウェア OS コンテナー管理ソフト コンテナー ・・・ ホストOS上の論理的な区画 その中には実行するのに必要な • ライブラリ • アプリケーション がまとめられている →個別のサーバーのように 使える
  4. 4. わたしとKubernetesとDockerと こんな感じで うまくやってね 了解 指示書の状態を保ちます! わー わー わー
  5. 5. Kubernetesの機能 • 複数サーバーでのコンテナー管理 • コンテナーのデプロイ • コンテナー間のネットワーク管理 • コンテナーの分散管理 • コンテナーの監視 • コンテナーのアップデート • 障害発生時の自動復帰
  6. 6. Azure Kubernetes Service(AKS) クラウド上にKubernetesのクラスターを作成/運用するサービス <特徴> • ビルドツールやCI/CDパイプラインを作成するサービス • Visual StudioなどのIDEとのシームレスな統合 →クラスターのバージョンアップやハードウェアメンテナンスなどの負荷 を軽減してくれる
  7. 7. AKSのチュートリアル 「投票アプリ」をKubernetesで実行するチュートリアル • https://docs.microsoft.com/ja-jp/azure/aks/tutorial- kubernetes-prepare-app このチュートリアルを行うにあたってつまづいた点を以下では紹介
  8. 8. つまづきポイント:サービスプリンシパル サービスプリンシパル:アプリを実行するためのアカウント • Kubernetesクラスターを作成するときに必要 • アカウントが所有者ロールまたはユーザーアクセス管理者ロール だと作成できる • https://docs.microsoft.com/ja-jp/azure/active- directory/develop/howto-create-service-principal-portal#check- azure-subscription-permissions サービスプリンシパルが作成できないときはアカウントが 共同作成者ロールになっていないかを確認
  9. 9. 現状の問題 • インフラ構築のコマンドを1つ1つ実行するのは面倒 • 同じ環境を作成できるようにインフラ構築を共有したい →インフラストラクチャ定義ツールを導入
  10. 10. What is • インフラストラクチャを安全かつ効率的に構築、変更、 およびバージョン管理するためのツール • 以下のようにコードで管理できる • Azureで利用可能
  11. 11. Azureの チュートリアル TerraformとAzure Kubernetes Serviceを用いて Kubernetesクラスターを作成するチュートリアル • https://docs.microsoft.com/ja- jp/azure/terraform/terraform-create-k8s-cluster-with-tf- and-aks このチュートリアルを行うにあたってつまづいた点を以下では紹介
  12. 12. つまづきポイント1:サンプルプログラムのエラー k8s.tfの60行目 を以下のように変更
  13. 13. つまづきポイント2:コンテナーの作成 Terraform 状態を保存するAzure Storageの設定の時に とならず、Falseになる場合はストレージアカウントの作成をする • https://docs.microsoft.com/ja- jp/azure/storage/common/storage-quickstart-create- account?tabs=azure-portal
  14. 14. つまづきポイント3:公開鍵 Azure内にLinux用の公開鍵 を作成していないと、 k8s.tfの36行目で >Error in function call になる で公開鍵を作成すれば解決
  15. 15. Kubernetesクラスター作成結果 • Kubernetes上で3つnodeができた • AutoScalingの設定などをしていないのでnodeを削除しても復活しない • Terraformで設定する方法がGitにあったが、難しくてまだ解読できず・・・ • https://github.com/underguiz/terraform-aks-autoscaler

×