Registering an Azure Kubernetes Service Cluster with Argo CD

Argo CD is a GitOps operator and the goal of it is to be able to deploy apps to Kubernetes. In the majority of cases, we want to use Argo CD to deploy apps to many clusters.

Argo CD itself is deployed as a set of pods on a Kubernetes cluster. By default with an Argo CD deployment, the cluster it is running on is set as “in-cluster” (https://kubernetes.default.svc). When apps are configured for deployment a Kubernetes Cluster under Destination is required. They can be deployed to either the “in-cluster” K8s cluster or an external K8s cluster.

In order to deploy apps to an external Kubernetes cluster, you will need to register an external K8s cluster with Argo CD.

If you want to see the clusters you have registered with your Argo CD one way is through the web UI. Once you log in navigate to Settings and then Clusters to see them.

You can also see the clusters you have in the Argo CD CLI. To use the Argo CD CLI you need to log into the Argo CD API Server as shown in the following screenshot.

To see what clusters are registered from the CLI you can run

argocd cluster list

You will notice that you will only see the In-Cluster K8s cluster until you add an external one. Also, note that you are not able to register a new K8 cluster in the Argo CD web UI. You can only register a new K8s cluster from the Argo CD CLI. Within the Argo CD web UI you can delete the default in-cluster K8s cluster. This is not recommended.

If you click on the In-Cluster K8s cluster you can modify some settings of the in-cluster K8s cluster in the Argo CD web UI such as the name of it and its namespace. Not useful when you want to have more control over the settings around the K8s cluster you will be deploying apps to.

In my example, my Azure subscription has two AKS clusters. You can see this in the following screenshot. The arriving-gelding-k8s cluster is my In-Cluster object in Argo CD. The selected-worm-k8s is not my In-Cluster so I want to add this one to my Argo CD.

To add the new external cluster run use the following steps.

Step 1: Add your target K8s cluster to ArgoCD via the context in your kubectl config.

-For AKS you can simply log into your Azure subscription from VS Code on your computer and then run

 az aks get-credentials –resource-group RGNAME –name AKSCLUSTERNAME

This will add the context for your AKS cluster to your kubeconfig file.

-For the process on your setup refer to the following link as it may differ:  https://kubernetes.io/docs/tasks/access-application-cluster/configure-access-multiple-clusters

Step 2: List the K8 cluster contexts in your current kubeconfig file to ensure your target cluster has been added. Do this by locally running:

kubectl config get-contexts -o name

Step 3: Install a Service Account (argocd-manager), into the kube-system namespace of your kubeconfig file context:

argocd cluster add CONTEXTNAME

It will look like this:

After completing the previous steps you can run argocd cluster list again or go into the portal. You will see your new cluster added.

That wraps up this blog post. Now you should be able to deploy to more than just your In-Cluster Kubernetes cluster. Check back soon for more posts on Argo CD, GitOps, Kubernetes, and Azure topics.

Read more

Deploy App to Azure Kubernetes Service via Argo CD

In my last post on Argo CD with AKS, I mentioned the next post would explore deploying an app via Argo CD. Well, in this post we are going to do just that. I am going to walk through deploying an app from Argo CD to AKS. Note this same process would work for any Kubernetes cluster. This is not going to be a long post as the process is straightforward.

First of all, you can deploy an app from the Argo CD web UI or CLI. Ready your application in a Git-based repository. It does not matter what source control system you use for your repository as long as it is Git-based. You can use Azure DevOps, Gitlab, Bit Bucket etc. In my case I use GitHub. To deploy an app you need to point to a Git repository of either K8s manifest, Helm, or Kustomize. In this blog post I am going to keep it simple and use the Hello K8s app from Paul Bouwer. Ok, now let’s jump in.

Here are the steps for Deploying an App to Argo CD within the Web UI:

  1. In the Argo CD web UI ensure you are on the Applications page
  2. Click the + NEW APP button
  3. Give the app the name hellok8s, use the project default (I used a dev project in my example), select Automatic for the sync policy, check AUTO-CREATE NAMESPACE
  4. On Source for the Repo URL use https://github.com/paulbouwer/hello-kubernetes.git & select deploy/helm/hello-kubernetes for the path
  5. For the DESTINATION select https://kubernetes.default.svc for the Cluster URL and use hellok8s for the namespace
  6. Leave all the defaults under HELM
  7. Click the CREATE button at the top of the UI

Once the app is deployed it will look like this:

You can view the resources in AKS now. In the following screenshot you can see the deployment, pods, and service of a load balancer type.

You can also speed things up by deploying your app via the Argo CD CLI. This will accomplish the same goal as you would deploying the app via the Argo CD Web UI.

Deploying an App to Argo CD from the Argo CD CLI:

argocd app create hellok8s –repo https://github.com/paulbouwer/hello-kubernetes.git –path deploy/helm/hello-kubernetes –dest-server https://kubernetes.default.svc –dest-namespace default

That wraps things up for this post. Check back soon for more posts on Argo CD, GitOps, Kubernetes, and Azure topics.

Read more

“Azure Arc enabled Servers” Course on Pluralsight

Today my 11th course on Pluralsight was published! This course is “Azure Arc Enabled Servers: Getting Started“. In this course, Azure Arc-enabled Servers: Getting Started, you’ll learn how to manage external servers with Azure Arc.

Managing Windows and Linux servers across on-premises and multiple clouds can be disjointed and overly complicated. Many organizations today are choosing to adopt a multi-cloud strategy driving the boom in having servers across many clouds. After viewing this course, you’ll have knowledge of Azure Arc enabled Servers and how to use it to manage Windows and Linux servers across on-premises and multiple clouds.

Check out the course here: https://app.pluralsight.com/library/courses/azure-arc-enabled-servers-getted-started

This is my 2nd course in the Azure Arc path titled “Managing Environments with Azure Arc” on Pluralsight. There are other courses in the path already such as Azure Arc: The Big Picture, Azure Arc enabled Kubernetes: Getting Started (by me), Azure Arc-enabled Data Services: The Big Picture, and Azure Arc & Azure Lighthouse: First Look, and many more Azure Arc courses on the way.

Here is a link to check out the new Azure Arc path: https://app.pluralsight.com/paths/skills/managing-environments-with-azure-arc

I hope you find value in this new Azure Arc enabled Kubernetes: Getting Started course. Be sure to follow my profile on Pluralsight so you will be notified as I release new courses including my second Azure Arc related course! 

Here is the link to my Pluralsight profile to follow mehttps://app.pluralsight.com/profile/author/steve-buchanan

Read more

Tech Talk: “Going Beyond Spelling Azure & Pursuing a Cloud Career”

On 10/26/21 I will be presenting at the BDPA Twin Cities & Daugherty’s sixth Tech Talk! In this talk, I will give an overview of Microsoft’s Cloud taking you beyond knowing how to spell Azure. LOL

In this session, I am going to dive into the many facets and services Azure has to offer spanning from dev, infrastructure, DevOps, data, & more. We are also going to explore what it takes to start a career in Cloud and what the areas of growth in the Cloud are.

The session is Tuesday, October 26, 2021at 5:30 – 7:00 PM (CST).

REGISTER HERE

If you missed the 10/26/21 BDPA Tech Talk, here is the link to the recording:

https://vimeo.com/639520772/29e0204dca

Read more

Speaking at the Jamaica Azure User Group on Intro to GitOps and AKS

On September 30th I will be speaking at the Jamaica Azure User Group giving an intro to GitOps and AKS!

Here is a breakdown of what I will be covering in this session:

CI/CD with Kubernetes on top of management of Kubernetes configuration management can be complex and intimidating. Application definitions, configurations, management, and continuous delivery for Kubernetes can be simplified, automated, and declarative. This can be achieved via GitOps.

Microsoft simplifies running Kubernetes with Azure Kubernetes Service (AKS) but it can still be complex when it comes to the management you are responsible for and application deployment.

In this session we will take a look at:

-An intro into AKS
-An intro into GitOps
-How you can utilize GitOps and git-based techniques with AKS to drive easier application deployment
-How to use GitOps for configuration management of Kubernetes from your source control system

More Info:

https://www.linkedin.com/events/jamaicaazureusergroup-introtogi6842930876523851776/

Register here:

https://events.jamazure.com/

Read more

Guest on Azure Arc Jumpstart Lightning

I was recently a guest on Microsoft’s Azure Arc Jumpstart Lighting show. In the episode of Jumpstart Lightning, I shared with Lior my thoughts around Azure Arc-enabled Kubernetes, industry trends, GitOps, and my new Azure Arc enabled Kubernetes Getting Started course on Pluralsight.

Check it out here:

Here is the link to my Azure Arc enabled Kubernetes course on Pluralsight: https://app.pluralsight.com/library/courses/azure-arc-enabled-kubernetes-getting-started

Here is the link to the full Azure Arc path on Pluralsight: https://app.pluralsight.com/paths/skills/managing-environments-with-azure-arc

Read more

Azure Arc enabled Kubernetes: Getting Started – Pluralsight Course

Today Pluralsight published 1 of 2 Azure Arc courses I am building. This marks my 10th course on Pluralsight! This first course is Azure Arc enabled Kubernetes: Getting Started. Azure Arc is a key service in the Azure story extending Azure to the on-premises data center and or multiple clouds outside of Azure.

This course is just under 2 hours and packed full of information & demos to help you get started with the topic. I go into a deeper understanding of the multi-cloud market, Kubernetes in the enterprise, and Azure Arc enabled Kubernetes. Azure Arc enabled Kubernetes architecture. Setting up and using Azure Arc enabled Kubernetes. And using GitOps with Azure Arc enabled Kubernetes.

NEW 
RELEASES 
(-18 _ 
Google Cloud 
Understanding Google Cloud 
Security and Operations 
Google Cloud 
lh 17m 
Beginner 
Jun 2021 
Azure Arc Enabled 
Kubernetes: Getting Started 
Steve Buchanan 
Intermediate 
lh 57m 
Jun 2021 
Using the Xamarin.Forms 
Shell 
Christopher Miller 
Intermediate 
Jun 2021 
(30) 
lh 33m 
Demystifying the AWS 
Certified Developer: Associ... 
Ryan Lewis 
Intermediate 
Jun 2021 
57m 
(32)

I am excited about releasing this course for several reasons: #1 Azure Arc is a newer technology from Microsoft and I am happy to share my knowledge about it, #2 This one is a combination of Azure Arc, Kubernetes, & GitOps all technologies I have been working with regularly, #3 Azure is growing, Kubernetes is growing, and multi-cloud is growing all in the enterprise and this course covers all three of these.

Azure Arc Enabled Kubernetes: Getting Started 
by 
w i u how end A«

Here is the description of the course:

Managing Kubernetes clusters across on-premises and multiple clouds can be disjointed and overly complicated. In this course, Azure Arc Enabled Kubernetes: Getting Started, you’ll learn to how to manage external Kubernetes clusters with Azure Arc. First, you’ll explore what Azure Arc k8s is and how to use it. Next, you’ll discover the features of Azure Arc K8s and how to use them. Finally, you’ll learn how to how to use Azure Arc K8s and GitOps to deploy applications. When you’re finished with this course, you’ll have the skills and knowledge of Azure Arc enabled Kubernetes needed to manage Kubernetes clusters across on-premises and multiple clouds.

Here are the areas and topics of the course:

Understanding Azure Arc Enabled Kubernetes                

Intro and Topics                

Understanding Azure Arc Enabled Kubernetes                

Understanding Azure Arc Enabled Kubernetes Use Cases                

Understanding Azure Arc Enabled Kubernetes Architecture                

Summary

 

Working with Kubernetes Clusters Using Azure Arc                

Intro and Topics                

Connecting Kubernetes Clusters to Azure Arc                

Demo: Connecting a Kubernetes Cluster to Azure Arc                

Monitoring projected Kubernetes Clusters with Azure Monitor and Azure Arc                

Demo: Setup Azure Monitor of Projected Kubernetes Cluster in Azure Arc                

Defining Authorization on Azure Arc Projected Kubernetes with Azure RBAC                

Protecting Azure Arc Projected Kubernetes Clusters with the Azure Defender                

Administering Projected Kubernetes Clusters with Azure Policy and Azure Arc                

Summary

 

Deploying Applications to Projected Kubernetes Clusters Using Azure Arc and GitOps                

Intro and Topics                

Understanding How GitOps Works with Azure Arc Enabled Kubernetes                

Deploying Applications and Configurations to Projected Kubernetes Clusters with Azure Arc and GitOps                

Demo: Deployment of an Application to a Projected Kubernetes Cluster via GitOps and Azure Arc K8s                

Deploying Helm Charts to Projected Kubernetes Clusters with Azure Arc and GitOps                

Deploying IoT Workloads with Azure Arc and GitOps                

Understanding the Future of Azure Arc Enabled Kubernetes                

Summary               

Here is a preview of the Azure Arc enabled Kubernetes course:

Here is a link to the full Azure Arc enabled Kubernetes course on Pluralsight: https://app.pluralsight.com/library/courses/azure-arc-enabled-kubernetes-getting-started

This course is also a part of the all new Azure Arc path titled “Managing Environments with Azure Arc” on Pluralsight. There are other courses in the path already such as Azure Arc: The Big Picture, Azure Arc-enabled Data Services: The Big Picture, and Azure Arc and Azure Lighthouse: First Look and many more Azure Arc courses on the way.

Managing Environments with Azure Arc 
This learning path introduces you to Microsoft's latest Azure offering: 
Anne Arc. With able to and 
deployed within of Azwe through the same 
control plane. As pu watch the courses in this path, first gain a 
of Arc and its befMe rm•mg 
to leaming product's specific including 
Azure Arc-enabled servers, Azure Arc-enabled data services, Azure Arc- 
«labled SOL 
leaming. Azure Arc and Amre At end of 
this learning path, you'll have a good foundation of knowledge to get 
started with Anne 
Related Topics 
Azure. SOL Server. Kubernetes. Machine Learning. Azure 
Light o 
Prerequisites 
Learners interested in path have experience With Azure administration and be familiar With the 
fund—Ital coruepts of data SOL 
What You Will Learn 
F u nd—-vtal Äpts 
AA' re with 
AA' re Arc's vah_æ and off«ings 
HOW Azure Arc enabled Se•rvetS work 
How Azure Arc enabled SOL Server works 
HOW Azure Arc enabled machine learning works 
How Azure Arc and Azure 
Authors 
Add ed to channel 
New questions are jn_theworks. 
with the courses below. 
Ben a Data MVP. with SOL siQ SOL 
Sewer mainly in the al/Datawarehousing held, Besides his muralsi9ht courses, Ben is_ 
Steve Buchanan is a Director, & Midwest Containers Services Lead on a Cloud 
Trarßfotmati•M/DevOps team with a large He is a 9-time '&rOSOft 
Niraj is a AWS/Azure Specialist with over a decade of work experience "Ito 
Data Modeling with Databases like Cassarudra, M0090Da, SparkSG•L ElasticSearch and SOL

Here is a link to check out the new Azure Arc path: https://app.pluralsight.com/paths/skills/managing-environments-with-azure-arc

I hope you find value in this new Azure Arc enabled Kubernetes: Getting Started course. Be sure to follow my profile on Pluralsight so you will be notified as I release new courses including my second Azure Arc related course! 

Here is the link to my Pluralsight profile to follow mehttps://app.pluralsight.com/profile/author/steve-buchanan

Read more

Guest on New Relic Observy McObservface Podcast – GitOps, Kubernetes, Linux on Azure, AI, Blockchain, and more

I was recently a guest on New Relic‘s Developer Relations team podcast “Observy McObservface” with Jonan Scheffler.

Jonan Scheffler and I talk about Microsoft’s Azure Kubernetes Service (AKS), Linux on Azure, how Microsoft’s been successful at working in enterprise and open source, where I believe GitOps & Kubernetes is eventually going to go, and my excitement in regards to AI and blockchain as well as how they’re going to impact the world. You can listen to the podcast and read the article links below.

Listen to the Podcast:
https://www.buzzsprout.com/1225223/8618776-open-is-not-optional-shifting-sands-and-faxing-on-blockchains-with-steve-buchanan

Read the Article:
https://www.therelicans.com/mandymoore/open-is-not-optional-shifting-sands-and-faxing-on-blockchains-with-steve-buchanan-495p

Read more

9 Pluralsight Courses

I recently published 2 new courses bringing my total Pluralsight courses to 9! These two new courses wrap up my time authoring courses for the SAP on Azure path. These 2 new courses are Migrating SAP Workloads to Azure and Designing an Azure Solution to Support SAP Workloads.

This brand new path is Planning and Administering Microsoft Azure for SAP Workloads (AZ-120). This path also has a course by Tim Warner as well as two more being developed right now! Also, I should mention this path also contains my SAP on Azure: The Big Picture course.

This new path will help you prepare to take the AZ-120 exam to earn your Microsoft Certified: Azure for SAP Workloads Specialty certification and ramp up on SAP on Azure in general.

Check out the path here: https://app.pluralsight.com/paths/certificate/planning-and-administering-microsoft-azure-for-sap-workloads-az-120

I hope you find value in this new SAP on Azure learning path on Pluralsight. Again these two new courses bring me to a total of 9 courses now published on the Pluralsight platform! Next up I will start working on some Azure courses. These new courses will cover managing servers and Kubernetes with Azure Arc. I am very excited about my next courses. Be sure to follow my profile on Pluralsight so you will be notified as I release these new courses! 

Here is the link to my Pluralsight profile to follow mehttps://app.pluralsight.com/profile/author/steve-buchanan

Read more

How to get started with SAP on Azure Including Hands-On

SAP is the #1 business software in the world. You will find SAP applications running in a majority of Fortune 500 companies powering their business. Becoming an expert in SAP is a great career move for anyone in tech and business.

Azure is a major cloud player in the public cloud space. Microsoft has done a lot of work to make Azure the best fit for running SAP in the public cloud. Becoming an expert in Azure is also a great career move.

Both SAP and Azure are in high demand and will be for the foreseeable future. Building a combined SAP and Azure skillset to become an SAP on Azure SME can have a huge positive impact on your career.

Considering the number of organizations that run SAP with most of them looking to migrate it to the public cloud or deploy SAP new on the public cloud means you would be a key to these organizations if you have SAP on Azure skills.

One of the challenges with SAP has always been-how can one get experience with it and get some hands-on with it? It is no secret that SAP is expensive and therefore is not the easiest to get access to for anyone that is ramping up on it. In this blog, I will highlight some options for learning SAP on Azure as well as how to get some hands-on with it.

First off Microsoft has an SAP on Azure certification. This is AZ-120: Planning and Administering Microsoft Azure for SAP Workloads. This certification is for anyone that wants to demonstrate knowledge of both SAP and Azure along with the ability to run SAP on Azure public cloud. If you are a SAP Basis person, on-premises SAP administrator, Azure administrator, sysadmin, cloud admin, solution architect, business analyst, and more then this certification and career path is for you. Skills measured by this AZ-120 exam include:

Migrate SAP Workloads to Azure
Create an inventory of existing SAP landscapes
Design a migration strategy
Design an Azure Solution to Support SAP Workloads
Design a core infrastructure solution in Azure to support SAP workloads
Design Azure infrastructure services to support SAP workloads
Design a resilient Azure solution to support SAP workloads
Build and Deploy Azure for SAP Workloads
Automate deployment of Virtual Machines (VMs)
Implement and manage virtual networking
Manage access and authentication on Azure
Implement and manage identities
Monitor SAP workloads on Azure
Validate Azure Infrastructure for SAP Workloads
Perform infrastructure validation check
Perform operational readiness check
Operationalize Azure SAP Architecture
Optimize performance
Migrate SAP workloads to Azure

One option for learning more about SAP on Azure is to check out my Pluralsight course on this here: https://app.pluralsight.com/library/courses/sap-azure-big-picture, check out this SAP on Azure book here: https://www.amazon.com/SAP-Azure-Implementation-Guide-business/dp/1838983988, and this blog post with more info on the SAP on Azure certification here: https://app.pluralsight.com/guides/cloud-certifications-:-azure-for-sap-workloads-specialty-(az-120).

Now comes the hands on part with SAP!

SAP Docker Containers:

SAP has some express and developer editions of their software available as Containers. These are hosted on Dockerhub. It’s really cool that that SAP has made some of their solutions available as Docker containers. This makes it really easy to spin up the solutions and get started with them right away without having to load a server and install the SAP software. All you need is Docker Desktop to run these locally.

You could also run these containers in the cloud as well. It is critical to note that you still need a considerable amount of resources (CPU, RAM, Disk space) to support running the SAP solutions as containers. Do not cut corners on this. Allocate the required amount of resources. Overall this is a great option if you want to get the SAP software up and running as fast as possible to focus on getting hands-on with the SPA software itself. Here are the container options:

Full SAP software Trials and Downloads:

This option is a full download of the SAP software that you install on a virtual machine running in Azure. As opposed to the SAP containers you will need to go through the process of deploying a VM, configuring any prereqs, and then installing the SAP software. Overall if you want to get the experience of configuring the VM’s and installing the SAP software then this is a great option. Here is the option:

Azure Cloud Options:

The first option SAP Cloud Appliance Library (SAP CAL) is a service from SAP that allows you to select a preconfigured SAP solution on your cloud of choice letting SAP deploy the SAP solution in your cloud subscription for you. This option includes trials of the SAP software. This a great option to get hands-on experience in Azure. It does not help you gain experience with deploying and configuring the Azure estate though and that is something you will need to do on a real project.

The last two options will take you through the journey of using Infrastructure as Code (IaC) to deploy the estate needed to support SAP running in the cloud, the VM’s that will run the SAP software, and deployment of trial SAP software.

Overall the first option SAP CAL is a great way to quickly get started with SAP on Azure and see what the experience is like. The last two options are the best giving you hands-on both with Azure and with SAP the closest you will get to the real world. 

  • SAP Cloud Appliance Library (SAP CAL)
    • SAP CAL is an online library of preconfigured and ready-to-use SAP solutions on a trial basis. SAP CAL gives you a quick & easy way to spin up SAP solutions directly in Azure and other clouds. It includes SAP S/4HANA, SAP HANA Express Edition, and more. 
    • https://cal.sap.com
  • Infrastructure as Code to deploy SAP in Azure
  • SAP Deployment Automation Framework
    • Terraform to deploy the architecture needed for SAP and the SAP virtual machines. Ansible to configure the virtual machines and install the SAP on Azure software.

That brings us to the end of this blog post. I hope you find this helpful with tips on how to get started with SAP on Azure including some hands on! Thanks for reading.

Read more