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

Weitere ähnliche Inhalte

Was ist angesagt?

クラウドを『作る』ってどういうこと?
クラウドを『作る』ってどういうこと?クラウドを『作る』ってどういうこと?
クラウドを『作る』ってどういうこと?Kazuto Kusama
 
いろいろなデバイスでOpenVNetを動かしてみようとした。
いろいろなデバイスでOpenVNetを動かしてみようとした。いろいろなデバイスでOpenVNetを動かしてみようとした。
いろいろなデバイスでOpenVNetを動かしてみようとした。skipping classes
 
OpenShift 3で、DockerのPaaSを作る話
OpenShift 3で、DockerのPaaSを作る話OpenShift 3で、DockerのPaaSを作る話
OpenShift 3で、DockerのPaaSを作る話Kazuto Kusama
 
リモートチームコラボレーション(RTC)
リモートチームコラボレーション(RTC)リモートチームコラボレーション(RTC)
リモートチームコラボレーション(RTC)Morro Data
 
DockerとKubernetesが作る未来
DockerとKubernetesが作る未来DockerとKubernetesが作る未来
DockerとKubernetesが作る未来Kazuto Kusama
 
Kubernets on Bluemix + DevOpsでコンテナCIやってみた
Kubernets on Bluemix + DevOpsでコンテナCIやってみたKubernets on Bluemix + DevOpsでコンテナCIやってみた
Kubernets on Bluemix + DevOpsでコンテナCIやってみたShoichiro Sakaigawa
 
コモディティL3SW/ルータでオープンなSDNを実現しよう
コモディティL3SW/ルータでオープンなSDNを実現しようコモディティL3SW/ルータでオープンなSDNを実現しよう
コモディティL3SW/ルータでオープンなSDNを実現しようTakashi Sogabe
 
社内勉強会(Docker)
社内勉強会(Docker)社内勉強会(Docker)
社内勉強会(Docker)Shinya Sasaki
 
Infrakit Docker_Tokyo_meetup
Infrakit Docker_Tokyo_meetupInfrakit Docker_Tokyo_meetup
Infrakit Docker_Tokyo_meetupYuji Oshima
 
Infra: Kubernetes and GKE, Network
Infra: Kubernetes and GKE, NetworkInfra: Kubernetes and GKE, Network
Infra: Kubernetes and GKE, NetworkKuma Arakawa
 
Infrakitの話とk8s+GPUの話
Infrakitの話とk8s+GPUの話Infrakitの話とk8s+GPUの話
Infrakitの話とk8s+GPUの話Yuji Oshima
 
KubernetesでGPUクラスタを管理したい
KubernetesでGPUクラスタを管理したいKubernetesでGPUクラスタを管理したい
KubernetesでGPUクラスタを管理したいYuji Oshima
 
Cloud Foundry構成概要 111018
Cloud Foundry構成概要 111018Cloud Foundry構成概要 111018
Cloud Foundry構成概要 111018Uemura Yuichi
 
Containerで変わるDevOps
Containerで変わるDevOpsContainerで変わるDevOps
Containerで変わるDevOpsshokiri
 
深層学習 環境構築 Azure
深層学習 環境構築 Azure深層学習 環境構築 Azure
深層学習 環境構築 AzureYuki Hattori
 
Dev cloud Description between 1&2
Dev cloud Description between 1&2Dev cloud Description between 1&2
Dev cloud Description between 1&2Zack Dolby
 
アプリケーションエンジニアのためのクラウドインフラ再入門 (2/3)
アプリケーションエンジニアのためのクラウドインフラ再入門 (2/3)アプリケーションエンジニアのためのクラウドインフラ再入門 (2/3)
アプリケーションエンジニアのためのクラウドインフラ再入門 (2/3)Takashi Sogabe
 

Was ist angesagt? (20)

Pwa
PwaPwa
Pwa
 
クラウドを『作る』ってどういうこと?
クラウドを『作る』ってどういうこと?クラウドを『作る』ってどういうこと?
クラウドを『作る』ってどういうこと?
 
いろいろなデバイスでOpenVNetを動かしてみようとした。
いろいろなデバイスでOpenVNetを動かしてみようとした。いろいろなデバイスでOpenVNetを動かしてみようとした。
いろいろなデバイスでOpenVNetを動かしてみようとした。
 
