Giter VIP home page Giter VIP logo

microsoft / azure_arc Goto Github PK

View Code? Open in Web Editor NEW
700.0 34.0 521.0 544.5 MB

Automated Azure Arc, Edge, and Platform environments

Home Page: https://aka.ms/ArcJumpstart

License: Creative Commons Attribution 4.0 International

Shell 6.26% HCL 5.87% PowerShell 36.91% Python 0.36% Smarty 0.07% Jupyter Notebook 0.72% Bicep 5.65% Liquid 0.57% HTML 43.55% Dockerfile 0.04%
kubernetes azure-arc-data gcp aws vmware azure azure-arm-template terraform aks linux

azure_arc's Introduction

Azure Arc Jumpstart source code

Welcome to the Arc Jumpstart source code repository! This repository is your go-to resource for working with and contributing to the Arc Jumpstart automation scripts and tools and acts as the backend source code repository which complements our documentation repository that eventually populates the Arc Jumpstart website.

Arc Jumpstart logo

Note: This repository does not contain the source code for the documentation of the Arc Jumpstart which can be found in another dedicated repository.

What you'll find here

  • Automation Source Code: Arc Jumpstart automation scripts and tools utilized in our scenarios and solutions.
  • Supportive Documents and Files: Additional resources used across the Arc Jumpstart website, aiding in various contexts and providing supplemental information.

How to Utilize this repository

This source code repository is designed with contributors in mind and works in tandem with the our documentation repository. While it's not mandatory, it's highly likely that contributors will need to clone both repositories to effectively contribute to Arc Jumpstart.

Before you start, we recommend familiarizing yourself with our comprehensive contribution guidelines. These guidelines outline the standards and practices we follow, ensuring consistency and quality across our documentation.

If you're unsure about your future contribution, don't hesitate to start a GitHub discussion. This is a great place to ask questions, share ideas, or get feedback on potential contributions. Our community is here to help and we welcome all levels of experience.

Happy contributing!

Cloning the repositories

To contribute, you'll likely need to clone both this repository and the documentation repository. Use the following commands:

git clone https://github.com/microsoft/azure_arc.git
git clone https://github.com/Azure/arc_jumpstart_docs.git

As we continuously improve and expand Arc Jumpstart, we recommend keeping your local clones of the repositories up-to-date. You can do this by pulling the latest changes from the main branch:

git pull origin main

You can use partial clones if you want to reduce the time and size it takes to clone this repository. By default, when you clone this repository, you get all the files and their associated metadata, including blobs and diff history. However, if you don't need all of this information, you can use the following command to clone the repository without the blobs:

git clone --filter=blob:none https://github.com/microsoft/azure_arc

Contribution and feedback

We value your input! If you have suggestions, feedback, or valuable insights to share, feel free to open an issue. Your contributions help us improve the documentation for the entire community.

This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit the Microsoft Contributor License Agreements website.

When you submit a pull request, a CLA bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., status check, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact [email protected] with any additional questions or comments.

Trademarks

This project may contain trademarks or logos for projects, products, or services. Authorized use of Microsoft trademarks or logos is subject to and must follow Microsoft's Trademark & Brand Guidelines.

Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship. Any use of third-party trademarks or logos are subject to those third-party's policies.

azure_arc's People

Contributors

alsanch avatar arcdatabot avatar charris-msft avatar chintalavr avatar darkoarnautov avatar dcmattyg avatar dkirby-ms avatar foliba avatar frteles avatar janegilring avatar jessieziyuantang avatar jkleinschnitz-msft avatar koprowskit avatar lanicolas avatar likamrat avatar luiscast84 avatar manuss20 avatar mdrakiburrahman avatar mikeraymsft avatar mooncowboy avatar mrhoads avatar nillsf avatar nyuen avatar pabloameijeirascanay avatar richeney avatar sebassem avatar sowsan avatar stalejohnsen avatar twright-msft avatar zaidmohd avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

azure_arc's Issues

ARM Templates - Custom Script

