How to deploy and link arc related resources
Today, companies struggle to control and govern increasingly complex environments that extend across data centers, multiple clouds, and edge. Each environment and cloud possesses its own set of management tools, and new DevOps and ITOps operational models can be hard to implement across resources.
Azure Arc simplifies governance and management by delivering a consistent multi-cloud and on-premises management platform.
Azure Arc provides a centralized, unified way to:
Manage your entire environment together by projecting your existing non-Azure and/or on-premises resources into Azure Resource Manager.
Manage virtual machines, Kubernetes clusters, and databases as if they are running in Azure.
Use familiar Azure services and management capabilities, regardless of where they live.
Continue using traditional ITOps while introducing DevOps practices to support new cloud native patterns in your environment.
Configure custom locations as an abstraction layer on top of Azure Arc-enabled Kubernetes clusters and cluster extensions.
Currently, Azure Arc allows you to manage the following resource types hosted outside of Azure:
Servers: Manage Windows and Linux physical servers and virtual machines hosted outside of Azure.
Kubernetes clusters: Attach and configure Kubernetes clusters running anywhere, with multiple supported distributions.
Azure data services: Run Azure data services on-premises, at the edge, and in public clouds using Kubernetes and the infrastructure of your choice. SQL Managed Instance and PostgreSQL (preview) services are currently available.
SQL Server: Extend Azure services to SQL Server instances hosted outside of Azure.
Virtual machines (preview): Provision, resize, delete and manage virtual machines based on VMware vSphere or Azure Stack HCI and enable VM self-service through role-based access.
For more information on Azure Arc see this overview
Files - they should be used in this order for optimal results
create-aks-cluster.md
Create a K8s cluster in Azure
create-gke-cluster.md
Create a K8s cluster in GCP
install-extensions.md
Describes how to install the data controller and app services extentions with custom locations. These are needed to deploy Azure services to other Kubernetes clusters
troubleshooting.md
Holds information on how to debug an Arc setup that is not functioning as intended
General Information Before You Start
You will need a node pool in your Kubernetes cluster with at least 3 nodes and 4Vcores + 16GB memory per node or it will not deploy correctly (this is for GKE and AKS)
In Azure you need to be in EastUS to deploy AKS with Arc
You need the correct IAM permissions in both Azure and GCP to install the necessary namespaces in Kubernetes
You will need a data conroller resource and a custom location for both platforms K8s to deploy to them through Arc
To install VMs (or SQL VMs) you will need access to the VM and be able to execute a script
To deploy apps / functions you have to add the App Service Extension to the Arc resources
The Storage selection for App Service Extension must match what you are running in GKE. You cannot use default if you are using standard storage, need to use standard as a parameter
All these setup steps you can do from the command line or the Azure UI