Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Berlaku untuk: ✔️ AKS Otomatis
Azure Kubernetes Service (AKS) Otomatis memberikan pengalaman Kubernetes terkelola termampukan bagi pengembang, teknisi DevOps, dan insinyur platform. Ideal untuk aplikasi modern dan AI, AKS Otomatis mengotomatiskan penyiapan dan operasi kluster AKS dan menyematkan konfigurasi praktik terbaik. Pengguna dari tingkat keterampilan apa pun dapat memperoleh manfaat dari keamanan, performa, dan ketergantungan AKS Otomatis untuk aplikasi mereka. AKS Automatic juga mencakup SLA kesiapan pod yang menjamin 99,9% operasi kesiapan pod yang memenuhi syarat akan selesai dalam waktu 5 menit, memastikan infrastruktur yang andal dan pemulihan otomatis untuk aplikasi Anda. Panduan cepat ini mengasumsikan pemahaman dasar tentang konsep Kubernetes. Untuk informasi selengkapnya, lihat konsep inti Kubernetes untuk Azure Kubernetes Service (AKS).
Panduan cepat ini akan mengajarkan Anda untuk:
- Buat jaringan virtual.
- Buat identitas terkelola dengan izin melalui jaringan virtual.
- Sebarkan kluster AKS Otomatis privat di jaringan virtual.
- Sambungkan ke klaster privat.
- Jalankan contoh aplikasi multi-kontainer berupa kelompok layanan mikro dan antarmuka web yang mensimulasikan skenario ritel.
Prasyarat
- Jika Anda tidak memiliki akun Azure, buat akun free.
- Artikel ini memerlukan Azure CLI versi 2.77.0 atau yang lebih baru. Jika Anda menggunakan Azure Cloud Shell, versi terbaru sudah diinstal di sana. Jika Anda perlu menginstal atau meningkatkan, lihat Install Azure CLI.
- Identitas kluster dengan
Network Contributorpenetapan peran bawaan pada subnet server API. - Identitas kluster dengan
Network Contributorpenetapan peran bawaan di jaringan virtual untuk mendukung Penyediaan Otomatis Node. - Identitas pengguna yang mengakses kluster dengan
Azure Kubernetes Service Cluster User RoledanAzure Kubernetes Service RBAC Writer. - Jaringan virtual dengan subnet server API khusus berukuran setidaknya
*/28yang didelegasikan keMicrosoft.ContainerService/managedClusters.- Jika ada Kelompok Keamanan Jaringan (NSG) yang terpasang pada subnet, pastikan bahwa aturan mengizinkan lalu lintas berikut antara simpul dan server API (API server), Azure Load Balancer dan server API (API server), serta komunikasi pod ke pod.
- Jika ada Azure Firewall atau metode pembatasan keluaran atau perangkat lainnya, pastikan aturan jaringan keluar yang diperlukan dan FQDN diizinkan.
- AKS Otomatis akan mengaktifkan Azure Policy pada kluster AKS Anda, tetapi Anda harus mendaftarkan terlebih dahulu penyedia sumber daya
Microsoft.PolicyInsightsdi langganan Anda agar pengalaman lebih lancar. Lihat penyedia dan jenis sumber daya Azure untuk informasi selengkapnya.
Keterbatasan
- Nodepool sistem kluster AKS Otomatis memerlukan penyebaran di wilayah Azure yang mendukung setidaknya tiga zona ketersediaan, disk OS efemer, dan OS Linux Azure.
- AKS Otomatis tersedia di wilayah berikut:
australiaeast,austriaeast,belgiumcentral,brazilsouth,canadacentral,centralindia,centralus,chilecentral,denmarkeast,eastasia,eastus,eastus2,francecentral,germanywestcentral,indonesiacentral,israelcentral,italynorth,japaneast,japanwest,koreacentral,malaysiawest,mexicocentral,newzealandnorth,northeurope,norwayeast,polandcentral,southafricanorth,southcentralus,southeastasia,spaincentral,swedencentral,switzerlandnorth,uaenorth,uksouth,westeurope,westus2,westus3. - Kluster Otomatis AKS memiliki penguncian grup sumber daya node yang telah dikonfigurasi sebelumnya, yang tidak memungkinkan perubahan pada grup sumber daya MC_, mencegah tautan jaringan virtual pada zona Private DNS default. Untuk skenario DNS lintas VNet atau kustom, gunakan jaringan kustom dan DNS privat dengan mengikuti Buat kluster privat Azure Kubernetes Service (AKS) Otomatis dalam jaringan virtual kustom.
Penting
AKS Otomatis mencoba memilih ukuran komputer virtual secara dinamis untuk kumpulan simpul system berdasarkan kapasitas yang tersedia dalam langganan. Pastikan langganan Anda memiliki kuota untuk 16 vCPU dari salah satu ukuran berikut di wilayah tempat Anda menyebarkan kluster ke: Standard_D4lds_v5, Standard_D4ads_v5, Standard_D4ds_v5, Standard_D4d_v5, Standard_D4d_v4, Standard_DS3_v2, Standard_DS12_v2, Standard_D4alds_v6, Standard_D4lds_v6, atau Standard_D4alds_v5. Anda dapat view kuota untuk keluarga VM tertentu dan mengirimkan permintaan peningkatan kuota melalui portal Azure.
Jika Anda memiliki pertanyaan tambahan, pelajari lebih lanjut melalui dokumen pemecahan masalah.
Tentukan variabel
Tentukan variabel berikut yang akan digunakan dalam langkah-langkah berikutnya.
RG_NAME=automatic-rg
VNET_NAME=automatic-vnet
CLUSTER_NAME=automatic
IDENTITY_NAME=automatic-uami
LOCATION=eastus
SUBSCRIPTION_ID=$(az account show --query id -o tsv)
Membuat grup sumber daya
Grup sumber daya Azure adalah grup logis tempat sumber daya Azure disebarkan dan dikelola.
Mmebuat grup sumber daya menggunakan perintah buat grup az.
az group create -n ${RG_NAME} -l ${LOCATION}
Contoh output berikut menyerupai pembuatan grup sumber daya yang berhasil:
{
"id": "/subscriptions/<guid>/resourceGroups/automatic-rg",
"location": "eastus",
"managedBy": null,
"name": "automatic-rg",
"properties": {
"provisioningState": "Succeeded"
},
"tags": null
}
Membuat jaringan virtual
Buat jaringan virtual menggunakan az network vnet create perintah . Buat subnet server API dan subnet kluster menggunakan perintah az network vnet subnet create.
Saat menggunakan jaringan virtual kustom dengan AKS Otomatis, Anda harus membuat dan mendelegasikan subnet server API untuk Microsoft.ContainerService/managedClusters, yang memberikan izin layanan AKS untuk menyuntikkan pod server API dan penyeimbang muatan internal ke subnet tersebut. Anda tidak dapat menggunakan subnet untuk beban kerja lain, tetapi Anda dapat menggunakannya untuk beberapa kluster AKS yang terletak di jaringan virtual yang sama. Ukuran subnet server API minimum yang didukung adalah /28.
Peringatan
Kluster AKS mencadangkan setidaknya 9 IP di ruang alamat subnet. Kehabisan alamat IP dapat mencegah penskalaan server API dan menyebabkan pemadaman server API.
az network vnet create --name ${VNET_NAME} \
--resource-group ${RG_NAME} \
--location ${LOCATION} \
--address-prefixes 172.19.0.0/16
az network vnet subnet create --resource-group ${RG_NAME} \
--vnet-name ${VNET_NAME} \
--name apiServerSubnet \
--delegations Microsoft.ContainerService/managedClusters \
--address-prefixes 172.19.0.0/28
az network vnet subnet create --resource-group ${RG_NAME} \
--vnet-name ${VNET_NAME} \
--name clusterSubnet \
--address-prefixes 172.19.1.0/24
Aturan grup keamanan jaringan
Semua lalu lintas dalam jaringan virtual diizinkan secara default. Tetapi jika Anda menambahkan aturan Network Security Group (NSG) untuk membatasi lalu lintas antara subnet yang berbeda, pastikan bahwa aturan keamanan NSG mengizinkan jenis komunikasi berikut:
| Tujuan | Sumber | Protokol | Pelabuhan | Gunakan |
|---|---|---|---|---|
| APIServer Subnet CIDR | Subnet Kluster | PKT | 443 dan 4443 | Diperlukan untuk mengaktifkan komunikasi antara Node dan server API. |
| APIServer Subnet CIDR | Azure Load Balancer | PKT | 9988 | Diperlukan untuk mengaktifkan komunikasi antara Azure Load Balancer dan server API. Anda juga dapat mengaktifkan semua komunikasi antara Azure Load Balancer dan CIDR Subnet API Server. |
| Simpul CIDR | Node CIDR | Semua Protokol | Semua Port | Diperlukan untuk mengaktifkan komunikasi antara Simpul. |
| CIDR Node | Pod CIDR | Semua Protokol | Semua Port | Diperlukan untuk Perutean lalu lintas layanan. |
| Pod CIDR | Pod CIDR | Semua Protokol | Semua Port | Diperlukan untuk komunikasi antar Pod dan dari Pod ke Service, termasuk komunikasi DNS. |
Membuat identitas terkelola dan memberinya izin di jaringan virtual
Buat identitas terkelola menggunakan az identity create perintah dan ambil ID utama. Tetapkan peran Kontributor Jaringan pada jaringan virtual ke identitas terkelola az role assignment create menggunakan perintah .
az identity create \
--resource-group ${RG_NAME} \
--name ${IDENTITY_NAME} \
--location ${LOCATION}
IDENTITY_PRINCIPAL_ID=$(az identity show --resource-group ${RG_NAME} --name ${IDENTITY_NAME} --query principalId -o tsv)
az role assignment create \
--scope "/subscriptions/${SUBSCRIPTION_ID}/resourceGroups/${RG_NAME}/providers/Microsoft.Network/virtualNetworks/${VNET_NAME}" \
--role "Network Contributor" \
--assignee-object-id "${IDENTITY_PRINCIPAL_ID}" \
--assignee-principal-type ServicePrincipal
Membuat kluster AKS Otomatis privat di jaringan virtual kustom
Untuk membuat kluster AKS Otomatis privat, gunakan perintah az aks create . Perhatikan penggunaan --enable-private-cluster bendera.
Nota
Anda dapat merujuk ke dokumentasi kluster privat untuk mengonfigurasi opsi tambahan seperti menonaktifkan FQDN publik kluster dan mengonfigurasi zona DNS privat.
az aks create \
--resource-group ${RG_NAME} \
--name ${CLUSTER_NAME} \
--location ${LOCATION} \
--apiserver-subnet-id "/subscriptions/${SUBSCRIPTION_ID}/resourceGroups/${RG_NAME}/providers/Microsoft.Network/virtualNetworks/${VNET_NAME}/subnets/apiServerSubnet" \
--vnet-subnet-id "/subscriptions/${SUBSCRIPTION_ID}/resourceGroups/${RG_NAME}/providers/Microsoft.Network/virtualNetworks/${VNET_NAME}/subnets/clusterSubnet" \
--assign-identity "/subscriptions/${SUBSCRIPTION_ID}/resourcegroups/${RG_NAME}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/${IDENTITY_NAME}" \
--sku automatic \
--enable-private-cluster \
--no-ssh-key
Setelah beberapa menit, perintah selesai dan kembalikan informasi berformat JSON tentang kluster.
Menyambungkan ke kluster
Ketika kluster AKS Otomatis dibuat sebagai kluster privat, titik akhir server API tidak memiliki alamat IP publik. Untuk mengelola server API, misalnya melalui kubectl, Anda perlu terhubung melalui komputer yang memiliki akses ke jaringan virtual Azure kluster. Ada beberapa opsi untuk membangun konektivitas jaringan ke kluster privat:
- Buat mesin virtual di jaringan virtual yang sama dengan kluster Otomatis AKS menggunakan
az vm createdengan parameter--vnet-name. - Gunakan komputer virtual di jaringan virtual terpisah dan siapkan peering jaringan virtual.
- Gunakan koneksi Express Route atau VPN.
- Gunakan koneksi titik akhir privat.
Membuat komputer virtual di jaringan virtual yang sama dengan kluster AKS adalah opsi term mudah. ExpressRoute dan VPN menambahkan biaya dan memerlukan kompleksitas jaringan tambahan. Peering jaringan virtual mengharuskan Anda merencanakan rentang CIDR jaringan Anda untuk memastikan tidak ada rentang yang tumpang tindih. Lihat Opsi untuk menyambungkan ke kluster privat untuk informasi selengkapnya.
Untuk mengelola kluster Kube, gunakan klien baris perintah Kube, kubectl.
kubectl sudah diinstal jika Anda menggunakan Azure Cloud Shell. Untuk menginstal kubectl secara lokal, jalankan perintah az aks install-cli . Kluster Otomatis AKS dikonfigurasi dengan Microsoft Entra ID untuk kontrol akses berbasis peran (RBAC) Kubernetes .
Saat Anda membuat kluster menggunakan Azure CLI, pengguna Anda diperuntukkan peran bawaan untuk Azure Kubernetes Service RBAC Cluster Admin.
Konfigurasikan kubectl untuk terhubung ke kluster Kubernetes menggunakan perintah az aks get-credentials. Perintah ini mengunduh kredensial dan mengonfigurasi CLI Kubernetes untuk menggunakannya.
az aks get-credentials --resource-group ${RG_NAME} --name ${CLUSTER_NAME}
Verifikasi koneksi ke kluster menggunakan perintah kubectl get. Perintah ini menampilkan daftar node kluster.
kubectl get nodes
Contoh output berikut menunjukkan bagaimana Anda diminta untuk masuk.
To sign in, use a web browser to open the page https://microsoft.com/devicelogin and enter the code AAAAAAAAA to authenticate.
Setelah Anda masuk, output sampel berikut menunjukkan kumpulan simpul sistem terkelola. Pastikan status simpul siap.
NAME STATUS ROLES AGE VERSION
aks-nodepool1-13213685-vmss000000 Ready agent 2m26s v1.28.5
aks-nodepool1-13213685-vmss000001 Ready agent 2m26s v1.28.5
aks-nodepool1-13213685-vmss000002 Ready agent 2m26s v1.28.5
Membuat jaringan virtual
File Bicep ini mendefinisikan jaringan virtual.
@description('The location of the managed cluster resource.')
param location string = resourceGroup().location
@description('The name of the virtual network.')
param vnetName string = 'aksAutomaticVnet'
@description('The address prefix of the virtual network.')
param addressPrefix string = '172.19.0.0/16'
@description('The name of the API server subnet.')
param apiServerSubnetName string = 'apiServerSubnet'
@description('The subnet prefix of the API server subnet.')
param apiServerSubnetPrefix string = '172.19.0.0/28'
@description('The name of the cluster subnet.')
param clusterSubnetName string = 'clusterSubnet'
@description('The subnet prefix of the cluster subnet.')
param clusterSubnetPrefix string = '172.19.1.0/24'
// Virtual network with an API server subnet and a cluster subnet
resource virtualNetwork 'Microsoft.Network/virtualNetworks@2023-09-01' = {
name: vnetName
location: location
properties: {
addressSpace: {
addressPrefixes: [ addressPrefix ]
}
subnets: [
{
name: apiServerSubnetName
properties: {
addressPrefix: apiServerSubnetPrefix
}
}
{
name: clusterSubnetName
properties: {
addressPrefix: clusterSubnetPrefix
}
}
]
}
}
output apiServerSubnetId string = resourceId('Microsoft.Network/virtualNetworks/subnets', vnetName, apiServerSubnetName)
output clusterSubnetId string = resourceId('Microsoft.Network/virtualNetworks/subnets', vnetName, clusterSubnetName)
Simpan file Bicep virtualNetwork.bicep ke komputer lokal Anda.
Penting
File Bicep mengatur param vnetName ke aksAutomaticVnet, param addressPrefix ke 172.19.0.0/16, apiServerSubnetPrefix param ke 172.19.0.0/28, dan apiServerSubnetPrefix param ke 172.19.1.0/24. Jika Anda ingin menggunakan nilai yang berbeda, pastikan untuk memperbarui string ke nilai pilihan Anda.
Sebarkan file Bicep menggunakan Azure CLI.
az deployment group create --resource-group <resource-group> --template-file virtualNetwork.bicep
Semua lalu lintas dalam jaringan virtual diizinkan secara default. Tetapi jika Anda menambahkan aturan Network Security Group (NSG) untuk membatasi lalu lintas antara subnet yang berbeda, pastikan bahwa aturan keamanan NSG mengizinkan jenis komunikasi berikut:
| Tujuan | Sumber | Protokol | Pelabuhan | Gunakan |
|---|---|---|---|---|
| APIServer Subnet CIDR | Subnet Kluster | PKT | 443 dan 4443 | Diperlukan untuk mengaktifkan komunikasi antara Node dan server API. |
| APIServer Subnet CIDR | Azure Load Balancer | PKT | 9988 | Diperlukan untuk mengaktifkan komunikasi antara Azure Load Balancer dan server API. Anda juga dapat mengaktifkan semua komunikasi antara Azure Load Balancer dan CIDR Subnet API Server. |
Buat identitas terkelola
File Bicep ini menentukan identitas terkelola yang ditetapkan pengguna.
param location string = resourceGroup().location
param uamiName string = 'aksAutomaticUAMI'
resource userAssignedManagedIdentity 'Microsoft.ManagedIdentity/userAssignedIdentities@2023-01-31' = {
name: uamiName
location: location
}
output uamiId string = userAssignedManagedIdentity.id
output uamiPrincipalId string = userAssignedManagedIdentity.properties.principalId
output uamiClientId string = userAssignedManagedIdentity.properties.clientId
Simpan file Bicep uami.bicep ke komputer lokal Anda.
Penting
File Bicep mengatur param uamiName ke aksAutomaticUAMI. Jika Anda ingin menggunakan nama identitas yang berbeda, pastikan untuk memperbarui string ke nama pilihan Anda.
Sebarkan file Bicep menggunakan Azure CLI.
az deployment group create --resource-group <resource-group> --template-file uami.bicep
Menetapkan peran Kontributor Jaringan melalui jaringan virtual
File Bicep ini mendefinisikan penetapan peran melalui jaringan virtual.
@description('The name of the virtual network.')
param vnetName string = 'aksAutomaticVnet'
@description('The principal ID of the user assigned managed identity.')
param uamiPrincipalId string
// Get a reference to the virtual network
resource virtualNetwork 'Microsoft.Network/virtualNetworks@2023-09-01' existing ={
name: vnetName
}
// Assign the Network Contributor role to the user assigned managed identity on the virtual network
// '4d97b98b-1d4f-4787-a291-c67834d212e7' is the built-in Network Contributor role definition
// See: https://learn.microsoft.com/en-us/azure/role-based-access-control/built-in-roles/networking#network-contributor
resource networkContributorRoleAssignmentToVirtualNetwork 'Microsoft.Authorization/roleAssignments@2022-04-01' = {
name: guid(uamiPrincipalId, '4d97b98b-1d4f-4787-a291-c67834d212e7', resourceGroup().id, virtualNetwork.name)
scope: virtualNetwork
properties: {
roleDefinitionId: resourceId('Microsoft.Authorization/roleDefinitions', '4d97b98b-1d4f-4787-a291-c67834d212e7')
principalId: uamiPrincipalId
}
}
Simpan file Bicep roleAssignments.bicep ke komputer lokal Anda.
Penting
File Bicep mengatur param vnetName ke aksAutomaticVnet. Jika Anda menggunakan nama jaringan virtual yang berbeda, pastikan untuk memperbarui string ke nama jaringan virtual pilihan Anda.
Sebarkan file Bicep menggunakan Azure CLI. Anda perlu memberikan ID prinsipal identitas pengguna yang ditetapkan.
az deployment group create --resource-group <resource-group> --template-file roleAssignments.bicep \
--parameters uamiPrincipalId=<user assigned identity prinicipal id>
Membuat kluster AKS Otomatis privat di jaringan virtual kustom
File Bicep ini mendefinisikan kluster Otomatis AKS.
Nota
Anda dapat merujuk ke dokumentasi kluster privat untuk mengonfigurasi opsi tambahan seperti menonaktifkan FQDN publik kluster dan mengonfigurasi zona DNS privat.
@description('The name of the managed cluster resource.')
param clusterName string = 'aksAutomaticCluster'
@description('The location of the managed cluster resource.')
param location string = resourceGroup().location
@description('The resource ID of the API server subnet.')
param apiServerSubnetId string
@description('The resource ID of the cluster subnet.')
param clusterSubnetId string
@description('The resource ID of the user assigned managed identity.')
param uamiId string
/// Create the private AKS Automatic cluster using the custom virtual network and user assigned managed identity
resource aks 'Microsoft.ContainerService/managedClusters@2024-03-02-preview' = {
name: clusterName
location: location
sku: {
name: 'Automatic'
}
properties: {
agentPoolProfiles: [
{
name: 'systempool'
mode: 'System'
count: 3
vnetSubnetID: clusterSubnetId
}
]
apiServerAccessProfile: {
subnetId: apiServerSubnetId
enablePrivateCluster: true
}
networkProfile: {
outboundType: 'loadBalancer'
}
}
identity: {
type: 'UserAssigned'
userAssignedIdentities: {
'${uamiId}': {}
}
}
}
Simpan file Bicep aks.bicep ke komputer lokal Anda.
Penting
File Bicep mengatur param clusterName ke aksAutomaticCluster. Jika Anda menginginkan nama kluster yang berbeda, pastikan untuk memperbarui string ke nama kluster pilihan Anda.
Sebarkan file Bicep menggunakan Azure CLI. Anda perlu memberikan ID sumber daya subnet server API, ID sumber daya subnet kluster, dan ID prinsipal identitas yang ditetapkan pengguna.
az deployment group create --resource-group <resource-group> --template-file aks.bicep \
--parameters apiServerSubnetId=<API server subnet resource id> \
--parameters clusterSubnetId=<cluster subnet resource id> \
--parameters uamiPrincipalId=<user assigned identity prinicipal id>
Menyambungkan ke kluster
Ketika kluster AKS Otomatis dibuat sebagai kluster privat, titik akhir server API tidak memiliki alamat IP publik. Untuk mengelola server API, misalnya melalui kubectl, Anda perlu terhubung melalui komputer yang memiliki akses ke jaringan virtual Azure kluster. Ada beberapa opsi untuk membangun konektivitas jaringan ke kluster privat:
- Buat mesin virtual di jaringan virtual yang sama dengan kluster Otomatis AKS menggunakan
az vm createdengan parameter--vnet-name. - Gunakan komputer virtual di jaringan virtual terpisah dan siapkan peering jaringan virtual.
- Gunakan koneksi Express Route atau VPN.
- Gunakan koneksi titik akhir privat.
Membuat komputer virtual di jaringan virtual yang sama dengan kluster AKS adalah opsi term mudah. Express Route dan VPN menambah biaya dan memerlukan kompleksitas jaringan tambahan. Peering jaringan virtual mengharuskan Anda merencanakan rentang CIDR jaringan Anda untuk memastikan tidak ada rentang yang tumpang tindih. Lihat Opsi untuk menyambungkan ke kluster privat untuk informasi selengkapnya.
Untuk mengelola kluster Kube, gunakan klien baris perintah Kube, kubectl.
kubectl sudah diinstal jika Anda menggunakan Azure Cloud Shell. Untuk menginstal kubectl secara lokal, jalankan perintah az aks install-cli . Kluster Otomatis AKS dikonfigurasi dengan Microsoft Entra ID untuk kontrol akses berbasis peran (RBAC) Kubernetes .
Penting
Saat membuat kluster menggunakan Bicep, Anda perlu menetapkan salah satu peran bawaan seperti Azure Kubernetes Service RBAC Reader, Azure Kubernetes Service RBAC Writer, Azure Kubernetes Service RBAC Admin, atau Azure Kubernetes Service RBAC Cluster Admin kepada pengguna Anda, dilingkupkan ke kluster atau namespace tertentu, misalnya menggunakan az role assignment create --role "Azure Kubernetes Service RBAC Cluster Admin" --scope <AKS cluster resource id> --assignee user@contoso.com. Pastikan juga pengguna Anda memiliki peran bawaan Azure Kubernetes Service Cluster User untuk dapat menjalankan az aks get-credentials, lalu mendapatkan kubeconfig kluster AKS Anda menggunakan perintah az aks get-credentials.
Konfigurasikan kubectl untuk terhubung ke kluster Kubernetes menggunakan perintah az aks get-credentials. Perintah ini mengunduh kredensial dan mengonfigurasi CLI Kubernetes untuk menggunakannya.
az aks get-credentials --resource-group <resource-group> --name <cluster-name>
Verifikasi koneksi ke kluster menggunakan perintah kubectl get. Perintah ini menampilkan daftar node kluster.
kubectl get nodes
Contoh output berikut menunjukkan bagaimana Anda diminta untuk masuk.
To sign in, use a web browser to open the page https://microsoft.com/devicelogin and enter the code AAAAAAAAA to authenticate.
Setelah Anda masuk, output sampel berikut menunjukkan kumpulan simpul sistem terkelola. Pastikan status simpul siap.
NAME STATUS ROLES AGE VERSION
aks-nodepool1-13213685-vmss000000 Ready agent 2m26s v1.28.5
aks-nodepool1-13213685-vmss000001 Ready agent 2m26s v1.28.5
aks-nodepool1-13213685-vmss000002 Ready agent 2m26s v1.28.5
Menyebarkan aplikasi
Untuk menyebarkan aplikasi, Anda menggunakan file manifes untuk membuat semua objek yang diperlukan untuk menjalankan aplikasi AKS Store. File manifes Kubernetes menentukan keadaan kluster yang diinginkan, seperti image kontainer mana yang akan dijalankan. Manifes mencakup penyebaran dan layanan Kubernetes berikut:
- Simpan depan: Aplikasi web bagi pelanggan untuk melihat produk dan melakukan pemesanan.
- Layanan produk: Menampilkan informasi produk.
- Layanan pemesanan: Penempatan pesanan.
- Rabbit MQ: Antrean pesan untuk pesanan.
Nota
Kami tidak menyarankan untuk menjalankan kontainer stateful, seperti Rabbit MQ, tanpa penyimpanan persisten untuk produksi. Kontainer ini digunakan di sini untuk kesederhanaan, tetapi sebaiknya gunakan layanan terkelola, seperti Azure Cosmos DB atau Azure Service Bus.
Buat namespace
aks-store-demountuk menyebarkan sumber daya Kubernetes.kubectl create ns aks-store-demoSebarkan aplikasi menggunakan perintah kubectl apply ke dalam namespace
aks-store-demo. File YAML yang menentukan penyebaran berada di GitHub.kubectl apply -n aks-store-demo -f https://raw.githubusercontent.com/Azure-Samples/aks-store-demo/main/aks-store-ingress-quickstart.yamlContoh output berikut menunjukkan penyebaran dan layanan:
statefulset.apps/rabbitmq created configmap/rabbitmq-enabled-plugins created service/rabbitmq created deployment.apps/order-service created service/order-service created deployment.apps/product-service created service/product-service created deployment.apps/store-front created service/store-front created ingress/store-front created
Uji aplikasi
Ketika aplikasi berjalan, layanan Kubernetes mengekspos front end aplikasi ke internet. Diperlukan beberapa menit untuk menyelesaikan proses ini.
Periksa status pod yang telah dideploy menggunakan perintah kubectl get pods. Pastikan semua pod berada dalam keadaan
Runningsebelum melanjutkan. Jika ini adalah beban kerja pertama yang Anda sebarkan, mungkin perlu beberapa menit agar penyediaan otomatis simpul membuat kumpulan simpul untuk menjalankan pod.kubectl get pods -n aks-store-demoPeriksa alamat IP publik untuk aplikasi tampilan depan toko. Pantau kemajuan menggunakan perintah kubectl get service dengan argumen
--watch.kubectl get ingress store-front -n aks-store-demo --watchOutput ADDRESS untuk layanan
store-frontpada awalnya tampil kosong.NAME CLASS HOSTS ADDRESS PORTS AGE store-front webapprouting.kubernetes.azure.com * 80 12mSetelah ALAMAT berubah dari kosong ke alamat IP publik yang sebenarnya, gunakan
CTRL-Cuntuk menghentikankubectlproses tontonan.Contoh output berikut menunjukkan alamat IP publik yang valid yang ditetapkan ke layanan:
NAME CLASS HOSTS ADDRESS PORTS AGE store-front webapprouting.kubernetes.azure.com * 4.255.22.196 80 12mBuka browser web ke alamat IP eksternal ingress Anda untuk melihat aplikasi Azure Store beraksi.
Menghapus kluster
Jika Anda tidak berencana untuk melalui tutorial AKS, bersihkan sumber daya yang tidak perlu untuk menghindari biaya Azure. Jalankan perintah az group delete untuk menghapus grup sumber daya, layanan kontainer, dan semua sumber daya terkait.
az group delete --name <resource-group> --yes --no-wait
Nota
Kluster AKS dibuat dengan identitas terkelola yang ditetapkan pengguna. Jika Anda tidak memerlukan identitas tersebut lagi, Anda dapat menghapusnya secara manual.
Langkah berikutnya
Dalam panduan mulai cepat ini, Anda telah menyebarkan kluster Kubernetes privat dengan menggunakan AKS Otomatis di dalam jaringan virtual kustom dan kemudian menyebarkan aplikasi multi-kontainer sederhana untuk kluster tersebut. Aplikasi sampel ini hanya untuk tujuan demo dan tidak mewakili semua praktik terbaik untuk aplikasi Kubernetes. Untuk panduan tentang membuat solusi lengkap dengan AKS untuk produksi, lihat panduan solusi AKS.
Untuk mempelajari selengkapnya tentang AKS Otomatis, lanjutkan ke pengenalan.