Is your feature request related to a problem? Please describe.
Run scripts on remote, non-Azure VMs from the portal, both for Linux and Windows servers.

Describe the solution you'd like
Create documentation on how to use an ARM template to run a custom script to Azure Arc connected VMs. In Linux change the MOTD file and for Windows deploy additional software.

Describe alternatives you've considered
ARM template to define the resource and Azure CLI for the deployment.

Additional context
N/A

GitOps Azure Policy for AKS

Is your feature request related to a problem? Please describe.
Use Azure Policies to create GitOps configuration on AKS Azure Arc connected cluster.

Describe the solution you'd like
Create documentation on how to use an Azure Policy to deploy GitOps configuration on AKS Azure Arc connected cluster in order to deploy a sample app.

Additional context
https://docs.microsoft.com/en-us/azure/governance/policy/concepts/policy-for-kubernetes#install-azure-policy-add-on-for-azure-arc-enabled-kubernetes

Enabling Update Management for Azure Arc servers

Scenario to demonstrate update management support for Linux servers projected in Azure via Azure Arc

Will include documentation to help new Arc users understand how to deploy and configure Update Management on an Ubuntu server hosted outside of Azure.

Support for an AKS deployment using ARM Template

Description

Support for a lightweight EKS k8s cluster deployment with Arc connectivity using ARM template

Implementation Requirments

  • Lightweight cluster for fast provisioning
  • Parameterize deployment using Terraform
  • Azure Arc connectivity instructions
  • Detailed README
  • Clean screenshots
  • Reference in the main README

Azure Security Center onboarding for Azure Arc connected Machines

Is your feature request related to a problem? Please describe.
Automate and describe the onboarding of Azure Arc connected machines on Azure Security Center

Describe the solution you'd like
Create documentation on how to enable Azure Security Center within an Azure Arc connected machine. Also create documentation demoing a scenario enabled by Azure Security Center

Describe alternatives you've considered
ARM template
leverage already existing scenarios

Additional context
N/A

Azure Policies and Remediation

Is your feature request related to a problem? Please describe.
Use Azure Policies to onboard Azure Arc enabled VMs on Azure Services such as Monitoring, Sentinel, Security Center, etc as first class citizens in Azure.

Describe the solution you'd like
Create documentation on how to use an Azure Policy to deploy the MMA to Azure Arc connected VMs. Automating the onboarding on non-Azure VMs both Linux and Windows.

Describe alternatives you've considered
Using Azure CLI to assign the policy and remmediation task. The policy will be an initiative "Enable Azure Monitor"

Additional context
N/A

Suggestions/issues during walkthrough

https://github.com/likamrat/azure_arc/blob/master/azure_arc_k8s_jumpstart/docs/onboard_k8s.md

Issues:

  • When creating RG: only specific Locations work
Connected cluster resource creation is supported only in the following locations: eastus, westeurope, eastus2euap. Use the --location flag to specify one of these locations.

Recommendations:

  • az ad sp create-for-rbac generates string with quotes in it which can cause script to fail. Might be worth noting. I thought it used to generate a GUID for the password.
  • Don’t use separate script for install. Makes assumptions about OS, packager (e.g. Linux, snap)
    • Recommend listing prereqs instead like you did for Provider

Support for Minikube Deployment guide with Arc connectivity

Description

Support for a lightweight Minikube deployment guide with Arc connectivity

Implementation Requirements

  • Lightweight for fast provisioning
  • Parameterize deployment wherever possible
  • Azure Arc connectivity instructions
  • Detailed README
  • Clear screenshots
  • Reference in the main README

Support for MicroK8s Deployment guide with Arc connectivity

Description

Support for a lightweight MicroK8s deployment guide with Arc connectivity

Implementation Requirements

  • Lightweight for fast provisioning
  • Parameterize deployment wherever possible
  • Azure Arc connectivity instructions
  • Detailed README
  • Clear screenshots
  • Reference in the main README

ARM templates - MMA for Servers

Is your feature request related to a problem? Please describe.
Onboard Azure Arc enabled VMs on Azure Services such as Monitoring, Sentinel, Security Center, etc as first class citizens in Azure.

