In 2015 I was invited to a private beta of something called Nutanix Community Edition. The goal of Nutanix Community Edition is to make hyperconverged infrastructure (HCI) technology accessible to all by offering a free platform for users to learn, test, and develop their skills. It aims to foster a culture of collaboration and innovation within the HCI community.
Fast forward to 2023 and we now finally got Nutanix Community Edition 2.0 which is a free version of Nutanix AOS, which powers the Nutanix Enterprise Cloud Platform. The Community Edition of AOS is designed for people interested in test driving AOS main features on their own test hardware and infrastructure. As stated in the license agreement, Community Edition is intended for internal business operations and non-production use only.
Now for the topic of the blog post, how to upgrade Nutanix Community Edition 1.0 to 2.0? The answer is you can’t. The code is completely different, and a clean install is required. If you’re running a 4-node cluster, I would recommend removing one host, reinstall and restore VMs using Nakivo Backup for AHV on this temporary 1-node cluster to verify that the backup actually works. Read this great thread from Trentent Tye on how he found a workaround for “bad drives” preventing installation.
Then setup a new 3-node cluster and once again restore VMs to that cluster. Finally reinstall the first host and expand the cluster to the max 4-node which is the limit of Nutanix Community Edition.
I can’t recommend Nakivo Backup highly enough. In case you don’t have a NAS for storage, you can choose to backup to Wasabi Cloud for free (1TB 30-day trial).
The most important benefit of upgrading to 2.0 is most definitely Nutanix Life Cycle Manager (LCM). The primary purpose of Nutanix LCM is to streamline the process of deploying, upgrading, and maintaining Nutanix software and firmware across the entire cluster infrastructure. It helps ensure that all nodes within a Nutanix cluster are running the same version of software and firmware, reducing compatibility issues and enhancing cluster stability.
The upgrade to Nutanix Community Edition 2.0 is straight forward using free trials available for backup. If you want to learn how to install from scratch, I recommend reading Installing Nutanix Community Edition 2.0 on Bare Metal — Single Node Cluster.
If you want to automatically create a Let’s Encrypt Certificate for your Nutanix Cluster, please check out my script below or over at my Github repository.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
# Determine where to do the logging $logPS = "C:\Windows\Temp\Create_LetsEncrypt_Certificate.log" Clear-Host Write-Verbose "Setting Arguments" -Verbose $StartDTM = (Get-Date) Write-Verbose "Installing Modules" -Verbose [Net.ServicePointManager]::SecurityProtocol = "tls12, tls11, tls" if (!(Test-Path -Path "C:\Program Files\PackageManagement\ProviderAssemblies\nuget")) {Find-PackageProvider -Name 'Nuget' -ForceBootstrap -IncludeDependencies} if (!(Get-Module -ListAvailable -Name Posh-ACME)) {Install-Module Posh-ACME -Force | Import-Module Posh-ACME} Start-Transcript $LogPS $MyConfigFileloc = ("$env:Settings\Applications\Settings.xml") [xml]$MyConfigFile = (Get-Content $MyConfigFileLoc) $CertFQDN = "*.desktopanywhere.io" $API = $MyConfigFile.Settings.LE.API $Email = $MyConfigFile.Settings.LE.Email $SecureAPI = $API | ConvertTo-SecureString -asPlainText -Force Write-Verbose "Requesting Certificate for $CertFQDN" -Verbose New-PACertificate $CertFQDN -Contact $email -AcceptTOS -DnsPlugin CloudFlare -PluginArgs @{ CFToken = $SecureAPI } -Install Write-Host "Exporting Certificate" $OutPath = "$env:XA\Certificates" $Cert = Get-PACertificate $Cert.Thumbprint | Out-File $OutPath\Wildcard.txt Copy-Item -Path $cert.PfxFile -Destination $OutPath\Wildcard.pfx Copy-Item -Path $cert.CertFile -Destination $OutPath\Wildcard.cer Copy-Item -Path $cert.KeyFile -Destination $OutPath\Wildcard.key Copy-Item -Path $cert.ChainFile -Destination $OutPath\Chain.cer Copy-Item -Path $cert.FullChainFile -Destination $OutPath\FullChain.cer Copy-Item -Path $cert.PfxFullChain -Destination $OutPath\FullChain.pfx Write-Verbose "Stop logging" -Verbose $EndDTM = (Get-Date) Write-Verbose "Elapsed Time: $(($EndDTM-$StartDTM).TotalSeconds) Seconds" -Verbose Write-Verbose "Elapsed Time: $(($EndDTM-$StartDTM).TotalMinutes) Minutes" -Verbose Stop-Transcript |