头图

We're excited to announce the general availability of three new capabilities, Dapr, Azure Machine Learning, and GitOps, enabled on Azure Kubernetes Service (AKS), which can be enabled on AKS clusters through a feature called "cluster scaling." Cluster scaling provides a large-scale mechanism to deploy, update, and manage the lifecycle of services represented by scaled instances running on your AKS cluster. With this capability, these services can be managed through tools such as the Azure CLI and the Azure SDK.

What is AKS cluster scaling?

Cluster Extension provides an Azure Resource Manager (ARM) driven experience for installation and lifecycle management of Azure services and supported open source projects on AKS clusters. Cluster extensions provide users with a unified experience for installing, updating, and upgrading support services. Users can install specific versions and upgrade supported service versions through manual upgrade or automatic upgrade options. Cluster extensions expose a standard set of operations through the Azure CLI. See the Azure CLI documentation and AKS cluster extension documentation for more details.

 # Install  
az k8s-extension create  
# Update  
az k8s-extension update  
# Delete
az k8s-extension delete 

Dapr cluster scaling

The Distributed Application Runtime (Dapr) is a set of incrementally adoptable APIs that simplifies the authoring of microservices-based distributed applications. For example, Dapr provides features that enable applications to communicate with each other, whether through pubsub messaging, or reliable and secure service-to-service calls. Dapr APIs, also known as building blocks, are built on best practice industry standards, namely:

  • Matches seamlessly with your preferred language or framework
  • Adoptable incrementally, you can use one, more or all building blocks as needed

The AKS Dapr extension provisions Dapr on your AKS cluster, saving you the overhead of downloading any Dapr tools and manually installing and managing the Dapr runtime on your AKS cluster. The extension provides a fully supported version of Dapr and integrates all native Dapr configuration functionality via simple command line arguments.

The following command deploys the Dapr extension on an AKS cluster:

 az k8s-extension create --extension-type Microsoft.Dapr \  
--cluster-type managedClusters \  
--cluster-name myAKSCluster \  
--resource-group myResourceGroup \  
--name myDaprExtension \  
--version X.X.X.X 

You can allow Daprto to automatically update its minor version by specifying the --auto-upgrade-minor-version parameter and setting the value to true:

--auto-upgrade-minor-version true

The following command displays a snapshot of installed Dapr extensions:

 az k8s-extension show --cluster-type managedClusters \ 
--cluster-name myAKSCluster \ 
--resource-group myResourceGroup \ 
--name myDaprExtension

The managed cluster id shows that the DaprExtension exists, and the command: kubectl get namespace yields the following:

Dapr uses "smart defaults" and is installed in a high-availability environment as a recommendation for a production environment.

kubectl get pods -n dapr-system yields the following

Azure Machine Learning cluster scaling

Azure ML Cluster Extension for AKS is a machine learning operator that is deployed and managed on AKS using the cluster extension CLI. An Azure ML operator configures and attaches an AKS cluster to an Azure Machine Learning workspace to train and manage machine learning models. After deploying an Azure ML cluster extension on AKS, you can attach the cluster as a compute type to run training and inference models in your machine learning workspace.

The Azure ML extension is designed to help IT operators leverage native Kubernetes concepts such as: namespaces, node selectors, and resource requests/limits for machine learning compute utilization and optimization. By letting IT operators manage Azure ML compute setups, the Azure ML extension creates a seamless experience for data science experts who don't need to learn or use Kubernetes directly.

AKS clusters allow enterprises to run highly available machine learning and deep learning models using GPU computing.

The following command deploys the Azure ML extension on the AKS cluster:

 az k8s-extension create --extension-type Microsoft.AzureML.Kubernetes \  
--cluster-type managedClusters \  
--cluster-name myAKSCluster \  
--resource-group myResourceGroup \  
--name amlarc-compute \  
--configuration-settings enableTraining=True \  
--scope cluster 

GitOps Flux cluster scaling

Teams running modern cloud-native applications need reliable automated processes to manage Kubernetes cluster configuration and application lifecycle. GitOps is a technique for implementing continuous deployment for these applications and configurations, focusing on using tools and processes familiar to developers and cluster administrators, such as Git and pull requests. GitOps supports infrastructure as code, where the state of the environment is described declaratively in a Git repository. Changes to the workload environment, such as application updates, happen through pull requests to the Git repository, after which Flux running in each cluster automatically syncs and applies the changes to the cluster. Flux also continuously ensures that the cluster remains in the stated state. GitOps supports accurate change management and auditing because the cluster state and all changes are fully visible in the Git repository. Developers and deployment tools do not need direct access to the cluster, thus enhancing cluster security. In short, GitOps is the modern way to manage continuous deployment of modern workloads, and Azure GitOps with Flux gives you that capability.

Azure uses the open source CNCF Flux to enable GitOps in AKS clusters. Azure provides easy installation, automatic updates, and health reporting to simplify your use of GitOps across one to thousands of clusters.
GitOps with Flux v2 is enabled as a cluster extension for AKS clusters. The Flux extension installs the Flux controller in the cluster.

With Flux enabled, you can create one or more GitOps configurations in each cluster to enable connections to Git repositories and deployment of resources defined in the repository.

Azure GitOps with Flux v2 supports multi-tenancy. When multiple teams share a cluster, you may have a Flux configuration pointing to the cluster management team repository to baseline security configuration and management applications for each cluster at the cluster level. Then you might have one or more namespace-scoped Flux configurations that point to the application team repository to install applications created by various groups in your company.

In Azure, you can track the compliance status of deployments in each cluster, ensuring the cluster is in the state you declare in the Git repository, providing observability of the cluster state.

Summarize

The above extensions allow users to use leading Azure services such as machine learning and event-driven open source projects (such as Dapr on AKS) through a simple deployment model. Users can also use the configuration management features with AKS.


Long press to identify the QR code and follow Microsoft China MSDN

**Click to read the original blog


微软技术栈
418 声望994 粉丝

微软技术生态官方平台。予力众生,成就不凡!微软致力于用技术改变世界,助力企业实现数字化转型。