Azure CLI’yı Kullanarak Azure Kubernetes Hizmeti (AKS) Dağıtma
Azure Kubernetes Hizmeti (AKS), kümeleri hızlı bir şekilde dağıtmanızı ve yönetmenizi sağlayan yönetilen bir Kubernetes hizmetidir. Bu makalede, Azure CLI’yı kullanarak bir AKS kümesini dağıtacağız. Bir web ön ucu ve Redis örneği içeren bir çoklu container uygulaması kümede çalıştırılacaktır. Daha sonra uygulamanızı çalıştıran küme ve bölmelerin sağlığını nasıl izleyeceğinizi göreceksiniz.
- Öncelikle aşağıdaki Azure CLI komutu ile bir Resource Group oluşturabilirsiniz.
az group create --name OnderAKSRG --location northeurope
- Bir AKS kümesi oluşturmak için “az aks create” komutunu kullanabilirsiniz. Aşağıdaki örnek, myAKSCluster adlı bir cluster node’u oluşturur. Containerlar için Azure Monitor –enable-addons izleme parametresi kullanılarak da etkinleştirilir. Birkaç dakika sonra komut, kümeyle ilgili JSON biçimli bilgileri tamamlar ve döndürür.
az aks create \
--resource-group OnderAKSRG \
--name OnderAKSCluster \
--node-count 1 \
--enable-addons monitoring \
--generate-ssh-keys
- Bir Kubernetes kümesini yönetmek için, Kubernetes komut satırı istemcisi olan kubectl’yi kullanmanız gerekir. Azure Cloud Shell kullanıyorsanız kubectl zaten kuruludur. Kubectl’yi yerel olarak kurmak için az aks install-cli komutunu kullanın:
az aks install-cli
- Kubectl’i Kubernetes kümenize bağlanacak şekilde yapılandırmak için az aks get-credentials komutunu kullanın. Bu komut kimlik bilgilerini indirir ve Kubernetes CLI’yi bunları kullanacak şekilde yapılandırır.
az aks get-credentials --resource-group OnderAKSRG --name OnderAKSCluster
- Kümenizle olan bağlantıyı doğrulamak için, küme düğümlerinin bir listesini döndürmek için kubectl get komutunu kullanın.
kubectl get nodes
- Aşağıdaki örnek çıktı, önceki adımlarda oluşturulan tek node’u gösterir. Node durumunun Hazır olduğundan emin olun:
- Kubernet’ler bildirim dosyası, hangi container görüntülerinin çalıştırılacağı gibi küme için istenen bir durumu tanımlar. Örneğimizde, Azure Oy uygulamasını çalıştırmak için gereken tüm nesneleri oluşturmak için bir bildirim kullanılacağız. Bu bildirge iki Kubernet dağıtımı içerir – biri örnek Azure Oy Python uygulamaları için, diğeri Redis örneği için. İki Kubernet Hizmeti de yaratılmıştır – Redis örneği için dahili bir servis ve Azure Oylama uygulamasına internetten erişmek için harici bir servis. Örnek için “Azure-vote.yaml” adlı bir dosya oluşturun ve aşağıdaki YAML içeriğini kopyalayın. Azure Cloud Shell kullanıyorsanız, bu dosya sanal veya fiziksel bir sistemde çalışıyormuş gibi vi veya nano kullanılarak oluşturulabilir:
apiVersion: apps/v1
kind: Deployment
metadata:
name: azure-vote-back
spec:
replicas: 1
selector:
matchLabels:
app: azure-vote-back
template:
metadata:
labels:
app: azure-vote-back
spec:
containers:
- name: azure-vote-back
image: redis
resources:
requests:
cpu: 100m
memory: 128Mi
limits:
cpu: 250m
memory: 256Mi
ports:
- containerPort: 6379
name: redis
---
apiVersion: v1
kind: Service
metadata:
name: azure-vote-back
spec:
ports:
- port: 6379
selector:
app: azure-vote-back
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: azure-vote-front
spec:
replicas: 1
selector:
matchLabels:
app: azure-vote-front
template:
metadata:
labels:
app: azure-vote-front
spec:
containers:
- name: azure-vote-front
image: microsoft/azure-vote-front:v1
resources:
requests:
cpu: 100m
memory: 128Mi
limits:
cpu: 250m
memory: 256Mi
ports:
- containerPort: 80
env:
- name: REDIS
value: "azure-vote-back"
---
apiVersion: v1
kind: Service
metadata:
name: azure-vote-front
spec:
type: LoadBalancer
ports:
- port: 80
selector:
app: azure-vote-front
- Uygulamayı kubectl application komutunu kullanarak dağıtın ve YAML bildirinizin adını belirtin. Bu arada kubectl’nin bulunduğu path genelde kurulumu yaptıktan sonra C:\Users\kullanıcıadınız\.azure-kubectl olacaktır.
kubectl apply -f azure-vote.yaml
- Aşağıdaki örnek çıktı, başarıyla oluşturulan Dağıtım ve Servisleri gösterir.
- Uygulama çalıştığında, bir Kubernetes servisi, uygulamanın ön ucunu internete açar. Bu işlemin tamamlanması birkaç dakika sürebilir. İlerlemeyi izlemek için, kubectl get service komutunu –watch argümanıyla kullanın.
kubectl get service azure-vote-front --watch
- EXTERNAL-IP adresi pending konumundan gerçek bir genel IP adresine değiştiğinde, kubectl izleme işlemini durdurmak için CTRL-C kullanabilirsiniz. Aşağıdaki örnek çıktı, servise atanmış geçerli bir genel IP adresini gösterir:
EXTERNAL IP adresine bağlandığınızda Azure AKS servisi üzerinde çalışan web uygulamanıza erişebilirsiniz.
AKS kümesi oluşturulduğunda, containerler için Azure Monitor, hem küme nodeları hem de bölmeler için sağlık ölçümlerini yakalamak için etkinleştirilir. Bu sağlık ölçümleri Azure portalında mevcuttur.