Se ha denunciado esta presentación.
Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.

一挙紹介: Kubernetes on Azureで実現する快適なマイクロサービス環境

2.029 visualizaciones

Publicado el

Slides for Azure Webinar: Kubernetes on Azure, including Build 2018 and AKS GA Update

訂正: Azure Container Instance は2018年4月25日の時点でGAされております https://azure.microsoft.com/ja-jp/updates/aci-ga/

Publicado en: Tecnología
  • Sé el primero en comentar

一挙紹介: Kubernetes on Azureで実現する快適なマイクロサービス環境

  1. 1. Slides for Azure Webinar: Kubernetes on Azure
  2. 2. <アジェンダ> • マネージド Kubernetes サービス、 Azure Kubernetes Service (AKS) • クラスタレスにコンテナアプリ実行を実現する Azure Container Instance(ACI) • Open Service Broker API をベースに統一仕様で Azure PaaS サービスとの疎結合を実現する Open Service Broker for Azure (OSBA) • Kubernetes アプリ開発の自動化を支えるツール群 • モニタリングソリューション ※ Build 2018 の最新アップデート情報を含む <ご参考> Microsoft Build 2018 https://www.microsoft.com/en-us/build
  3. 3. Kubernetes (k8s)とは? デファクト コンテナ オーケストレーター ポータブル Public, private, hybrid, multi-cloud 拡張可能 Modular, pluggable, hookable, composable 自己回復 Auto-placement, auto- restart, auto-replication, auto-scaling
  4. 4. Layer 1 Layer 2 Layer 3 Layer 4 Layer 5 Layer 6 Layer 7 参考: Gabe Monroy on Twitter: "Strata of the Container Ecosystem https://twitter.com/gabrtv/status/539805332432637952
  5. 5. https://kubernetes.io/
  6. 6. • ACS Engineで先行導入した機能を安定化 後にAKSに順次リリース DC/OS、Docker Swarmもサポート
  7. 7. IaaSPaaS Azure services SQL Database Redis Cache CosmosDB And more! Partner services OpenShift Pivotal Cloud Foundry Docker Enterprise Edition Mesosphere DC/OS Azure Azure Container Registry (ACR) OSBA Azure Kubernetes Service (AKS) ACS Engine Batch Azure Container Instances (ACI) Azure Virtual Machines Virtual Machine Scale Sets (VMSS) Service Fabric Virtual kubelet App Service
  8. 8. AKSの主な特徴
  9. 9. https://azure.microsoft.com/en-us/support/legal/sla/kubernetes-service/v1_0/ As a free service, AKS does not offer a financially-backed service level agreement. We will strive to attain at least 99.5% availability for the Kubernetes API server. The availability of the agent nodes in your cluster is covered by the Virtual Machines SLA. Please see the Virtual Machines SLA for more details.
  10. 10. Setup High-AvailabilityKubernetes Masters https://kubernetes.io/docs/tasks/administer-cluster/highly-available-master/#implementation-notes
  11. 11. 例えば、次のオペレーションもこんなに簡単 az aks scale –name mycluster –resource-group rg-aks --node-count 4 az aks upgrade –name mycluster –resource-group rg-aks --kubernetes-version 1.9.6
  12. 12. https://docs.microsoft.com/en-us/azure/aks/intro-kubernetes • Azureポータル、Azure CLIコマンド、ARMテンプレートに加えてTerraformを利用 したクラスタ構築も可能 • デフォルトでK8sのRoll-based Access Control (RBAC) 設定可能 • Azure ADベースのアクセス制御も可能 (Preview) • クラスタのスケーリング、アップグレード • HTTPアプリケーションルーティング (外向けDNS名とIngressControllerが自動設定) • GPU VMノード利用可能 • VNET連携 - Advanced Networking設定 (CNI Plugin利用) により新規VNET、または 既存のVNETへのクラスタのデプロイが可能。Podが他のピアリング接続された VNETと接続可能。またExpressRouteやVPN接続を通じてオンプレのサービスと接 続可能
  13. 13. Azure Container Instances (ACI) クラスタフリー &サーバレス コンテナサービス タスク(コンテナの実行単位)に割り当てたvCPUとメモリの量に応じて秒単位での 課金でコンテナを実行することができる技術。 サーバ / ノードを意識することなく、またクラスタの管理が不要であるため利用 者はインフラではなくコンテナ アプリケーションに集中できる。 Kubernetesが複数コンテナ間の連携を要する、ある程度予測可能で長く起動して いるワークロードが向いているのに対して、このサービスはよりシンプルで、一 時的、かつバースト型のワークロードの実行が向いている
  14. 14. IaaSPaaS Azure services SQL Database Redis Cache CosmosDB And more! Partner services OpenShift Pivotal Cloud Foundry Docker Enterprise Edition Mesosphere DC/OS Azure Azure Container Registry (ACR) OSBA Azure Kubernetes Service (AKS) ACS Engine Batch Azure Container Instances (ACI) Azure Virtual Machines Virtual Machine Scale Sets (VMSS) Service Fabric Virtual kubelet App Service
  15. 15. az container create -g aci_grp --name nginx --image library/nginx --ip-address public –cpu 2 --memory 5 シングルコマンドで実行可能なクラスタフリーコンテナ環境 PREVIEW
  16. 16. Kubernetes control pane Application architect Infrastructure architect Azure Container Instances (ACI) ACI Connector Pod Pod Pod Pod Pod Pod Pod Pod Pod Pod Pod Pod VM VM VM VM Deployment/ tasks Pod Pod Pod Pod Pod Pod Pod Pod Pod Pod Pod Pod Pod Pod Pod Pod Pod Pod Pod Pod Pod Pod Pod Pod Pod WasteWaste WasteWaste PodPod PodPod ACI Connector for Kubernetesを使うことでKubernetesクラスタがコンテナをACIに直 接展開できるようになる。開発者は必要に応じてVMとACIを混在させることができ るようになる PREVIEW
  17. 17. https://github.com/virtual-kubelet/virtual-kubelet Kubetetの仮想実装 – 汎用的にKubernetesクラスターから外部サービスをプラグイン として利用可能にする仕組み
  18. 18. アプリケーションが外部サービスとの連携をしやすくする仕組み  Open Service Broker API : プラットフォーム非依存でサービス利用可能にする  Service Catalog : KubernetesとOpen Service Broker APIを連携可能にする
  19. 19. IaaSPaaS Azure services SQL Database Redis Cache CosmosDB And more! Partner services OpenShift Pivotal Cloud Foundry Docker Enterprise Edition Mesosphere DC/OS Azure Azure Container Registry (ACR) OSBA Azure Kubernetes Service (AKS) ACS Engine Batch Azure Container Instances (ACI) Azure Virtual Machines Virtual Machine Scale Sets (VMSS) Service Fabric Virtual kubelet App Service
  20. 20. https://www.openservicebrokerapi.org/ Open Service Broker API – v2.13
  21. 21. Cloud Foundry Cloud Controller https://www.openservicebrokerapi.org/ Any Platform プラットフォーム 非依存で利用可能な API仕様
  22. 22. Secret Service Catalog Architecture https://kubernetes.io/docs/concepts/service-catalog/ Service Catalog Design https://github.com/kubernetes-incubator/service- catalog/blob/master/docs/design.md
  23. 23. Cloud Foundry Cloud Controller Any Platform Kubernetes + Service CatalogService Catalog
  24. 24. パッケージ管理ツール https://github.com/Azure/open-service-broker-azure
  25. 25. 1stパーティのプライベートコンテナレジストリ管理サービス オープンソースのDocker CLI ツールで 利用可能 ジオレプリケーション すべてのタイプの コンテナイメージを管理
  26. 26. IaaSPaaS Azure services SQL Database Redis Cache CosmosDB And more! Partner services OpenShift Pivotal Cloud Foundry Docker Enterprise Edition Mesosphere DC/OS Azure Azure Container Registry (ACR) OSBA Azure Kubernetes Service (AKS) ACS Engine Batch Azure Container Instances (ACI) Azure Virtual Machines Virtual Machine Scale Sets (VMSS) Service Fabric Virtual kubelet App Service
  27. 27. • コンテナイメージをクラウドでビルドする機能 • レジストリ側でのビルド → 高速プッシュ&デプロイメントが可能 Quick Build Image設定チュートリアル 自動イメージビルド設定チュートリアル 自動イメージビルド設定(ベースイメージ更新トリガー)チュートリアル
  28. 28. Helmとは? • Kubernetesアプリのパッケージ管理とデプロイメントを行うツール • Linuxにおけるapt-getやyum、Mac OSにおけるHomebrewのような位置付け • LinuxにおけるDepsやRPM にあたるHelmパッケージのことをChartsと呼ぶ https://helm.sh/ Helmの構成要素 • クライアント ( Helm ): 利用者のローカルマシンやCI/CDパイプラインにて利用 • サーバ ( tiller ): Kubernetesクラスタにて実際のデプロイメントを行う Chartsレポジトリ https://github.com/kubernetes/charts
  29. 29. helm install -f config.yaml <package> … helm upgrade -f config.yaml <release-name> …
  30. 30. helm rollback <release-name> <revision>
  31. 31. • UIからとても簡単にAKSを含むAzureサービスへのCI/CD環境を構築可能 • Azureサービスのプロビジョニング、Gitコードレポジトリ、App Insightsとのイン テグレーション、CI/CDパイプラインの自動設定、DevOps Projectダッシュボード からコードコミット・ビルド・デプロイの状況を確認可能 • AKSの場合: VSTS (ビルド・リリースパイプライン)とACR(ジレストリ)間処理を 行い、最終的にHelmチャートにパッケージングしてAKSクラスタにデプロイ https://docs.microsoft.com/en-us/azure/devops-project/ https://azure.microsoft.com/ja-jp/blog/azure-devops-project-public-preview/
  32. 32. • Visual Studio Kubernetes Tool = Visual Studio拡張機能 • “Container Application for Kubernetes”プロジェクトにおいてツールが自動的に DockerfileとHelmチャートを生成し、ツールからAKSにデプロイ可能 https://blogs.msdn.microsoft.com/visualstudio/2018/06/08/preview-of-visual-studio-kubernetes-tools/
  33. 33. https://docs.microsoft.com/en-us/azure/monitoring/monitoring-container-health https://docs.microsoft.com/en-us/azure/log-analytics/log-analytics-containers
  34. 34. クラスタ作成時にAzureポータルから、 もしくはARMテンプレートで有効化設定 クラスタ内全ノード、コントローラー、コンテナの ステータスを確認可能(メトリック・ログ両方」) 各Pod, Containerにドリルダウン でLog Analyticsでログ閲覧可能
  35. 35. Combine multiple Kubernetes resources in one versioned unit (a chart) Templates provide default behavior and ability to override Enables lifecycle operations like upgrade Helm repos enable easy deployment of pre- built apps

×