Bagikan melalui


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

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.

  1. 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.

  2. 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.

Langkah berikutnya