Tutorial: Menyebarkan kluster beban kerja pada AKS yang diaktifkan oleh Arc

Berlaku untuk: AKS di Azure Stack HCI 22H2, AKS di Windows Server

Kubernetes menyediakan platform yang didistribusikan untuk aplikasi berkontainer.

Dalam tutorial ini, bagian ketiga dari tujuh, kluster Kubernetes disebarkan pada AKS di Azure Stack HCI. Anda akan mempelajari cara:

  • Menyebarkan kluster AKS di Azure Stack HCI
  • Instal Kubernetes CLI (kubectl)
  • Mengonfigurasi kubectl untuk menyambungkan ke kluster beban kerja Anda

Dalam tutorial selanjutnya, aplikasi Azure Vote diterapkan ke klaster, diskalakan, dan diperbarui.

Sebelum Anda mulai

Dalam tutorial sebelumnya, gambar kontainer dibuat dan diunggah ke instans Azure Container Registry. Jika Anda belum melakukan langkah-langkah ini, mulailah dengan Tutorial 1 - Membuat gambar kontainer.

Tutorial ini menggunakan 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.

Menginstal host Azure Kubernetes Service

Pertama, konfigurasikan pengaturan pendaftaran Anda.

Set-AksHciRegistration -subscription mysubscription -resourceGroupName myresourcegroup

Anda harus menyesuaikan nilai-nilai ini sesuai dengan langganan Azure dan nama grup sumber daya Anda.

Kemudian, jalankan perintah berikut untuk memastikan bahwa semua persyaratan pada setiap simpul fisik terpenuhi untuk menginstal AKS di Azure Stack HCI:

Initialize-AksHciNode

Selanjutnya, buat jaringan virtual. Anda akan memerlukan nama sakelar eksternal yang tersedia:

Get-VMSwitch

Contoh output:

Name        SwitchType    NetAdapterInterfaceDescription
----        ----------    ------------------------------
extSwitch   External      Mellanox ConnectX-3 Pro Ethernet Adapter

Jalankan perintah berikut untuk membuat jaringan virtual dengan IP statis:

$vnet = New-AksHciNetworkSetting -name myvnet -vSwitchName "extSwitch" -macPoolName myMacPool -k8sNodeIpPoolStart "172.16.10.0" -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

Kemudian, konfigurasikan penyebaran Anda dengan perintah berikut.

Set-AksHciConfig -imageDir c:\clusterstorage\volume1\Images -cloudConfigLocation c:\clusterstorage\volume1\Config -vnet $vnet -cloudservicecidr "172.16.10.10/16" 

Sekarang, Anda siap untuk menginstal host AKS:

Install-AksHCi

Membuat kluster Kubernetes

Buat kluster Kubernetes menggunakan perintah New-AksHciCluster. Contoh berikut membuat kluster bernama mycluster dengan satu kumpulan simpul Linux yang disebut linuxnodepool, yang memiliki jumlah simpul 1:

New-AksHciCluster -name mycluster -nodePoolName linuxnodepool -nodeCount 1

Untuk memverifikasi bahwa penyebaran berhasil, jalankan perintah berikut.

Get-AksHcicluster -name mycluster
ProvisioningState     : provisioned
KubernetesVersion     : v1.20.7
NodePools             : linuxnodepool
WindowsNodeCount      : 0
LinuxNodeCount        : 0
ControlPlaneNodeCount : 1
Name                  : mycluster

Catatan

Jika Anda menggunakan set parameter baru untuk New-AksHciCluster menyebarkan kluster, lalu Anda menjalankan Get-AksHciCluster untuk mendapatkan informasi kluster, bidang WindowsNodeCount , dan LinuxNodeCount dalam pengembalian 0output . Untuk mendapatkan jumlah simpul yang akurat di setiap kumpulan simpul, gunakan perintah Get-AksHciNodePool dengan nama kluster yang ditentukan.

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

Instal Kubernetes CLI

Untuk terhubung ke kluster Kubernetes dari komputer lokal Anda, gunakan kubectl, klien baris perintah Kube.

Sambungkan ke kluster menggunakan kubectl

Untuk mengonfigurasi kubectl agar terhubung ke kluster Kubernetes Anda, gunakan perintah Get-AksHciCredential. Contoh berikut mendapatkan kredensial untuk kluster bernama mycluster:

Get-AksHciCredential -name mycluster

Untuk memverifikasi koneksi ke kluster Anda, jalankan perintah kubectl get nodes untuk menampilkan daftar simpul kluster:

kubectl get nodes
NAME              STATUS   ROLES                  AGE     VERSION
moc-lbs6got5dqo   Ready    <none>                 6d20h   v1.20.7
moc-lel7tzxdt30   Ready    control-plane,master   6d20h   v1.20.7

Langkah berikutnya

Dalam tutorial ini, kluster Kubernetes disebarkan dalam AKS, dan Anda mengonfigurasi kubectl untuk terhubung ke sana. Anda mempelajari cara untuk:

  • Menyebarkan kluster AKS di Azure Stack HCI
  • Instal Kubernetes CLI (kubectl)
  • Konfigurasikan kubectl untuk menyambung ke kluster AKS

Lanjutkan ke tutorial berikutnya untuk mempelajari cara menggunakan aplikasi ke kluster.