俺とKubernetes
俺とKubernetes俺とKubernetes
俺とKubernetes
 
OpenShift 3で、DockerのPaaSを作る話
OpenShift 3で、DockerのPaaSを作る話OpenShift 3で、DockerのPaaSを作る話
OpenShift 3で、DockerのPaaSを作る話
 
リモートチームコラボレーション(RTC)
リモートチームコラボレーション(RTC)リモートチームコラボレーション(RTC)
リモートチームコラボレーション(RTC)
 
DockerとKubernetesが作る未来
DockerとKubernetesが作る未来DockerとKubernetesが作る未来
DockerとKubernetesが作る未来
 
Kubernets on Bluemix + DevOpsでコンテナCIやってみた
Kubernets on Bluemix + DevOpsでコンテナCIやってみたKubernets on Bluemix + DevOpsでコンテナCIやってみた
Kubernets on Bluemix + DevOpsでコンテナCIやってみた
 
コモディティL3SW/ルータでオープンなSDNを実現しよう
コモディティL3SW/ルータでオープンなSDNを実現しようコモディティL3SW/ルータでオープンなSDNを実現しよう
コモディティL3SW/ルータでオープンなSDNを実現しよう
 
Kubernete超概要
Kubernete超概要Kubernete超概要
Kubernete超概要
 
社内勉強会(Docker)
社内勉強会(Docker)社内勉強会(Docker)
社内勉強会(Docker)
 
Infrakit Docker_Tokyo_meetup
Infrakit Docker_Tokyo_meetupInfrakit Docker_Tokyo_meetup
Infrakit Docker_Tokyo_meetup
 
Infra: Kubernetes and GKE, Network
Infra: Kubernetes and GKE, NetworkInfra: Kubernetes and GKE, Network
Infra: Kubernetes and GKE, Network
 
Infrakitの話とk8s+GPUの話
Infrakitの話とk8s+GPUの話Infrakitの話とk8s+GPUの話
Infrakitの話とk8s+GPUの話
 
KubernetesでGPUクラスタを管理したい
KubernetesでGPUクラスタを管理したいKubernetesでGPUクラスタを管理したい
KubernetesでGPUクラスタを管理したい
 
Cloud Foundry構成概要 111018
Cloud Foundry構成概要 111018Cloud Foundry構成概要 111018
Cloud Foundry構成概要 111018
 
Containerで変わるDevOps
Containerで変わるDevOpsContainerで変わるDevOps
Containerで変わるDevOps
 
深層学習 環境構築 Azure
深層学習 環境構築 Azure深層学習 環境構築 Azure
深層学習 環境構築 Azure
 
Dev cloud Description between 1&2
Dev cloud Description between 1&2Dev cloud Description between 1&2
Dev cloud Description between 1&2
 
アプリケーションエンジニアのためのクラウドインフラ再入門 (2/3)
アプリケーションエンジニアのためのクラウドインフラ再入門 (2/3)アプリケーションエンジニアのためのクラウドインフラ再入門 (2/3)
アプリケーションエンジニアのためのクラウドインフラ再入門 (2/3)
 

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

Azure container as a service v0.1.19.1213
Azure container as a service v0.1.19.1213Azure container as a service v0.1.19.1213
Azure container as a service v0.1.19.1213Ayumu Inaba
 
本格的にコンテナを利用するために ~ Azureでのコンテナ利用パターン
本格的にコンテナを利用するために ~ Azureでのコンテナ利用パターン本格的にコンテナを利用するために ~ Azureでのコンテナ利用パターン
本格的にコンテナを利用するために ~ Azureでのコンテナ利用パターン雄哉 吉田
 
Kubernetes introduction
Kubernetes introductionKubernetes introduction
Kubernetes introductionDAEBUM LEE
 
捕鯨!詳解docker
捕鯨!詳解docker捕鯨!詳解docker
捕鯨!詳解docker雄哉 吉田
 
Netapp rancher agenda_210129
Netapp rancher agenda_210129Netapp rancher agenda_210129
Netapp rancher agenda_210129Junji Nishihara
 
Hccjp rancher+azurearc 201009
Hccjp rancher+azurearc 201009Hccjp rancher+azurearc 201009
Hccjp rancher+azurearc 201009Junji Nishihara
 