Describe the solution you'd like
Create documentation on how to use an ARM template to deploy the MMA to Azure Arc connected VMs. Automating the onboarding on non-Azure VMs both Linux and Windows.

Describe alternatives you've considered
ARM template to define the resource and Azure CLI for the deployment.

Additional context
N/A

Support for an Azure Red Hat OpenShift deployment using ARM template

Description

Support for a lightweight Azure Red Hat OpenShift cluster deployment with Arc connectivity using Azure ARM template

Implementation Requirments

  • Lightweight cluster for fast provisioning
  • Parameterize deployment using ARM template
  • Azure Arc connectivity instructions
  • Detailed README
  • Reference in the main README

Support for kind Deployment guide with Arc connectivity

Description

Support for a lightweight kind deployment guide with Arc connectivity

Implementation Requirements

  • Lightweight for fast provisioning
  • Parameterize deployment wherever possible
  • Azure Arc connectivity instructions
  • Detailed README
  • Clear screenshots
  • Reference in the main README

Support for an AKS deployment using Terraform

Description

Support for a lightweight AKS cluster deployment with Arc connectivity using Terraform

Implementation Requirments

  • Lightweight cluster for fast provisioning
  • Parameterize deployment using Terraform
  • Azure Arc connectivity instructions
  • Detailed README
  • Clean screenshots
  • Reference in the main README

Support for Rancher k3s in VMware vSphere VM deployment using Terraform

Description

Support for a lightweight Rancher k3s in VMware vSphere deployment with Arc connectivity using Terraform

Implementation Requirments

  • Lightweight VM for fast provisioning
  • Parameterize deployment using Terraform
  • Azure Arc connectivity instructions
  • Detailed README
  • Reference in the main README

Monitoring Solution Using Prometheus, Azure Monitor, Grafana

Is your feature request related to a problem? Please describe.
Prometheus can be used to collect metrics of applications deployed within the cluster. Azure Monitor can be used to collect metrics of the Azure control plan in relation to Arc for K8s resource. There needs to be a way to synthesis both these metrics collector to visualize on a single pane of glass.

Describe the solution you'd like
Create documentation on how to enable Prometheus, Grafana and Azure Monitor within an Arc for K8s enabled cluster. Also create documentation demoing a scenarios where a sample app emits metrics to Prometheus and Grafana visualizes metrics collected by Prometheus as well as metrics collected by Azure Monitor of Arc for K8s Azure resource.

Implementation Requirements
Helm template to deploy Prometheus Operator + Configuration
Helm template to deploy Grafana + Configuration
K8sconfiguration to push helm template to Arc for K8s clusters
K8sconfiguration to deploy an App that uses deployed Prometheus and Grafana along with Azure monitor to demo functionality

Describe alternatives you've considered
N/A

Additional context
N/A

Controlling Access to the Remote Cluster's Kubernetes API

Is your feature request related to a problem? Please describe.
Users access the API using kubectl, client libraries, or by making REST requests. Both human users and Kubernetes service accounts can be authorized for API access. How do I restrict/manage that once the K8s cluster is a registered Arc cluster.

A clear and concise description of what you want to happen.
Documentation to illustrate how this can be enabled and a demo scenario that showcases this happening.

Describe alternatives you've considered
Can this be done via an AAD integrated cluster? If so then that can be an alternative if the K8s identities are managed by AAD and the enforcing agent against K8s API is Azure RBAC policy on AAD identities.

Implementation Requirements
Template/script that sets up remote Arc for K8s cluster to adhere to this requirement.
Sample App to illustrate RBAC enforcing functionality.
Template/script to deploy sample app and its configuration.

Additional context
Add any other context or screenshots about the feature request here.

image

Support for an EKS deployment using Terraform

Description

Support for a lightweight EKS k8s cluster deployment with Arc connectivity using Terraform

Implementation Requirments

  • Lightweight cluster for fast provisioning
  • Parameterize deployment using Terraform
  • Azure Arc connectivity instructions
  • Detailed README
  • Reference in the main README

