Successfully reported this slideshow.
Your SlideShare is downloading. ×

Aks on azure stack hci with azure arc

Aks on azure stack hci with azure arc

Download to read offline

AKS on Azure Stack HCI with Azure Arcをチュートリアルに沿って構築してみた中中での困った点等をまとめて共有しています。

AKS on Azure Stack HCI with Azure Arcをチュートリアルに沿って構築してみた中中での困った点等をまとめて共有しています。

More Related Content

More from Masahiko Ebisuda

Related Books

Free with a 30 day trial from Scribd

See all

Related Audiobooks

Free with a 30 day trial from Scribd

See all

Aks on azure stack hci with azure arc

  1. 1. 「AKS on Azure Stack HCI with Azure Arc」 を構築してみた @ebiMasahiko Ebisuda
  2. 2. 自己紹介 日本ビジネスシステムズ株式会社 胡田 昌彦(えびすだ まさひこ) ◼ Microsoft MVP for Azure ◼ @ebi ◼ 胡田昌彦のコンピューター系チャンネル http://bit.ly/2NTCKmj ◼ masahiko.ebisuda ◼ Masahiko Ebisuda ◼ Microsoft Cloud Administrators https://cloud.ebisuda.com/ ◼ Windowsインフラ管理者への道 https://windowsadmin.Ebisuda.com/
  3. 3. アジェンダ ◼AKS on Azure Stack HCI概要 ◼検証の様子のアーカイブ紹介 ◼今回作成した環境の概要 ◼デモ ◼苦労した点(ハマったポイント)
  4. 4. AKS on Azure Stack HCI概要
  5. 5. 前回 HCCJP13回勉強会のMS高添さんのセッションより ◼Microsoft Ignite 2020の最新ハイブリッド関連情報を 素早く振り返り! / HCCJP 第13回勉強会 – YouTube https://youtu.be/wiBpI7Gg-RA?t=2103 ◼35:03
  6. 6. 引用元:https://www.slideshare.net/ssuser58fb08/20201009-hccjp-igniteupdatehybrid
  7. 7. 引用元:https://www.slideshare.net/ssuser58fb08/20201009-hccjp-igniteupdatehybrid
  8. 8. 引用元:https://www.slideshare.net/ssuser58fb08/20201009-hccjp-igniteupdatehybrid
  9. 9. 検証の様子のアーカイブ紹介
  10. 10. 検証の様子はYoutubeにすべてアーカイブしてあります AKS on AzureStackHCI - YouTube https://bit.ly/2UimJtU Youtube Liveをつかって生放送で20時間弱検証してま す…。
  11. 11. ためしてみたこと 1. Nested Hyper-V環境を作る 2. Azure Stack HCI OSを展開×2 3. Windows 10上にWAC(Windows Admin Center)を展開 4. WACからAzure Stack HCIクラスタを構成 5. Azure Stack HCIクラスタ上にAKS(Azure Kubernetes Services)を 展開 6. AKS上にKubernetesクラスタを展開 7. Kubernetesクラスタにサンプルアプリを展開 – Linux 8. Kubernetesクラスタにサンプルアプリを展開 – Windows 9. KubernetesクラスタをAzure Arc管理下に置く 10. KubernetesクラスタをGitOps管理下に置く 11. Azure PolicyでGitOps管理下に置く(←まだうまくいかず) 12. Azure Stack HCIをAzureに登録
  12. 12. 参考ドキュメント ◼ 入れ子になった仮想化 | Microsoft Docs https://docs.microsoft.com/ja-jp/virtualization/hyper-v-on-windows/user-guide/nested-virtualization ◼ Azure Stack HCI オペレーティング システムのデプロイ - Azure Stack HCI | Microsoft Docs https://docs.microsoft.com/ja-jp/azure- stack/hci/deploy/operating-system ◼ Windows Admin Center のインストール | Microsoft Docs https://docs.microsoft.com/ja-jp/windows-server/manage/windows-admin-center/deploy/install ◼ Windows Admin Center を使用して Azure Stack HCI クラスターを作成する - Azure Stack HCI | Microsoft Docs https://docs.microsoft.com/ja-jp/azure- stack/hci/deploy/create-cluster ◼ クラスター監視のセットアップ - Azure Stack HCI | Microsoft Docs https://docs.microsoft.com/ja-jp/azure-stack/hci/deploy/witness ◼ Azure Stack HCI を Azure に接続する - Azure Stack HCI | Microsoft Docs https://docs.microsoft.com/ja-jp/azure-stack/hci/deploy/register-with-azure ◼ Windows Admin Center を使用して、Azure Stack HCI 上に Azure Kubernetes Service を設定するためのクイックスタート - Azure Stack Hub | Microsoft Docs https://docs.microsoft.com/ja-jp/azure-stack/aks-hci/setup ◼ Windows PowerShell を使用して Azure Stack HCI で Azure Kubernetes Service ホストを設定するためのクイックスタート - Azure Stack Hub | Microsoft Docs https://docs.microsoft.com/ja-jp/azure-stack/aks-hci/setup-powershell ◼ Windows Admin Center を使用して Kubernetes クラスターを作成するクイックスタート - Azure Stack Hub | Microsoft Docs https://docs.microsoft.com/ja- jp/azure-stack/aks-hci/create-kubernetes-cluster ◼ Windows PowerShell を使用して Azure Stack HCI 上に Kubernetes クラスターを作成するクイックスタート - Azure Stack Hub | Microsoft Docs https://docs.microsoft.com/ja-jp/azure-stack/aks-hci/create-kubernetes-cluster-powershell ◼ チュートリアル - Azure Stack HCI 上の AKS に Linux アプリケーションをデプロイする - Azure Stack Hub | Microsoft Docs https://docs.microsoft.com/ja- jp/azure-stack/aks-hci/deploy-linux-application ◼ チュートリアル - Azure Stack HCI 上の AKS に Windows アプリケーションをデプロイする - Azure Stack Hub | Microsoft Docs https://docs.microsoft.com/ja- jp/azure-stack/aks-hci/deploy-windows-application ◼ Azure Stack HCI クラスター上の Azure Kubernetes Service を Azure Arc for Kubernetes に接続する - Azure Stack Hub | Microsoft Docs https://docs.microsoft.com/ja-jp/azure-stack/aks-hci/connect-to-arc ◼ Arc 対応 Kubernetes クラスターに対して GitOps を使用して構成をデプロイする (プレビュー) - Azure Arc | Microsoft Docs https://docs.microsoft.com/ja- jp/azure/azure-arc/kubernetes/use-gitops-connected-cluster ◼ Azure Policy を使用してクラスター構成を大規模に適用する (プレビュー) - Azure Arc | Microsoft Docs https://docs.microsoft.com/ja-jp/azure/azure- arc/kubernetes/use-azure-policy
  13. 13. なぜか18歳以上限定になってます(怒
  14. 14. 今回作成した環境の概要
  15. 15. Lenovo SE350 Windows Server 2019 Hyper-V Host VMs 今回作成した環境 The Internet NAT Switch Hyper-V Host DNS / DHCP 254 192.168.1.0/24 Jnode1 Azure Stack HCI OS Nested Hyper-V Host Jnode2 Azure Stack HCI OS Nested Hyper-V Host Azure Stack HCI Cluster [AKS] clustergroup- management- control-plane-0 WAC ADDS DNS [AKS] clustergroup- management- load-balancerxxx-control-plane xxx-md-1 xxx-md-0 xxx-load-balancer Azure Arc Azure Monitor Nested VMs 管理 GitHub Repo 参照
  16. 16. Lenovo SE350 Windows Server 2019 Hyper-V Host 今回作成した環境
  17. 17. Lenovo SE350 Windows Server 2019 Hyper-V Host 今回作成した環境 The Internet
  18. 18. Lenovo SE350 Windows Server 2019 Hyper-V Host 今回作成した環境 The Internet Hyper-V Host DNS / DHCP
  19. 19. Lenovo SE350 Windows Server 2019 Hyper-V Host 今回作成した環境 The Internet Hyper-V Host DNS / DHCP NAT Switch 254 192.168.1.0/24
  20. 20. VMs Lenovo SE350 Windows Server 2019 Hyper-V Host 今回作成した環境 The Internet NAT Switch Hyper-V Host DNS / DHCP 254 192.168.1.0/24 WAC ADDS DNS
  21. 21. Lenovo SE350 Windows Server 2019 Hyper-V Host 今回作成した環境 The Internet NAT Switch Hyper-V Host DNS / DHCP 254 192.168.1.0/24 Jnode1 Azure Stack HCI OS Nested Hyper-V Host Jnode2 Azure Stack HCI OS Nested Hyper-V Host WAC ADDS DNSVMs
  22. 22. Lenovo SE350 Windows Server 2019 Hyper-V Host 今回作成した環境 The Internet NAT Switch Hyper-V Host DNS / DHCP 254 192.168.1.0/24 Jnode1 Azure Stack HCI OS Nested Hyper-V Host Jnode2 Azure Stack HCI OS Nested Hyper-V Host Azure Stack HCI Cluster WAC ADDS DNSVMs
  23. 23. Nested VMs Lenovo SE350 Windows Server 2019 Hyper-V Host 今回作成した環境 The Internet NAT Switch Hyper-V Host DNS / DHCP 254 192.168.1.0/24 Jnode1 Azure Stack HCI OS Nested Hyper-V Host Jnode2 Azure Stack HCI OS Nested Hyper-V Host Azure Stack HCI Cluster [AKS] clustergroup- management- control-plane-0 WAC ADDS DNS [AKS] clustergroup- management- load-balancer VMs
  24. 24. Lenovo SE350 Windows Server 2019 Hyper-V Host 今回作成した環境 The Internet NAT Switch Hyper-V Host DNS / DHCP 254 192.168.1.0/24 Jnode1 Azure Stack HCI OS Nested Hyper-V Host Jnode2 Azure Stack HCI OS Nested Hyper-V Host Azure Stack HCI Cluster [AKS] clustergroup- management- control-plane-0 WAC ADDS DNS [AKS] clustergroup- management- load-balancerxxx-control-plane xxx-md-1 xxx-md-0 xxx-load-balancer Nested VMs VMs
  25. 25. Lenovo SE350 Windows Server 2019 Hyper-V Host 今回作成した環境 The Internet NAT Switch Hyper-V Host DNS / DHCP 254 192.168.1.0/24 Jnode1 Azure Stack HCI OS Nested Hyper-V Host Jnode2 Azure Stack HCI OS Nested Hyper-V Host Azure Stack HCI Cluster [AKS] clustergroup- management- control-plane-0 WAC ADDS DNS [AKS] clustergroup- management- load-balancerxxx-control-plane xxx-md-1 xxx-md-0 xxx-load-balancer Azure Arc Azure Monitor Nested VMs 管理 VMs
  26. 26. Lenovo SE350 Windows Server 2019 Hyper-V Host 今回作成した環境 The Internet NAT Switch Hyper-V Host DNS / DHCP 254 192.168.1.0/24 Jnode1 Azure Stack HCI OS Nested Hyper-V Host Jnode2 Azure Stack HCI OS Nested Hyper-V Host Azure Stack HCI Cluster [AKS] clustergroup- management- control-plane-0 WAC ADDS DNS [AKS] clustergroup- management- load-balancerxxx-control-plane xxx-md-1 xxx-md-0 xxx-load-balancer Nested VMs Azure Arcで管理 VMs GitHub Repo 参照 Azure Arc Azure Monitor
  27. 27. Demo
  28. 28. 苦労した点(ハマったポイント)
  29. 29. Lenovo SE350 Windows Server 2019 Hyper-V Host 今回作成した環境
  30. 30. Lenovo SE350 Windows Server 2019 Hyper-V Host 今回作成した環境 The Internet
  31. 31. Lenovo SE350 Windows Server 2019 Hyper-V Host 今回作成した環境 The Internet Hyper-V Host DNS / DHCP
  32. 32. Lenovo SE350 Windows Server 2019 Hyper-V Host 今回作成した環境 The Internet Hyper-V Host DNS / DHCP NAT Switch 254 192.168.1.0/24
  33. 33. Hyper-Vの機能でNAT構成 ◼ WinNATでHyper-V環境でお手軽にNAT構成(Windows Server 2016以降、Windows10 Anniversary Update以降) | Windowsインフラ管理者への道 https://windowsadmin.ebisuda.com/2020/10/01/winnat%E3%81%A7hyper- v%E7%92%B0%E5%A2%83%E3%81%A7%E3%81%8A%E6%89%8B%E8%BB%BD%E3%81%ABnat%E6%A7%8B%E 6%88%90windows-server-2016%E4%BB%A5%E9%99%8D%E3%80%81windows10-anniversary- update%E4%BB%A5%E9%99%8D/ New-VMSwitch -SwitchName "SwitchName" -SwitchType Internal New-NetIPAddress -IPAddress 192.168.0.1 -PrefixLength 24 -InterfaceIndex 24 New-NetNat -Name MyNATnetwork -InternalIPInterfaceAddressPrefix 192.168.0.0/24
  34. 34. VMs Lenovo SE350 Windows Server 2019 Hyper-V Host 今回作成した環境 The Internet NAT Switch Hyper-V Host DNS / DHCP 254 192.168.1.0/24 WAC ADDS DNS 現時点ではWindows10クライア ント上にWACを導入するのが安 全です
  35. 35. Lenovo SE350 Windows Server 2019 Hyper-V Host 今回作成した環境 The Internet NAT Switch Hyper-V Host DNS / DHCP 254 192.168.1.0/24 Jnode1 Azure Stack HCI OS Nested Hyper-V Host Jnode2 Azure Stack HCI OS Nested Hyper-V Host WAC ADDS DNSVMs
  36. 36. Lenovo SE350 Windows Server 2019 Hyper-V Host 今回作成した環境 The Internet NAT Switch Hyper-V Host DNS / DHCP 254 192.168.1.0/24 Jnode1 Azure Stack HCI OS Nested Hyper-V Host Jnode2 Azure Stack HCI OS Nested Hyper-V Host Azure Stack HCI Cluster WAC ADDS DNSVMs WACのウィザードで作成
  37. 37. Azure Stack HCI OSにHyper-Vロールを入れる ◼Nested Hyper-Vを有効化する Set-VMProcessor -VMName <VMName> -ExposeVirtualizationExtensions $true 上記だけではエラーとなる ◼Azure Stack HCI の既知の問題 - Azure Stack HCI | Microsoft Docs https://docs.microsoft.com/ja-jp/azure-stack/hci/known-issues 入れ子になった仮想化を使用して Azure Stack HCI を評価する場合、仮想化 ベースのセキュリティに対する Azure Stack HCI の依存関係が原因で、"仮想化 サポートが有効になっていない Hyper-V をインストールできません" というよ うなエラーが表示されることがあります。 次の 2 つの回避策を使用できます。 (1) Hyper-V 第 1 世代の VM を代わりに使用します。または、(2) Hyper-V 機能 を VM の VHDX にオフラインで挿入します。 Azure Stack HCI ノードとして機 能する各 VM の電源がオフになっている状態で、ホストから次の PowerShell コマンドを実行します。 Install-WindowsFeature -Vhd <path> -Name Hyper-V, RSAT-Hyper-V-Tools, Hyper-V-Powershell
  38. 38. Nested VMs Lenovo SE350 Windows Server 2019 Hyper-V Host 今回作成した環境 The Internet NAT Switch Hyper-V Host DNS / DHCP 254 192.168.1.0/24 Jnode1 Azure Stack HCI OS Nested Hyper-V Host Jnode2 Azure Stack HCI OS Nested Hyper-V Host Azure Stack HCI Cluster [AKS] clustergroup- management- control-plane-0 WAC ADDS DNS [AKS] clustergroup- management- load-balancer VMs
  39. 39. AKS on Azure Stack HCIの展開 ◼WACを利用した展開方法とPowerShellを利用した展開方法がある。 途中から別の手段に切り替える…というわけにはいかない。 ◼切り替えるためには一度すべて削除する必要がある
  40. 40. AKS on Azure Stack HCIの展開 ◼PowerShellモジュールの配置場所に注意 ◼AksHci.Powershell.zipを展開して作成される3つのフォルダ(AksHci, Moc, MSK8SDownloadAgent)を C:¥Program Files¥WindowsPowershell¥Modulesにコピーする ◼ C:¥Program Files¥WindowsPowershell¥Modules¥AksHci ◼ C:¥Program Files¥WindowsPowershell¥Modules¥Moc ◼ C:¥Program Files¥WindowsPowershell¥Modules¥MSK8SDownloadAgent
  41. 41. AKS on Azure Stack HCIの展開 ◼AKS展開のPowerShellはAzure Stack HCI OSにドメ インユーザーでログインしてから実行する ◼私はローカルユーザーでログインして RemotePowerShellが動作せず悩んでいました
  42. 42. AKS on Azure Stack HCIの展開 ◼失敗して、一度AKSを削除するときにはUninstall- AksHciコマンドレットを利用する ◼上記コマンドレットではフェールオーバークラスタ マネージャー上のリソースを削除してくれないので 手動で削除する
  43. 43. AKS on Azure Stack HCIの展開 ◼私が試した限りではPowerShellでの展開の方が安定 して動作しました
  44. 44. Nested VMs(入れ子になった仮想マシン)の通信 ◼Hyper-V HostのVM(のもつ仮想NIC)に対してMACア ドレススプーフィング有効化の設定が必要 ◼入れ子になった仮想化 | Microsoft Docs https://docs.microsoft.com/ja- jp/virtualization/hyper-v-on-windows/user- guide/nested-virtualization#networking-options 入れ子になった仮想マシンのネットワーキングには、2 つの オプションがあります。 MAC アドレスのスプーフィング NAT ネットワーク
  45. 45. AKS on Azure Stack HCIの展開 ◼Azure Stack HCI OSクラスタ上のVM、コンテナにIP を配布するDHCPサーバーが必要です
  46. 46. Lenovo SE350 Windows Server 2019 Hyper-V Host 今回作成した環境 The Internet NAT Switch Hyper-V Host DNS / DHCP 254 192.168.1.0/24 Jnode1 Azure Stack HCI OS Nested Hyper-V Host Jnode2 Azure Stack HCI OS Nested Hyper-V Host Azure Stack HCI Cluster [AKS] clustergroup- management- control-plane-0 WAC ADDS DNS [AKS] clustergroup- management- load-balancerxxx-control-plane xxx-md-1 xxx-md-0 xxx-load-balancer Nested VMs VMs
  47. 47. Lenovo SE350 Windows Server 2019 Hyper-V Host 今回作成した環境 The Internet NAT Switch Hyper-V Host DNS / DHCP 254 192.168.1.0/24 Jnode1 Azure Stack HCI OS Nested Hyper-V Host Jnode2 Azure Stack HCI OS Nested Hyper-V Host Azure Stack HCI Cluster [AKS] clustergroup- management- control-plane-0 WAC ADDS DNS [AKS] clustergroup- management- load-balancerxxx-control-plane xxx-md-1 xxx-md-0 xxx-load-balancer Nested VMs 管理 VMs Azure Arc Azure Monitor
  48. 48. Azure Stack HCIのAzureへの登録 ◼Remote PowerShell経由では Connect-AzAccount – Devicecode が成功しなかった ◼コンソールからの実行で成功した
  49. 49. Lenovo SE350 Windows Server 2019 Hyper-V Host 今回作成した環境 The Internet NAT Switch Hyper-V Host DNS / DHCP 254 192.168.1.0/24 Jnode1 Azure Stack HCI OS Nested Hyper-V Host Jnode2 Azure Stack HCI OS Nested Hyper-V Host Azure Stack HCI Cluster [AKS] clustergroup- management- control-plane-0 WAC ADDS DNS [AKS] clustergroup- management- load-balancerxxx-control-plane xxx-md-1 xxx-md-0 xxx-load-balancer Nested VMs 管理 VMs GitHub Repo 参照 Azure Arc Azure Monitor
  50. 50. GitOps連携時にNoRegisteredProviderFoundのエラー ebisuda@Azure:~$ az k8sconfiguration create --name cluster-config --cluster-name firstcluster --resource-group AzureArcTest --operator-instance-name cluster-config --operator-namespace cluster-config --repository-url https://github.com/Azure/arc-k8s-demo --scope cluster --cluster-type connectedClusters The command requires the extension k8sconfiguration. Do you want to install it now? The command will continue to runafter the extension is installed. (Y/n): y Run 'az config set extension.use_dynamic_install=yes_without_prompt' to allow installing extensions without prompt. The installed extension 'k8sconfiguration' is in preview. Command group 'k8sconfiguration' is in preview. It may be changed/removed in a future release. Warning! https url is being used without https auth params, ensure the repository url provided is not a private repo code: NoRegisteredProviderFound - , No registered resource provider found for location 'eastus' and API version '2020-10-01-preview' for type 'sourceControlConfigurations'. The supported api-versions are '2019-11-01-preview, 2020-07-01-preview'. The supported locations are 'eastus, westeurope'.
  51. 51. GitOps連携時にNoRegisteredProviderFoundのエラー わざと古いバージョンのAzコマンドをインストールす ることで回避しました。 https://github.com/Azure/arc-k8s-demo/issues/
  52. 52. Lenovo SE350 Windows Server 2019 Hyper-V Host VMs 今回作成した環境 The Internet NAT Switch Hyper-V Host DNS / DHCP 254 192.168.1.0/24 Jnode1 Azure Stack HCI OS Nested Hyper-V Host Jnode2 Azure Stack HCI OS Nested Hyper-V Host Azure Stack HCI Cluster [AKS] clustergroup- management- control-plane-0 WAC ADDS DNS [AKS] clustergroup- management- load-balancerxxx-control-plane xxx-md-1 xxx-md-0 xxx-load-balancer Azure Arc Azure Monitor Nested VMs 管理 GitHub Repo 参照
  53. 53. そもそもkubernetesをよく知らない… 本を購入して勉強中… https://amzn.to/38yjCGi
  54. 54. 今後検証予定 ◼Azure Arc - データコントローラー ◼Azure Arc - SQLサーバー やってほしいものあればぜひリクエスト下さい! 胡田昌彦のコンピューター系チャンネル http://bit.ly/2NTCKmj

×