コンテナって何?
コンテナって何?コンテナって何?
コンテナって何?Hiroyuki Numao
 
Microsoft azureで実装するwebserviceondocker
Microsoft azureで実装するwebserviceondockerMicrosoft azureで実装するwebserviceondocker
Microsoft azureで実装するwebserviceondockerTsukasa Kato
 
Dockerの期待と現実~Docker都市伝説はなぜ生まれるのか~
Dockerの期待と現実~Docker都市伝説はなぜ生まれるのか~Dockerの期待と現実~Docker都市伝説はなぜ生まれるのか~
Dockerの期待と現実~Docker都市伝説はなぜ生まれるのか~Masahito Zembutsu
 
Introduction of Rancher at OSC Tokyo 17 Spring
Introduction of Rancher at OSC Tokyo 17 SpringIntroduction of Rancher at OSC Tokyo 17 Spring
Introduction of Rancher at OSC Tokyo 17 SpringGo Chiba
 
Webアプリ開発向け ゆるふわDocker使いがCloud Naive開発に必要そうなetc.
Webアプリ開発向け ゆるふわDocker使いがCloud Naive開発に必要そうなetc.Webアプリ開発向け ゆるふわDocker使いがCloud Naive開発に必要そうなetc.
Webアプリ開発向け ゆるふわDocker使いがCloud Naive開発に必要そうなetc.YASUKAZU NAGATOMI
 
Web系エンジニアのためのスキルアップ講座 ーDockerで開発環境を作ろう ー
Web系エンジニアのためのスキルアップ講座 ーDockerで開発環境を作ろう ーWeb系エンジニアのためのスキルアップ講座 ーDockerで開発環境を作ろう ー
Web系エンジニアのためのスキルアップ講座 ーDockerで開発環境を作ろう ーYosuke INOUE
 
Kubernetesの良さを活かして開発・運用!Cloud Native入門 / An introductory Cloud Native #osc19tk
Kubernetesの良さを活かして開発・運用!Cloud Native入門 / An introductory Cloud Native #osc19tkKubernetesの良さを活かして開発・運用!Cloud Native入門 / An introductory Cloud Native #osc19tk
Kubernetesの良さを活かして開発・運用!Cloud Native入門 / An introductory Cloud Native #osc19tkwhywaita
 
Kubernetes雑にまとめてみた 2020年8月版
Kubernetes雑にまとめてみた 2020年8月版Kubernetes雑にまとめてみた 2020年8月版
Kubernetes雑にまとめてみた 2020年8月版VirtualTech Japan Inc.
 
クラウドデザイン パターンに見る クラウドファーストな アプリケーション設計 Data Management編
クラウドデザイン パターンに見るクラウドファーストなアプリケーション設計 Data Management編クラウドデザイン パターンに見るクラウドファーストなアプリケーション設計 Data Management編
クラウドデザイン パターンに見る クラウドファーストな アプリケーション設計 Data Management編Takekazu Omi
 
試して学べるクラウド技術! OpenShift
試して学べるクラウド技術! OpenShift試して学べるクラウド技術! OpenShift
試して学べるクラウド技術! OpenShiftEtsuji Nakai
 
Rancher basic seminar_200924
Rancher basic seminar_200924Rancher basic seminar_200924
Rancher basic seminar_200924Junji Nishihara
 
6 月 18 日 Next - Kubernetes のコンテナ技術ですべてをシンプルに
6 月 18 日 Next - Kubernetes のコンテナ技術ですべてをシンプルに6 月 18 日 Next - Kubernetes のコンテナ技術ですべてをシンプルに
6 月 18 日 Next - Kubernetes のコンテナ技術ですべてをシンプルにGoogle Cloud Platform - Japan
 

Ähnlich wie AKSとTerraformでKubernetesクラスター作成 (20)

Azure container as a service v0.1.19.1213
Azure container as a service v0.1.19.1213Azure container as a service v0.1.19.1213
Azure container as a service v0.1.19.1213
 
本格的にコンテナを利用するために ~ Azureでのコンテナ利用パターン
本格的にコンテナを利用するために ~ Azureでのコンテナ利用パターン本格的にコンテナを利用するために ~ Azureでのコンテナ利用パターン
本格的にコンテナを利用するために ~ Azureでのコンテナ利用パターン
 