Support for a GKE deployment using Terraform

Description

Support for a lightweight GKE k8s cluster deployment with Arc connectivity using Terraform

Implementation Requirments

  • Lightweight cluster for fast provisioning
  • Parameterize deployment using Terraform
  • Azure Arc connectivity instructions
  • Detailed README
  • Reference in the main README

Deploy Azure Kubernetes Service (AKS) cluster and connect it to Azure Arc using Azure ARM template

Describe the bug
When deploying the ARM template, I get a specific error about the AgentPoolK8sVersionNotSupported: "Version 1.17.3 is not supported in this region. Please use [az aks get-versions] command to get the supported version list in this region. For more information, please check https://aka.ms/supported-version-list"

To Reproduce
Steps to reproduce the behavior:

  1. Go to 'azure_arc/azure_arc_k8s_jumpstart/docs/'
  2. Click on 'aks_arm_template.md'
  3. Scroll down to 'Deployment'
  4. Deploy the ARM template
  5. See error:

{'additionalProperties': {}, 'code': 'InvalidTemplateDeployment', 'message': "The template deployment 'arcaksdemo01' is not valid according to the validation procedure. The tracking id is '*********-***-***-***-*********'. See inner errors for details.", 'target': None, 'details': [{'additionalProperties': {}, 'code': 'AgentPoolK8sVersionNotSupported', 'message': 'Provisioning of resource(s) for container service testinganotheraks in resource group Arc-K3s-Demos failed. Message: {\n "code": "AgentPoolK8sVersionNotSupported",\n "message": "Version 1.17.3 is not supported in this region. Please use [az aks get-versions] command to get the supported version list in this region. For more information, please check https://aka.ms/supported-version-list"\n }. Details: ', 'target': None, 'details': None, 'additionalInfo': None}], 'additionalInfo': None}

Expected behavior
A new AKS cluster in a new Azure Resource Group is created.

Screenshots
image

How to resolve error
To fix the bug, I went into the ARM template 'azuredeploy.json', scrolled down and found "kubernetesVersion" and changed the default value to a version available in the Azure region. I found available Kubernetes versions by running the command az aks get-versions -l <The region you are deploying to>

Deployment Guide for Azure Database for PostgreSQL Hyperscale Server on Azure Arc (AKS)

Is your feature request related to a problem? Please describe.
No, it is not.

Describe the solution you'd like
This describes how to deploy a "Ready-to-Go" environment with PostgreSQL Hyperscale server group deployed on Azure Arc

Describe alternatives you've considered
Not applicable to this feature

Additional context
The environment for this scenario is the Azure Kubernetes Service

Azure Sentinel onboarding of Azure Arc enabled Servers

Is your feature request related to a problem? Please describe.
Add scenario for Azure Sentinel on Azure Arc enabled Servers

Describe the solution you'd like
Describe the onboarding experience of Azure Arc enabled Servers on Azure Sentinel, and showcase if there are any specific scenarios

Describe alternatives you've considered
None

Additional context
None

Ansible Onboarding Scenario

Is your feature request related to a problem? Please describe.
Show the process of onboarding VMs on Azure Arc using Ansible

Describe the solution you'd like
Provide a playbook and a description on how to automate the onboarding of VMs on Azure Arc

Describe alternatives you've considered
One playbook and multiple tasks to be agnostic of the operating system. Make sure that for Linux it is agnostic of the distro

Additional context
NA

GitOps Azure Policy for GKE

Is your feature request related to a problem? Please describe.
Use Azure Policies to create GitOps configuration on GKE Azure Arc connected cluster.

Describe the solution you'd like
Create documentation on how to use an Azure Policy to deploy GitOps configuration on GKE Azure Arc connected cluster in order to deploy a sample app.

Additional context
https://docs.microsoft.com/en-us/azure/governance/policy/concepts/policy-for-kubernetes#install-azure-policy-add-on-for-azure-arc-enabled-kubernetes

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.