Menyiapkan host Azure Kubernetes Service di Azure Stack HCI dan Windows Server dan menyebarkan kluster beban kerja menggunakan PowerShell
Berlaku untuk: Azure Stack HCI atau Pusat Data Server Windows
Mulai cepat ini memandu Anda menyiapkan host Azure Kubernetes Service (AKS). Anda membuat kluster Kubernetes di Azure Stack HCI dan Windows Server menggunakan PowerShell. Untuk menggunakan Pusat Admin Windows, silakan lihat Menyiapkan dengan Pusat Admin Windows.
Catatan
- Apabila Anda memiliki objek layanan kluster serta catatan DNS yang telah dibuat sebelumnya, lihat Menyebarkan host AKS dengan objek layanan kluster dan catatan DNS yang telah dibuat sebelumnya menggunakan PowerShell.
- Jika Anda memiliki server proksi, lihat menyiapkan host AKS serta menerapkan kluster beban kerja menggunakan PowerShell dan server proksi.
- Menginstal AKS di Azure Stack HCI setelah menyiapkan VM Arc tidak didukung. Untuk informasi selengkapnya, lihat masalah umum dengan VM Arc. Jika Anda ingin menginstal AKS di Azure Stack HCI, Anda harus menghapus instalan Arc Resource Bridge lalu menginstal AKS di Azure Stack HCI. Anda dapat menyebarkan Arc Resource Bridge baru lagi setelah membersihkan dan menginstal AKS, tetapi tidak akan mengingat entitas VM yang Anda buat sebelumnya.
Sebelum Anda mulai
- Pastikan Anda telah memenuhi semua prasyarat dalam persyaratan sistem.
- Akun Azure guna mendaftarkan host AKS Anda guna penagihan. Untuk informasi selengkapnya, lihat Persyaratan Azure.
Menginstal modul AksHci PowerShell
Ikuti langkah-langkah ini pada semua simpul di kluster Azure Stack HCI atau kluster Windows Server Anda:
Catatan
Jika Anda menggunakan PowerShell jarak jauh, Anda harus menggunakan CredSSP.
Tutup semua jendela PowerShell yang terbuka, buka sesi PowerShell baru sebagai administrator, dan jalankan perintah berikut pada semua simpul di kluster Azure Stack HCI atau Windows Server Anda:
Install-PackageProvider -Name NuGet -Force Install-Module -Name PowershellGet -Force -Confirm:$false
Anda harus menutup semua jendela PowerShell yang ada kembali untuk memastikan bahwa modul yang dimuat telah disegarkan. Jangan lanjutkan ke langkah berikutnya hingga Anda menutup semua jendela PowerShell yang terbuka.
Instal modul AKS-HCI PowerShell dengan menjalankan perintah berikut di semua node di kluster Azure Stack HCI atau Windows Server Anda:
Install-Module -Name AksHci -Repository PSGallery -Force -AcceptLicense
Anda harus menutup semua jendela PowerShell yang ada kembali untuk memastikan bahwa modul yang dimuat telah disegarkan. Jangan lanjutkan ke langkah berikutnya hingga Anda menutup semua jendela PowerShell yang terbuka.
Anda dapat menggunakan skrip pembantu untuk menghapus modul PowerShell AKS-HCI lama, untuk menghindari masalah terkait versi PowerShell dalam penyebaran AKS Anda.
Memvalidasi penginstalan Anda
Get-Command -Module AksHci
Untuk melihat daftar lengkap perintah AksHci PowerShell, lihat AksHci PowerShell.
Mendaftarkan penyedia sumber ke langganan Anda
Sebelum proses pendaftaran, aktifkan penyedia sumber daya yang sesuai di Azure untuk AKS yang diaktifkan oleh pendaftaran Arc. Untuk melakukannya, jalankan perintah PowerShell berikut ini:
Untuk masuk ke Azure, jalankan perintah Connect-AzAccount PowerShell:
Connect-AzAccount
Jika Anda ingin beralih ke langganan lain, jalankan perintah PowerShell Set-AzContext:
Set-AzContext -Subscription "xxxx-xxxx-xxxx-xxxx"
Jalankan perintah berikut untuk mendaftarkan langganan Azure Anda ke penyedia sumber daya Kubernetes dengan dukungan Azure Arc. Proses pendaftaran ini dapat memakan waktu hingga 10 menit, tetapi hanya perlu dilakukan sekali pada langganan tertentu:
Register-AzResourceProvider -ProviderNamespace Microsoft.Kubernetes
Register-AzResourceProvider -ProviderNamespace Microsoft.KubernetesConfiguration
Register-AzResourceProvider -ProviderNamespace Microsoft.ExtendedLocation
Untuk memvalidasi proses pendaftaran, jalankan perintah PowerShell berikut ini:
Get-AzResourceProvider -ProviderNamespace Microsoft.Kubernetes
Get-AzResourceProvider -ProviderNamespace Microsoft.KubernetesConfiguration
Get-AzResourceProvider -ProviderNamespace Microsoft.ExtendedLocation
Langkah 1: Siapkan mesin Anda untuk penyebaran
Jalankan pemeriksaan pada setiap simpul fisik untuk melihat apakah semua persyaratan untuk menginstal AKS yang diaktifkan oleh Arc terpenuhi. Buka PowerShell sebagai administrator dan jalankan perintah Initialize-AksHciNode berikut pada semua simpul di kluster Azure Stack HCI dan Windows Server Anda:
Initialize-AksHciNode
Langkah 2: Buat jaringan virtual
Jalankan perintah berikut pada satu simpul di kluster Azure Stack HCI dan Windows Server Anda.
Untuk mendapatkan nama pengalih yang tersedia, jalankan perintah berikut. Pastikan sakelar SwitchType
VM Anda adalah "Eksternal":
Get-VMSwitch
Contoh output:
Name SwitchType NetAdapterInterfaceDescription
---- ---------- ------------------------------
extSwitch External Mellanox ConnectX-3 Pro Ethernet Adapter
Untuk membuat jaringan virtual agar node dalam penyebaran Anda digunakan, buat variabel lingkungan dengan perintah PowerShell New-AksHciNetworkSetting. Jaringan virtual ini digunakan nanti untuk mengonfigurasi penyebaran yang menggunakan IP statis. Jika Anda ingin mengonfigurasi penyebaran AKS dengan DHCP, lihat New-AksHciNetworkSetting misalnya. Anda juga dapat meninjau beberapa konsep node jaringan.
#static IP
$vnet = New-AksHciNetworkSetting -name myvnet -vSwitchName "extSwitch" -k8sNodeIpPoolStart "172.16.10.1" -k8sNodeIpPoolEnd "172.16.10.255" -vipPoolStart "172.16.255.0" -vipPoolEnd "172.16.255.254" -ipAddressPrefix "172.16.0.0/16" -gateway "172.16.0.1" -dnsServers "172.16.0.1" -vlanId 9
Catatan
Anda harus menyesuaikan nilai yang diperlihatkan dalam perintah contoh ini untuk lingkungan Anda.
Langkah 3: Konfigurasikan penyebaran Anda
Jalankan perintah berikut pada satu simpul di kluster Azure Stack HCI dan Windows Server Anda.
Untuk membuat pengaturan konfigurasi untuk host AKS, silakan gunakan perintah Set-AksHciConfig. Anda harus menentukan parameter imageDir
, workingDir
, dan cloudConfigLocation
. Jika Anda ingin mengatur ulang detail konfigurasi, jalankan perintah lagi dengan parameter baru.
Konfigurasikan penyebaran Anda dengan perintah berikut:
$csvPath = 'C:\clusterstorage\volume01' # Specify your preferred CSV path
Set-AksHciConfig -imageDir $csvPath\Images -workingDir $csvPath\ImageStore -cloudConfigLocation $csvPath\Config -vnet $vnet
Catatan
Anda harus menyesuaikan nilai yang diperlihatkan dalam perintah contoh ini untuk lingkungan Anda.
Langkah 4: Masuk ke Azure dan konfigurasikan pengaturan pendaftaran
Opsi 1: Gunakan akun Microsoft Entra Anda jika Anda memiliki izin "Pemilik"
Jalankan perintah PowerShell Set-AksHciRegistration berikut ini dengan nama langganan dan grup sumber daya Anda untuk masuk ke Azure. Anda harus memiliki langganan Azure, dan grup sumber daya Azure yang sudah ada di wilayah Azure Australia Timur, US Timur, Asia Tenggara, atau Eropa Barat:
Set-AksHciRegistration -subscriptionId "<subscriptionId>" -resourceGroupName "<resourceGroupName>"
Opsi 2: Menggunakan perwakilan layanan Azure
Jika Anda tidak memiliki akses ke langganan tempat Anda menjadi "Pemilik", Anda dapat mendaftarkan host AKS ke Azure untuk penagihan menggunakan perwakilan layanan. Untuk informasi selengkapnya tentang cara menggunakan perwakilan layanan, lihat mendaftarkan AKS di Azure Stack HCI dan Windows Server menggunakan perwakilan layanan.
Langkah 5: Mulai penyebaran baru
Jalankan perintah berikut pada satu simpul di kluster Azure Stack HCI atau Windows Server Anda.
Setelah mengonfigurasi penyebaran, Anda harus memulainya untuk menginstal agen/layanan AKS dan host AKS. Untuk memulai penyebaran, jalankan perintah berikut:
Tip
Untuk melihat detail status tambahan selama penginstalan, atur $VerbosePreference = "Continue"
sebelum melanjutkan.
Install-AksHci
Peringatan
Selama penginstalan host AKS, jenis sumber daya Kubernetes - Azure Arc dibuat di grup sumber daya yang diatur selama pendaftaran. Jangan hapus sumber daya ini, karena mewakili host AKS Anda. Anda dapat mengidentifikasi sumber daya dengan memeriksa bidang distribusinya untuk nilai aks_management
. Jika Anda menghapus sumber daya ini, sumber daya ini menghasilkan penyebaran di luar kebijakan.
Langkah 6: Buat kluster Kubernetes
Setelah menginstal host AKS, Anda dapat menyebarkan kluster Kubernetes. Buka PowerShell sebagai administrator dan jalankan perintah New-AksHciCluster berikut. Contoh perintah ini membuat kluster Kubernetes baru dengan satu kumpulan simpul Linux bernama linuxnodepool
dengan jumlah simpul 1.
Untuk informasi selengkapnya tentang kumpulan simpul, lihat Menggunakan kumpulan simpul di AKS.
New-AksHciCluster -name mycluster -nodePoolName linuxnodepool -nodeCount 1 -osType Linux
Memeriksa kluster yang Anda sebarkan
Untuk mendapatkan daftar kluster Kubernetes yang disebarkan, jalankan perintah PowerShell Get-AksHciCluster berikut:
Get-AksHciCluster
ProvisioningState : provisioned
KubernetesVersion : v1.20.7
NodePools : linuxnodepool
WindowsNodeCount : 0
LinuxNodeCount : 0
ControlPlaneNodeCount : 1
Name : mycluster
Untuk mendapatkan daftar kumpulan simpul di kluster, jalankan perintah PowerShell Get-AksHciNodePool berikut:
Get-AksHciNodePool -clusterName mycluster
ClusterName : mycluster
NodePoolName : linuxnodepool
Version : v1.20.7
OsType : Linux
NodeCount : 1
VmSize : Standard_K8S3_v1
Phase : Deployed
Langkah 7: Hubungkan kluster Anda ke Kubernetes dengan dukungan Arc
Sambungkan kluster Anda ke Kubernetes yang didukung Arc dengan menjalankan perintah Enable-AksHciArcConnection . Contoh berikut menghubungkan kluster Kubernetes Anda ke Arc menggunakan detail langganan dan grup sumber daya yang Set-AksHciRegistration
Anda lewati dalam perintah:
Connect-AzAccount
Enable-AksHciArcConnection -name mycluster
Catatan
Jika Anda mengalami masalah atau pesan kesalahan selama proses penginstalan, lihat masalah dan kesalahan umum penginstalan untuk informasi selengkapnya.
Menskalakan kluster Kubernetes
Apabila Anda perlu meningkatkan atau menurunkan skala kluster, Anda dapat mengubah jumlah node sarana kontrol menggunakan perintah Set-AksHciCluster. Untuk mengubah jumlah node pekerja Linux atau Windows di kumpulan node Anda, gunakan perintah Set-AksHciNodePool.
Untuk menskalakan node sarana kontrol, jalankan perintah berikut:
Set-AksHciCluster -name mycluster -controlPlaneNodeCount 3
Untuk menskalakan node pekerja di kumpulan node Anda, jalankan perintah berikut:
Set-AksHciNodePool -clusterName mycluster -name linuxnodepool -count 3
Catatan
Dalam versi AKS di Azure Stack HCI dan Windows Server sebelumnya, perintah Set-AksHciCluster juga digunakan untuk menskalakan node pekerja. Sekarang setelah AKS memperkenalkan kumpulan simpul dalam kluster beban kerja, Anda hanya dapat menggunakan perintah ini untuk menskalakan simpul pekerja jika kluster Anda dibuat dengan parameter lama yang diatur di New-AksHciCluster.
Untuk menskalakan node pekerja di kumpulan node, gunakan perintah Set-AksHciNodePool.
Mengakses kluster Anda menggunakan kubectl
Untuk mengakses kluster Kubernetes menggunakan kubectl, jalankan perintah PowerShell Get-AksHciCredential. Langkah ini akan menggunakan file kubeconfig kluster yang ditentukan sebagai file kubeconfig default untuk kubectl. Anda juga dapat menggunakan kubectl untuk menyebarkan aplikasi menggunakan Helm:
Get-AksHciCredential -name mycluster
Menghapus kluster Kubernetes
Untuk menghapus kluster Kubernetes, jalankan perintah berikut:
Remove-AksHciCluster -name mycluster
Catatan
Pastikan kluster Anda dihapus dengan melihat VM yang ada di Hyper-V Manager. Jika tidak dihapus, maka Anda dapat menghapus VM secara manual. Kemudian, jalankan perintah Restart-Service wssdagent
. Jalankan perintah ini pada setiap simpul di kluster failover.
Dapatkan log
Untuk mendapatkan log dari semua pod Anda, jalankan perintah Get-AksHciLogs. Perintah ini membuat folder zip output yang disebut akshcilogs.zip
di direktori kerja Anda. Jalur lengkap ke akshcilogs.zip
folder adalah output setelah menjalankan perintah berikut:
Get-AksHciLogs
Dalam mulai cepat ini, Anda mempelajari cara menyiapkan host AKS dan membuat kluster Kubernetes menggunakan PowerShell. Anda juga belajar cara menggunakan PowerShell untuk menskalakan kluster Kubernetes dan mengakses kluster dengan kubectl
.