Kubernetes introduction
Kubernetes introductionKubernetes introduction
Kubernetes introduction
 
捕鯨!詳解docker
捕鯨!詳解docker捕鯨!詳解docker
捕鯨!詳解docker
 
Kubernetes超入門
Kubernetes超入門Kubernetes超入門
Kubernetes超入門
 
Netapp rancher agenda_210129
Netapp rancher agenda_210129Netapp rancher agenda_210129
Netapp rancher agenda_210129
 
Hccjp rancher+azurearc 201009
Hccjp rancher+azurearc 201009Hccjp rancher+azurearc 201009
Hccjp rancher+azurearc 201009
 
コンテナって何?
コンテナって何?コンテナって何?
コンテナって何?
 
Microsoft azureで実装するwebserviceondocker
Microsoft azureで実装するwebserviceondockerMicrosoft azureで実装するwebserviceondocker
Microsoft azureで実装するwebserviceondocker
 
Dockerの期待と現実~Docker都市伝説はなぜ生まれるのか~
Dockerの期待と現実~Docker都市伝説はなぜ生まれるのか~Dockerの期待と現実~Docker都市伝説はなぜ生まれるのか~
Dockerの期待と現実~Docker都市伝説はなぜ生まれるのか~
 
Introduction of Rancher at OSC Tokyo 17 Spring
Introduction of Rancher at OSC Tokyo 17 SpringIntroduction of Rancher at OSC Tokyo 17 Spring
Introduction of Rancher at OSC Tokyo 17 Spring
 
Webアプリ開発向け ゆるふわDocker使いがCloud Naive開発に必要そうなetc.
Webアプリ開発向け ゆるふわDocker使いがCloud Naive開発に必要そうなetc.Webアプリ開発向け ゆるふわDocker使いがCloud Naive開発に必要そうなetc.
Webアプリ開発向け ゆるふわDocker使いがCloud Naive開発に必要そうなetc.
 
Web系エンジニアのためのスキルアップ講座 ーDockerで開発環境を作ろう ー
Web系エンジニアのためのスキルアップ講座 ーDockerで開発環境を作ろう ーWeb系エンジニアのためのスキルアップ講座 ーDockerで開発環境を作ろう ー
Web系エンジニアのためのスキルアップ講座 ーDockerで開発環境を作ろう ー
 
Kubernetesの良さを活かして開発・運用!Cloud Native入門 / An introductory Cloud Native #osc19tk
Kubernetesの良さを活かして開発・運用!Cloud Native入門 / An introductory Cloud Native #osc19tkKubernetesの良さを活かして開発・運用!Cloud Native入門 / An introductory Cloud Native #osc19tk
Kubernetesの良さを活かして開発・運用!Cloud Native入門 / An introductory Cloud Native #osc19tk
 
Kubernetes雑にまとめてみた 2020年8月版
Kubernetes雑にまとめてみた 2020年8月版Kubernetes雑にまとめてみた 2020年8月版
Kubernetes雑にまとめてみた 2020年8月版
 
クラウドデザイン パターンに見る クラウドファーストな アプリケーション設計 Data Management編
クラウドデザイン パターンに見るクラウドファーストなアプリケーション設計 Data Management編クラウドデザイン パターンに見るクラウドファーストなアプリケーション設計 Data Management編
クラウドデザイン パターンに見る クラウドファーストな アプリケーション設計 Data Management編
 
試して学べるクラウド技術! OpenShift
試して学べるクラウド技術! OpenShift試して学べるクラウド技術! OpenShift
試して学べるクラウド技術! OpenShift
 
Rancher basic seminar_200924
Rancher basic seminar_200924Rancher basic seminar_200924
Rancher basic seminar_200924
 
6 月 18 日 Next - Kubernetes のコンテナ技術ですべてをシンプルに
6 月 18 日 Next - Kubernetes のコンテナ技術ですべてをシンプルに6 月 18 日 Next - Kubernetes のコンテナ技術ですべてをシンプルに
6 月 18 日 Next - Kubernetes のコンテナ技術ですべてをシンプルに
 
GPU Container as a Service を実現するための最新OSS徹底比較
GPU Container as a Service を実現するための最新OSS徹底比較GPU Container as a Service を実現するための最新OSS徹底比較
GPU Container as a Service を実現するための最新OSS徹底比較
 

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