{"id":3592,"date":"2023-07-30T20:08:00","date_gmt":"2023-07-30T20:08:00","guid":{"rendered":"http:\/\/wordpress.nationaltrail.k12.oh.us\/ittech\/?p=3592"},"modified":"2023-07-30T20:08:19","modified_gmt":"2023-07-30T20:08:19","slug":"creating-a-azure-devops-kubernetes-on-premise-platform","status":"publish","type":"post","link":"https:\/\/wordpress.nationaltrail.k12.oh.us\/ittech\/2023\/07\/30\/creating-a-azure-devops-kubernetes-on-premise-platform\/","title":{"rendered":"Creating a Azure DevOps\/Kubernetes On-Premise Platform"},"content":{"rendered":"<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Assumptions<\/span>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">You already have a vCenter virtual environment with permission to create virtual machines.<\/span>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">This environment is fully licensed.<\/span><\/li>\n<\/ul>\n<\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">You have prior knowledge of how to create a virtual machine (Can make a Windows Server 2022 machine).<\/span><\/li>\n<\/ul>\n<\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Prerequisites<\/span>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">On Personal Machine<\/span>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Download and install the Tanzu Grid CLI tools from the VMWare website<\/span>\n<ul>\n<li style=\"font-weight: 400\"><a href=\"https:\/\/customerconnect.vmware.com\/downloads\/info\/slug\/infrastructure_operations_management\/vmware_tanzu_kubernetes_grid\/2_x\"><span style=\"font-weight: 400\">DOWNLOAD LINK HERE<\/span><\/a><\/li>\n<li><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-3593\" src=\"http:\/\/wordpress.nationaltrail.k12.oh.us\/ittech\/wp-content\/uploads\/sites\/2\/2023\/07\/Tanzu-203x300.jpg\" alt=\"\" width=\"203\" height=\"300\" srcset=\"https:\/\/wordpress.nationaltrail.k12.oh.us\/ittech\/wp-content\/uploads\/sites\/2\/2023\/07\/Tanzu-203x300.jpg 203w, https:\/\/wordpress.nationaltrail.k12.oh.us\/ittech\/wp-content\/uploads\/sites\/2\/2023\/07\/Tanzu.jpg 205w\" sizes=\"auto, (max-width: 203px) 100vw, 203px\" \/><\/li>\n<\/ul>\n<\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Download, install, and open Docker Desktop on your machine<\/span>\n<ul>\n<li style=\"font-weight: 400\"><a href=\"https:\/\/docs.docker.com\/desktop\/install\/windows-install\/\"><span style=\"font-weight: 400\">DOWNLOAD LINK<\/span><\/a><\/li>\n<li><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-3594\" src=\"http:\/\/wordpress.nationaltrail.k12.oh.us\/ittech\/wp-content\/uploads\/sites\/2\/2023\/07\/ova.jpg\" alt=\"\" width=\"209\" height=\"248\" \/><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">On vCenter<\/span>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">You need to download the Tanzu base image (OVA file) from the VMware website, upload it to your server and convert it to a template. (When you do the initial setup on the Tanzu you will know what version you need)<\/span>\n<ul>\n<li style=\"font-weight: 400\"><a href=\"https:\/\/customerconnect.vmware.com\/downloads\/details?downloadGroup=TKG-211&amp;productId=1400&amp;rPId=103050\"><span style=\"font-weight: 400\">DOWNLOAD LINK HERE<\/span><\/a><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Create an SSH Public key on your vCenter environment<\/span>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Generate a public key using Puttygen or other key-generation softwares<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">SSH to the vCenter server using Putty or another SSH service<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Enter the following commands and change the following lines<\/span>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">vi \/etc\/ssh\/sshd_config<\/span>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">CHANGE: PermitRootLogin no\u201d to \u201cPermitRootLogin yes\u201d<\/span><\/li>\n<\/ul>\n<\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">vi \/etc\/ssh\/keys-root\/authorized_keys<\/span>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Add the key you created<\/span><\/li>\n<\/ul>\n<\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">\/etc\/init.d\/SSH restart<\/span><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Do the Tanzu Installation<\/span>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Enter the following commands into the command line<\/span>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">tanzu init<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">tanzu mc create -u<\/span><\/li>\n<\/ul>\n<\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">You will be presented with a web GUI for the Tanzu installation<\/span>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Select \u201cDeploy\u201d under the VMware vSphere option<\/span><\/li>\n<li><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-3595 \" src=\"http:\/\/wordpress.nationaltrail.k12.oh.us\/ittech\/wp-content\/uploads\/sites\/2\/2023\/07\/Tanzu-Init.jpg\" alt=\"\" width=\"771\" height=\"392\" srcset=\"https:\/\/wordpress.nationaltrail.k12.oh.us\/ittech\/wp-content\/uploads\/sites\/2\/2023\/07\/Tanzu-Init.jpg 865w, https:\/\/wordpress.nationaltrail.k12.oh.us\/ittech\/wp-content\/uploads\/sites\/2\/2023\/07\/Tanzu-Init-300x153.jpg 300w, https:\/\/wordpress.nationaltrail.k12.oh.us\/ittech\/wp-content\/uploads\/sites\/2\/2023\/07\/Tanzu-Init-768x391.jpg 768w\" sizes=\"auto, (max-width: 771px) 100vw, 771px\" \/><\/li>\n<\/ul>\n<\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Under the IaaS Provider Option<\/span>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">IP or FQDN<\/span>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Enter the IP address\/DNS name of your virtual environment<\/span><\/li>\n<\/ul>\n<\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Username<\/span>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Enter the username of an administrator account for vCenter<\/span><\/li>\n<\/ul>\n<\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Password<\/span>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">The password to the account name you provided<\/span><\/li>\n<\/ul>\n<\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Disable verification<\/span>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Unchecked<\/span><\/li>\n<\/ul>\n<\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">SSL Thumbprint Verification<\/span>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Check \u201cDisable Verification\u201d<\/span><\/li>\n<\/ul>\n<\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Click Connect<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Select the datacenter you have set up in vCenter<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">SSH Public Key<\/span>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Enter the same public key you put in your vCenter config files<\/span><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Under Management Cluster Settings Tab<\/span>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Deployment\u00a0<\/span>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Select the desired instance type; I used small<\/span><\/li>\n<\/ul>\n<\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Management Cluster Name\u00a0<\/span>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Give your new cluster a name<\/span><\/li>\n<\/ul>\n<\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Control Plane Endpoint Provider<\/span>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Kube-vip (for simplicity&#8217;s sake)<\/span><\/li>\n<\/ul>\n<\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Worker Node Instance Type<\/span>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">I used small<\/span><\/li>\n<\/ul>\n<\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Control Plane Endpoint<\/span>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Give your cluster an unused IP address<\/span><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">VMware NSX Advanced Load Balancer<\/span>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">LEAVE THIS BLANK<\/span><\/li>\n<\/ul>\n<\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Metadata<\/span>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">LEAVE THIS BLANK<\/span><\/li>\n<\/ul>\n<\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Resources<\/span>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">VM Folder<\/span>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Select the folder that you want your VMs to be a part of.<\/span><\/li>\n<\/ul>\n<\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Datastore<\/span>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Select the datastore you want your machines to be stored<\/span><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Kubernetes Network<\/span>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Network Name<\/span>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Select the port group\/vCenter network you want to use.<\/span><\/li>\n<\/ul>\n<\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Cluster Service CIDR<\/span>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Leave Default\u00a0<\/span>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">CLUSTER SERVICE CIDR<\/span>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">100.64.0.0\/13<\/span><\/li>\n<\/ul>\n<\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">CLUSTER POD CIDR<\/span>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">100.96.0.0\/11<\/span><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Identity Management<\/span>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">DISABLE THE CHECKBOX TO BLANK THIS OUT<\/span><\/li>\n<\/ul>\n<\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">OS Image<\/span>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Select the template you made earlier in the installation process<\/span><\/li>\n<\/ul>\n<\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Select \u201cReview Configuration\u201d and finish the installation<\/span><\/li>\n<\/ul>\n<\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Deploy an Azure DevOps machine<\/span>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Create a Windows Server VM (I used 2022)<\/span>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Download the Azure DevOps Server Tools<\/span>\n<ul>\n<li style=\"font-weight: 400\"><a href=\"https:\/\/learn.microsoft.com\/en-us\/azure\/devops\/server\/download\/azuredevopsserver?view=azure-devops\"><span style=\"font-weight: 400\">DOWNLOAD LINK HERE<\/span><\/a><\/li>\n<\/ul>\n<\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">This is a very typical setup wizard (basically just clicking next 5 times). It will install Java and SQL for you if you do not have them already.<\/span><\/li>\n<\/ul>\n<\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">After an uneasy amount of time, the installation will be complete (you may need to restart). You can then open the Azure DevOps Server Administration Console.<\/span>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">You can then connect to the web GUI through a web browser<\/span>\n<ul>\n<li style=\"font-weight: 400\"><a href=\"http:\/\/azure-devops\"><span style=\"font-weight: 400\">http:\/\/azure-devops<\/span><\/a><span style=\"font-weight: 400\"> OR http:\/\/SERVER _IP_ADDRESS<\/span><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">The username and password are the same as the Admin user account on the Windows Server 2022 server<\/span>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">You can add other users in the administration console under the \u201cApplication Tire\u201d tab under \u201cAdministration Console Users\u201d<\/span><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Connecting Everything Together &#8211; The Finale<\/span>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">In the Azure-DevOps web GUI, go to \u201cCollection Settings\u201d located at the bottom left.<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Go to the \u201cAgent Pools\u201d tab toward the bottom left<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Select the Default Agent pool<\/span>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Select \u201cNew Agent\u201d at the top right<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Follow the instructions prompted to you on the screen (downloading a zip file, making a few directories, and such).<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">I HAVE USED THE SAME 2022 SERVER FOR BOTH HOSTING THE DEVOPS WEBSITE AND THE AGENT TOOLS.<\/span>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Run \u201cconfig.cmd\u201d<\/span>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Enter Server URL<\/span>\n<ul>\n<li style=\"font-weight: 400\"><a href=\"https:\/\/your\"><span style=\"font-weight: 400\">https:\/\/<\/span><\/a><span style=\"font-weight: 400\">AZURE_DEVOPS_IP_ADDRESS<\/span><\/li>\n<\/ul>\n<\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Press enter for the integrated authentication type<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Run this as a service so it starts when the machine starts<\/span><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Go to the \u201cAgents\u201d tab in the Default Agent Pool section<\/span>\n<ul>\n<li><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-3596\" src=\"http:\/\/wordpress.nationaltrail.k12.oh.us\/ittech\/wp-content\/uploads\/sites\/2\/2023\/07\/agents-300x60.jpg\" alt=\"\" width=\"300\" height=\"60\" srcset=\"https:\/\/wordpress.nationaltrail.k12.oh.us\/ittech\/wp-content\/uploads\/sites\/2\/2023\/07\/agents-300x60.jpg 300w, https:\/\/wordpress.nationaltrail.k12.oh.us\/ittech\/wp-content\/uploads\/sites\/2\/2023\/07\/agents.jpg 410w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/li>\n<\/ul>\n<\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">There should now be an Agent that is currently online<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Connect the Kubernetes cluster to a pipeline<\/span>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">In the Azure DevOps console, create a new Project on the main screen<\/span>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Go to the \u201cpipelines\u201d selection on the left<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Select \u201cEnvironments\u201d<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Create Environment<\/span>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Give it a name<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Select Kubernetes as the Resource<\/span>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Provider\u00a0<\/span>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Leave Default<\/span><\/li>\n<\/ul>\n<\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Cluster Name<\/span>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">This will be what you named your cluster when you created the Tanzu Cluster<\/span><\/li>\n<\/ul>\n<\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Namespace<\/span>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">You can use the \u201cdefault\u201d namespace for simplicity&#8217;s sake<\/span><\/li>\n<\/ul>\n<\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Server URL<\/span>\n<ul>\n<li style=\"font-weight: 400\"><a href=\"https:\/\/your_cluster_ip_address_you_assigned\"><span style=\"font-weight: 400\">https:\/\/YOUR_CLUSTER_IP_ADDRESS_YOU_ASSIGNED<\/span><\/a><\/li>\n<\/ul>\n<\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Secret<\/span>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">In a command line interface, connect to your Tanzu Cluster<\/span>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">tanzu init<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">tanzu login<\/span>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Select your cluster and hit enter<\/span><\/li>\n<\/ul>\n<\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Create a new service account<\/span>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Download the file located <\/span><a href=\"https:\/\/github.com\/UnboltedHD2500\/Service-Account-Creation.git\"><span style=\"font-weight: 400\">HERE\u00a0<\/span><\/a><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Change your directory to your downloads folder in the command line<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Execute a command to run the YAML file<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">kubectl apply -f azure-devops-service-account.yaml<\/span><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Get the token for the service account<\/span>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">kubectl get serviceAccounts &lt;service-account-name&gt; -n &lt;namespace&gt; -o=jsonpath={.secrets[*].name}<\/span><\/li>\n<\/ul>\n<\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Use the token to get the secret<\/span>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">kubectl get secret &lt;service-account-secret-name&gt; -n &lt;namespace&gt; -o json<\/span>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Replace the &lt;Service Account Secret Name&gt; with the token you got from the previous command<\/span><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Enter the output you got from that in the Azure DevOps \u201cSecret\u201d textbox.<\/span><\/li>\n<\/ul>\n<\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Check the \u201cAccept untrusted certificates\u201d checkbox<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Finish by clicking \u201cValidate and Create\u201d<\/span><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Assumptions You already have a vCenter virtual environment with permission to create virtual machines. This environment is fully licensed. You have prior knowledge of how to create a virtual machine (Can make a Windows Server 2022 machine). Prerequisites On Personal Machine Download and install the Tanzu Grid CLI tools from the VMWare website DOWNLOAD LINK &hellip; <a href=\"https:\/\/wordpress.nationaltrail.k12.oh.us\/ittech\/2023\/07\/30\/creating-a-azure-devops-kubernetes-on-premise-platform\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">Creating a Azure DevOps\/Kubernetes On-Premise Platform<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1303,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[10],"tags":[],"class_list":["post-3592","post","type-post","status-publish","format-standard","hentry","category-it-support"],"_links":{"self":[{"href":"https:\/\/wordpress.nationaltrail.k12.oh.us\/ittech\/wp-json\/wp\/v2\/posts\/3592","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.nationaltrail.k12.oh.us\/ittech\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wordpress.nationaltrail.k12.oh.us\/ittech\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.nationaltrail.k12.oh.us\/ittech\/wp-json\/wp\/v2\/users\/1303"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.nationaltrail.k12.oh.us\/ittech\/wp-json\/wp\/v2\/comments?post=3592"}],"version-history":[{"count":1,"href":"https:\/\/wordpress.nationaltrail.k12.oh.us\/ittech\/wp-json\/wp\/v2\/posts\/3592\/revisions"}],"predecessor-version":[{"id":3597,"href":"https:\/\/wordpress.nationaltrail.k12.oh.us\/ittech\/wp-json\/wp\/v2\/posts\/3592\/revisions\/3597"}],"wp:attachment":[{"href":"https:\/\/wordpress.nationaltrail.k12.oh.us\/ittech\/wp-json\/wp\/v2\/media?parent=3592"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.nationaltrail.k12.oh.us\/ittech\/wp-json\/wp\/v2\/categories?post=3592"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.nationaltrail.k12.oh.us\/ittech\/wp-json\/wp\/v2\/tags?post=3592"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}