Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir: ✔️ AKS Otomatik
Azure Kubernetes Service (AKS) Automatic geliştiriciler, DevOps mühendisleri ve platform mühendisleri için en kolay yönetilen Kubernetes deneyimini sağlar. Modern ve yapay zeka uygulamaları için ideal olan AKS Otomatik, AKS kümesi kurulumunu ve işlemlerini otomatikleştirir ve en iyi uygulama yapılandırmalarını ekler. Herhangi bir beceri düzeyindeki kullanıcılar, AKS Otomatik'in uygulamaları için güvenlik, performans ve güvenilirlikten yararlanabilir. AKS Otomatik ayrıca, 5 dakika içinde tamamlanacağı garanti edilen uygun pod hazır olma işlemlerinin %99,9’unu garanti eden bir pod hazırlık SLA'sı içerir ve bu da uygulamalarınız için güvenilir, kendi kendini iyileştiren bir altyapı sağlar. Bu hızlı başlangıç, Kubernetes kavramlarının temel olarak bilindiğini varsayar. Daha fazla bilgi için Azure Kubernetes Service (AKS) için Kubernetes temel kavramları sayfasına bakınız.
Bu hızlı başlangıçta şunları öğreneceksiniz:
- Sanal ağ oluşturma.
- Sanal ağ üzerinde izinleri olan bir yönetilen kimlik oluşturun.
- Sanal ağda bir AKS Otomatik kümesi dağıtın.
- Bir grup mikro hizmet ve web ön uçlarıyla perakende senaryosunu simüle eden örnek bir çoklu kapsayıcı uygulama çalıştırın.
Azure hesabınız yoksa free hesabı oluşturun.
Önkoşullar
- Azure CLI sürüm 2.86.0 veya üzeri. Sürümü bulmak için komutunu çalıştırın
az --version. Yüklemeniz veya yükseltmeniz gerekiyorsa bkz. Azure CLI yükleme.
- Yerleşik rol ataması ile API sunucusu ağında küme kimliği
Network Contributor. - Sanal ağda
Network Contributoryerleşik rol atamasına sahip küme kimliği, Node Autoprovisioning'i destekler. -
Azure Kubernetes Service Cluster User RoleveAzure Kubernetes Service RBAC Writerile kümeye erişen kullanıcı kimliği. - En az
*/28boyutunda,Microsoft.ContainerService/managedClusters'ye ayrılmış API sunucusu alt ağı içeren bir sanal ağ.- Alt ağlara bağlı bir Ağ Güvenlik Grubu (NSG) varsa, NSG güvenlik kurallarının küme bileşenleri arasında gerekli iletişim türlerine izin verdiğinden emin olun. Ayrıntılı gereksinimler için bkz. Özel sanal ağ gereksinimleri.
- Azure Güvenlik Duvarı veya başka bir giden kısıtlama yöntemi veya cihazı varsa, gerekli giden ağ kuralları ve FQDN'lerin izin verildiğinden emin olun.
- AKS Otomatik, AKS kümenizde Azure İlkesi'yi etkinleştirecek, ancak daha sorunsuz bir deneyim için aboneliğinizde kaynak sağlayıcıyı önceden kaydetmeniz gerekir. Daha fazla bilgi için bkz. Azure kaynak sağlayıcıları ve türleri.
- kullanarak
az extension remove -n aks-previewAKS-preview uzantısını kaldırın.
Önemli
AKS 1.36’dan itibaren, yeni AKS Otomatik kümeleri, upstream Ingress NGINX retirement nedeniyle, varsayılan olarak uygulama yönlendirme eklentisi aracılığıyla Kubernetes Gateway API’sini, uygulama yönlendirme eklentisiyle Yönetilen NGINX girişi yerine etkinleştirecektir.
Mevcut Otomatik kümeler etkilenmez ancak uygulama yönlendirme eklentisi aracılığıyla Kubernetes Gateway API'sine geçişe başlamalıdır.
Sınırlamalar
AKS Otomatik kümeleri için aşağıdaki sınırlamalar geçerlidir:
- AKS Automatic şu bölgelerde genel kullanıma sunulmuştur:
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.- Yeni AKS Otomatik kümeleri varsayılan olarak yönetilen sistem düğümü havuzlarını ve LocalDNS'yi etkinleştirir. Hiçbir bölgede yönetilen sistem düğümü havuzları olmadan AKS Otomatik kümeleri oluşturamazsınız.
- AKS Otomatik kümesinde node kaynak grubu kilitleme önceden yapılandırılmıştır; bu da
MC_kaynak grubunda değişikliklere izin vermez ve varsayılan Özel DNS bölgesinde sanal ağ bağlantılarını engeller. Sanal ağlar arası veya özel DNS senaryoları için Özel bir sanal ağda özel Azure Kubernetes Service (AKS) Otomatik kümesi oluştur izleyerek özel ağ ve özel DNS kullanın. - Azure CLI sürüm 2.86.0 veya üzeri gereklidir. Sürümü bulmak için komutunu çalıştırın
az --version. Yüklemeniz veya yükseltmeniz gerekiyorsa bkz. Azure CLI yükleme. - Aşağıdaki uzantılar desteklenmez:
- Windows düğümleri desteklenmez.
- AKS için Istio tabanlı hizmet ağı eklentisi desteklenmez.
- AKS temel SKU'su ile Otomatik SKU arasında geçiş desteklenmez.
- Yönetilen sistem düğümü havuzları olmayan AKS Otomatik kümeleri ile yönetilen sistem düğümü havuzlarına sahip AKS Otomatik kümeleri arasındaki geçişler desteklenmez.
- Prometheus ölçümlerinin ve günlük koleksiyonunun özel kazıma yapılandırması desteklenmez.
- Otomatik küme oluşturma sırasında ACNS gözlemlenebilirliğini etkinleştirme desteklenmez. Küme oluşturulduktan sonra ACNS gözlemlenebilirliğini etkinleştirebilirsiniz.
Değişkenleri tanımlama
Aşağıdaki adımlarda kullanılan aşağıdaki değişkenleri tanımlayın.
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)
Kaynak grubu oluşturma
Azure kaynak grubu Azure kaynaklarının dağıtıldığı ve yönetildiği mantıksal bir grupdur.
az group create komutunu kullanarak bir kaynak grubu oluşturun .
az group create -n ${RG_NAME} -l ${LOCATION}
Aşağıdaki örnek çıktı, kaynak grubunun başarıyla oluşturulmasına benzer:
{
"id": "/subscriptions/<guid>/resourceGroups/automatic-rg",
"location": "canadacentral",
"managedBy": null,
"name": "automatic-rg",
"properties": {
"provisioningState": "Succeeded"
},
"tags": null
}
Sanal ağ oluşturma
komutunu kullanarak az network vnet create bir sanal ağ oluşturun. komutunu kullanarak az network vnet subnet create bir API sunucusu alt ağı, kullanıcı düğümü alt ağı ve sistem düğümü alt ağı oluşturun.
AKS Otomatik ile özel bir sanal ağ kullanırken bir API sunucusu alt ağı oluşturmanız gerekir. AKS, alt ağı sizin yerinize Microsoft.ContainerService/managedClusters olarak devredecek ve bu sayede AKS hizmeti bu alt ağa API sunucusu podlarını ve iç yük dengeleyiciyi ekleme izni verir. Alt ağı diğer iş yükleri için kullanamazsınız, ancak aynı sanal ağda bulunan birden çok AKS kümesi için kullanabilirsiniz. Desteklenen en düşük API sunucusu alt ağ boyutu /28'dir.
Uyarı
AKS kümesi alt ağ adres alanında en az dokuz (9) IP ayırır. IP adreslerinin bitmesi API sunucusu ölçeklendirmesini engelleyebilir ve API sunucusu kesintisine neden olabilir.
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 userNodeSubnet \
--address-prefixes 172.19.1.0/24
az network vnet subnet create --resource-group ${RG_NAME} \
--vnet-name ${VNET_NAME} \
--name managedSystemNodeSubnet \
--address-prefixes 172.19.0.64/26
Ağ güvenlik grubu gereksinimleri
Özel sanal ağınızdaki farklı alt ağlar arasındaki trafiği kısıtlamak için Ağ Güvenlik Grubu (NSG) kuralları eklediyseniz, NSG güvenlik kurallarının küme bileşenleri arasında gerekli iletişim türlerine izin verin.
AKS kümeleriyle özel sanal ağlar kullanırken ayrıntılı NSG gereksinimleri için bkz. Özel sanal ağ gereksinimleri.
Yönetilen bir kimlik oluşturun ve sanal ağ üzerinde izinler verin
komutunu kullanarak az identity create bir yönetilen kimlik oluşturun ve asıl kimliği alın. Sanal ağdaki Ağ Katkıda Bulunanı rolünü yönetilen kimliğe az role assignment create komutunu kullanarak atayın.
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
Özel bir sanal ağda AKS Otomatik kümesi oluşturma
AKS Otomatik kümesi oluşturmak için az aks create komutunu kullanın.
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" \
--node-subnet-id "/subscriptions/${SUBSCRIPTION_ID}/resourceGroups/${RG_NAME}/providers/Microsoft.Network/virtualNetworks/${VNET_NAME}/subnets/userNodeSubnet" \
--system-node-subnet-id "/subscriptions/${SUBSCRIPTION_ID}/resourceGroups/${RG_NAME}/providers/Microsoft.Network/virtualNetworks/${VNET_NAME}/subnets/managedSystemNodeSubnet"
--assign-identity "/subscriptions/${SUBSCRIPTION_ID}/resourcegroups/${RG_NAME}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/${IDENTITY_NAME}" \
--sku automatic \
--no-ssh-key
Birkaç dakika sonra komut tamamlanıp kümeyle ilgili JSON biçimli bilgileri döndürür.
Kümeye bağlanma
Kubernetes kümesini yönetmek için kubectl adlı Kubernetes komut satırı istemcisini kullanın. Azure Cloud Shell kullanıyorsanız kubectl zaten yüklüdür. Yerel olarak kubectl yüklemek için az aks install-cli komutunu çalıştırın. AKS otomatik küme yapılandırmaları, Kubernetes rol tabanlı erişim denetimi (RBAC) için Microsoft Entra ID ile yapılandırılır.
Azure CLI kullanarak bir küme oluşturduğunuzda, kullanıcınıza yerleşik roller atanırAzure Kubernetes Service RBAC Cluster Admin.
kubectl'u, az aks get-credentials komutunu kullanarak Kubernetes kümenize bağlanacak şekilde yapılandırın. Bu komut kimlik bilgilerini indirir ve Kubernetes CLI'yi bunları kullanacak şekilde yapılandırmaktadır.
az aks get-credentials --resource-group ${RG_NAME} --name ${CLUSTER_NAME}
kubectl get komutunu kullanarak kümenize bağlantıyı doğrulayın. Bu komut, küme düğümlerinin listesini döndürür.
kubectl get nodes
Aşağıdaki örnek çıktıda oturum açma işleminiz gösterilmektedir.
To sign in, use a web browser to open the page https://microsoft.com/devicelogin and enter the code AAAAAAAAA to authenticate.
Oturum açtığınızda, aşağıdaki örnek çıktı yönetilen sistem düğümü havuzlarını gösterir. Düğümün durumunun Hazır olduğundan emin olun.
NAME STATUS ROLES AGE VERSION
aks-hostedpool-16652789-vms1 Ready <none> 19m v1.34.7
aks-hostedpool-16652789-vms2 Ready <none> 19m v1.34.7
aks-hostedpool-16652789-vms3 Ready <none> 19m v1.34.7
aks-system-surge-zq4d2 Ready <none> 19m v1.34.7
Sanal ağ oluşturma
Bu Bicep dosyası bir sanal ağ tanımlar.
@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 user node subnet.')
param userNodeSubnetName string = 'userNodeSubnet'
@description('The subnet prefix of the user node subnet.')
param userNodeSubnetPrefix string = '172.19.1.0/24'
@description('The name of the system node subnet.')
param systemNodeSubnetName string = 'systemNodeSubnet'
@description('The subnet prefix of the system node subnet.')
param systemNodeSubnetPrefix string = '172.19.0.64/26'
// Virtual network with an API server subnet, a user node subnet, and a system node subnet
resource virtualNetwork 'Microsoft.Network/virtualNetworks@2023-09-01' = {
name: vnetName
location: location
properties: {
addressSpace: {
addressPrefixes: [ addressPrefix ]
}
subnets: [
{
name: apiServerSubnetName
properties: {
addressPrefix: apiServerSubnetPrefix
}
}
{
name: userNodeSubnetName
properties: {
addressPrefix: userNodeSubnetPrefix
}
}
{
name: systemNodeSubnetName
properties: {
addressPrefix: systemNodeSubnetPrefix
}
}
]
}
}
output apiServerSubnetId string = resourceId('Microsoft.Network/virtualNetworks/subnets', vnetName, apiServerSubnetName)
output userNodeSubnetId string = resourceId('Microsoft.Network/virtualNetworks/subnets', vnetName, userNodeSubnetName)
output systemNodeSubnetId string = resourceId('Microsoft.Network/virtualNetworks/subnets', vnetName, systemNodeSubnetName)
Bicep dosyasını virtualNetwork.bicep kaydedinyerel bilgisayarınıza .
Önemli
Bicep dosyası vnetName parametresini aksAutomaticVnet, addressPrefix parametresini 172.19.0.0/16 olarak ayarlar, apiServerSubnetPrefix için parametresi ve apiServerSubnetPrefix için parametresi. Farklı değerler kullanmak istiyorsanız, dizeleri tercih ettiğiniz değerlere güncelleştirdiğinizden emin olun.
Azure CLI kullanarak Bicep dosyasını dağıtın.
az deployment group create --resource-group <resource-group> --template-file virtualNetwork.bicep
Sanal ağ içindeki tüm trafiğe varsayılan olarak izin verilir. Özel sanal ağınızdaki farklı alt ağlar arasındaki trafiği kısıtlamak için Ağ Güvenlik Grubu (NSG) kuralları eklediyseniz, NSG güvenlik kurallarının küme bileşenleri arasında gerekli iletişim türlerine izin verin.
AKS kümeleriyle özel sanal ağlar kullanırken ayrıntılı NSG gereksinimleri için bkz. Özel sanal ağ gereksinimleri.
Yönetilen bir kimlik oluştur
Bu Bicep dosyası, kullanıcı tarafından atanan yönetilen kimliği tanımlar.
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
Bicep dosyasını uami.bicep kaydedinyerel bilgisayarınıza .
Önemli
Bicep dosyası uamiName parametresini aksAutomaticUAMI olarak ayarlar. Farklı bir kimlik adı kullanmak istiyorsanız, dizeyi tercih ettiğiniz adla güncelleştirdiğinizden emin olun.
Azure CLI kullanarak Bicep dosyasını dağıtın.
az deployment group create --resource-group <resource-group> --template-file uami.bicep
Sanal ağ üzerinden Ağ Katkıda Bulunanı rolünü atama
Bu Bicep dosyası, sanal ağ üzerinden rol atamalarını tanımlar.
@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
}
}
Bicep dosyasını roleAssignments.bicep kaydedinyerel bilgisayarınıza .
Önemli
Bicep dosyası vnetName parametresini aksAutomaticVnet olarak ayarlar. Farklı bir sanal ağ adı kullandıysanız, dizeyi tercih ettiğiniz sanal ağ adına güncelleştirdiğinizden emin olun.
Azure CLI kullanarak Bicep dosyasını dağıtın. Kullanıcı tarafından atanan kimlik sorumlusu kimliğini sağlamanız gerekir.
az deployment group create --resource-group <resource-group> --template-file roleAssignments.bicep \
--parameters uamiPrincipalId=<user assigned identity prinicipal id>
Özel bir sanal ağda AKS Otomatik kümesi oluşturma
Bu Bicep dosyası AKS Otomatik kümesini tanımlar.
@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 user node subnet.')
param userNodeSubnetId string
@description('The resource ID of the system node subnet.')
param systemNodeSubnetId string
@description('The resource ID of the user assigned managed identity.')
param uamiId string
/// Create the 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: {
apiServerAccessProfile: {
subnetId: apiServerSubnetId
}
networkProfile: {
outboundType: 'loadBalancer'
}
hostedSystemProfile: {
systemNodeSubnetID: systemNodeSubnetId
nodeSubnetID: userNodeSubnetId
}
}
identity: {
type: 'UserAssigned'
userAssignedIdentities: {
'${uamiId}': {}
}
}
}
Bicep dosyasını aks.bicep kaydedinyerel bilgisayarınıza .
Önemli
Bicep dosyası clusterName parametresini aksAutomaticCluster olarak ayarlar. Farklı bir küme adı istiyorsanız, dizeyi tercih ettiğiniz küme adıyla güncelleştirdiğinizden emin olun.
Azure CLI kullanarak Bicep dosyasını dağıtın. API sunucusu alt ağ kaynak kimliğini, kullanıcı düğümü alt ağ kaynak kimliğini, sistem düğümü alt ağ kaynak kimliğini ve kullanıcı tarafından atanan yönetilen kimlik kaynak kimliğini sağlamanız gerekir.
az deployment group create --resource-group <resource-group> --template-file aks.bicep \
--parameters apiServerSubnetId=<API server subnet resource id> \
--parameters nodeSubnetId=<user node subnet resource id> \
--parameters systemNodeSubnetId=<system node subnet resource id> \
--parameters uamiId=<user assigned identity id>
Kümeye bağlanma
Kubernetes kümesini yönetmek için kubectl adlı Kubernetes komut satırı istemcisini kullanın. Azure Cloud Shell kullanıyorsanız kubectl zaten yüklüdür. Yerel olarak kubectl yüklemek için az aks install-cli komutunu çalıştırın. AKS otomatik küme yapılandırmaları, Kubernetes rol tabanlı erişim denetimi (RBAC) için Microsoft Entra ID ile yapılandırılır.
Önemli
Bicep kullanarak bir küme oluşturduğunuzda, kullanıcılarınıza , Azure Kubernetes Service RBAC Reader, Azure Kubernetes Service RBAC Writer veya Azure Kubernetes Service RBAC Admin gibi yerleşik rollerden birini küme veya belirli bir ad alanı için (örneğin, Azure Kubernetes Service RBAC Cluster Admin kullanılarak) atamanız gerekir. Ayrıca kullanıcılarınızın Azure Kubernetes Service Cluster User çalıştırabilmek için az aks get-credentials yerleşik rolüne sahip olduğundan emin olun ve az aks get-credentials komutunu kullanarak AKS kümenizin kubeconfig değerini alın.
kubectl'u, az aks get-credentials komutunu kullanarak Kubernetes kümenize bağlanacak şekilde yapılandırın. Bu komut kimlik bilgilerini indirir ve Kubernetes CLI'yi bunları kullanacak şekilde yapılandırmaktadır.
az aks get-credentials --resource-group <resource-group> --name <cluster-name>
kubectl get komutunu kullanarak kümenize bağlantıyı doğrulayın. Bu komut, küme düğümlerinin listesini döndürür.
kubectl get nodes
Aşağıdaki örnek çıktıda oturum açma işleminiz gösterilmektedir.
To sign in, use a web browser to open the page https://microsoft.com/devicelogin and enter the code AAAAAAAAA to authenticate.
Oturum açtığınızda, aşağıdaki örnek çıktı yönetilen sistem düğümü havuzlarını gösterir. Düğümün durumunun Hazır olduğundan emin olun.
NAME STATUS ROLES AGE VERSION
aks-hostedpool-16652789-vms1 Ready <none> 19m v1.34.7
aks-hostedpool-16652789-vms2 Ready <none> 19m v1.34.7
aks-hostedpool-16652789-vms3 Ready <none> 19m v1.34.7
aks-system-surge-zq4d2 Ready <none> 19m v1.34.7
Uygulamayı dağıt
Uygulamayı dağıtmak için bir bildirim dosyası kullanarak AKS Store uygulamasını çalıştırmak için gereken tüm nesneleri oluşturursunuz. Kubernetes bildirim dosyası, hangi kapsayıcı görüntülerinin çalıştırıldığı gibi kümenin istenen durumunu tanımlar. Bildirim aşağıdaki Kubernetes dağıtımlarını ve hizmetlerini içerir:
- Mağaza ön: Müşterilerin ürünleri görüntülemesi ve sipariş vermesi için web uygulaması.
- Ürün hizmeti: Ürün bilgilerini gösterir.
- Sipariş hizmeti: Sipariş verir.
- Rabbit MQ: Sipariş kuyruğu için ileti kuyruğu.
Uyarı
Üretim için kalıcı depolama olmadan Rabbit MQ gibi durum bilgisi olan kapsayıcıları çalıştırmanızı önermiyoruz. Bu kapsayıcılar burada kolaylık sağlamak için kullanılır, ancak Azure Cosmos DB veya Azure Service Bus gibi yönetilen hizmetleri kullanmanızı öneririz.
Kubernetes kaynaklarını dağıtmak için bir ad alanı
aks-store-demooluşturun.kubectl create ns aks-store-demoKubectl apply komutunu kullanarak uygulamayı ad alanına dağıtın
aks-store-demo. Dağıtımı tanımlayan YAML dosyası GitHub üzerindedir.kubectl apply -n aks-store-demo -f https://raw.githubusercontent.com/Azure-Samples/aks-store-demo/main/aks-store-ingress-quickstart.yamlAşağıdaki örnek çıktı dağıtımları ve hizmetleri gösterir:
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
Uygulamayı test edin
Uygulama çalıştırıldığında Kubernetes hizmeti, uygulamanın ön ucunu İnternet'te kullanıma sunar. Bu işlemin tamamlanması birkaç dakika sürebilir.
kubectl get pods komutunu kullanarak dağıtılan podların durumunu denetleyin. Devam etmeden önce tüm podların
Runningdurumda olduğundan emin olun. Dağıttığınız ilk iş yükü buysa, otomatik düğüm sağlama özelliğinin pod'ları çalıştıracak bir düğüm havuzu oluşturması birkaç dakika sürebilir.kubectl get pods -n aks-store-demoMağaza ön uygulaması için genel IP adresi olup olmadığını denetleyin. kubectl get service komutunu
--watchbağımsız değişkeniyle kullanarak ilerlemeyi izleyin.kubectl get ingress store-front -n aks-store-demo --watchHizmetin ADDRESS çıkışı
store-frontbaşlangıçta boş görünüyor:NAME CLASS HOSTS ADDRESS PORTS AGE store-front webapprouting.kubernetes.azure.com * 80 12mADRES boştan gerçek bir genel IP adresine geçtikten
CTRL-Csonra izleme işlemini durdurmak için kullanınkubectl.Aşağıdaki örnek çıktı hizmete atanmış geçerli bir genel IP adresini gösterir:
NAME CLASS HOSTS ADDRESS PORTS AGE store-front webapprouting.kubernetes.azure.com * 4.255.22.196 80 12mAzure Mağazası uygulamasının çalıştığını görmek için girişinizin dış IP adresine bir web tarayıcısı açın.
Kümeyi sil
AKS öğreticisi üzerinden geçmeyi planlamıyorsanız, Azure ücretlerinden kaçınmak için gereksiz kaynakları temizleyin. Kaynak grubunu, kapsayıcı hizmetini ve tüm ilgili kaynakları kaldırmak için az group delete komutunu çalıştırın.
az group delete --name <resource-group> --yes --no-wait
Uyarı
AKS kümesi, kullanıcı tarafından atanan yönetilen kimlikle oluşturulmuştur. Bu kimliğe artık ihtiyacınız yoksa, kimliği el ile kaldırabilirsiniz.
Sonraki adımlar
Bu hızlı başlangıçta, özel bir sanal ağ içinde AKS Otomatik kullanarak bir Kubernetes kümesi dağıttınız ve ardından ona basit bir çok kapsayıcılı uygulama dağıttınız. Bu örnek uygulama yalnızca tanıtım amaçlıdır ve Kubernetes uygulamaları için en iyi yöntemlerin tümünü temsil etmez. Üretim için AKS ile tam çözüm oluşturma yönergeleri için bkz . AKS çözümü kılavuzu.
AKS Otomatik hakkında daha fazla bilgi edinmek için giriş bölümüne geçin.