Azure Arc özellikli Kubernetes herhangi bir yerde çalıştırılan Kubernetes kümelerini eklemenize ve yapılandırmanıza olanak tanır. Diğer genel bulut sağlayıcılarında (GCP veya AWS gibi) veya şirket içi veri merkezinizde çalışan kümelerinizi (VMware vSphere veya Azure Stack HCI gibi) Azure Arc’a bağlayabilirsiniz.
Kubernetes kümesini Azure Arc’a bağladığınızda, kümeniz:
- Azure Resource Manager’da benzersiz bir kimlikle temsil edilir
- Bir Azure aboneliğine ve kaynak grubuna yerleştirilir
- Diğer herhangi bir Azure kaynağı gibi etiketleri alır
Azure arc Kubernetes için detaylı bilgiye https://learn.microsoft.com/tr-tr/azure/azure-arc/kubernetes/overview linkten ulaşabilirsiniz.
Virtualbox da ubuntu makinemde Kubernetes ortamım mevcut bunu Azure Arc sayesinde kubernetesimi azure ekleyip gerekli policyleri basacağım.
Azure CLI kurulumu için ubuntu makineme gidiyorum.
Yükleme işlemi için gerekli paketleri alın:
sudo apt-get update sudo apt-get install ca-certificates curl apt-transport-https lsb-release gnupg
Microsoft imzalama anahtarını indirin ve yükleyin:
curl -sL https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/microsoft.gpg > /dev/null
Azure CLI yazılım deposunu ekleyin:
AZ_REPO=$(lsb_release -cs) echo "deb [arch=amd64] https://packages.microsoft.com/repos/azure-cli/ $AZ_REPO main" | sudo tee /etc/apt/sources.list.d/azure-cli.list
Depo bilgilerini güncelleştirin azure-cli ve paketi yükleyin:
sudo apt-get update sudo apt-get install azure-cli
Evet Azure Portale login olalım:
az login
Evet azure cli yükledindi az login komutu ile bizi browserda login ekranına attı başarıyla login olduk
Connectedk8s Azure CLI uzantısının en son sürümünü yükleyin:
az extension add --name connectedk8s
Azure Arc özellikli Kubernetes için servis sağlayıcıları kaydetme
az provider register --namespace Microsoft.Kubernetes az provider register --namespace Microsoft.KubernetesConfiguration az provider register --namespace Microsoft.ExtendedLocation
az provider show -n Microsoft.Kubernetes -o table az provider show -n Microsoft.KubernetesConfiguration -o table az provider show -n Microsoft.ExtendedLocation -o table
Kaydedildikten sonra, bu ad alanlarının durumunun RegistrationState olarak Registereddeğiştiğini görmeniz gerekir.
Kaynak grubu oluşturma
az group create --name AzureArcKubernetes --location westeurope --output table
Mevcut Kubernetesi bağlama
az connectedk8s connect --name kubernetes --resource-group AzureArcKubernetes
Burada bir süre bekleyeceğiz ve connect olduktan sonra Azure Portalden görüntüleyelim Kubernetesimizi.
Token oluşturma
Kubernetes kaynaklarımızı görüntülemek için oturum açmamız gerekiyor tokenımızı yaratalım.
kubectl create serviceaccount demo-user kubectl create clusterrolebinding demo-user-binding --clusterrole cluster-admin --serviceaccount default:demo-user
kubectl apply -f - <<EOF apiVersion: v1 kind: Secret metadata: name: demo-user-secret annotations: kubernetes.io/service-account.name: demo-user type: kubernetes.io/service-account-token EOF
TOKEN=$(kubectl get secret demo-user-secret -o jsonpath='{$.data.token}' | base64 -d | sed 's/$/\\\n/g')
echo $TOKEN
Tokenımızı kopyalayıp azure portale yapıştıralım.
Evet servislerimizi podlarımı namespaceslerimizi görebiliyoruz artık.
Monitoring
Azure market place den Log Analytics Workspace create edelim
Daha sonra azure arc kubernetesime gelerek Insgihts bölümüne gelelim ve configure seçeneğine basıp create attiğim log analystics workspacemizi configure edelim.
Kubernetes de podların ayağa kalkması biraz sürebilir. Evet artık monitoring edebiliyoruz.
Policy
Policy ayarlarına gelip enable edelim ve policy için defender podları kubernetesimde ayağa kalkmasını bekleyelim
Birden fazla kubernetes eklemeler de otomatik olarak policy alması için defender for cloud gidelim Environment settings girelim ve subscriptionımıza edit setting diyelim.
Daha sonra defender plans bölümüne gelip containers editleyip azure policy for kubernetes “on” yapalım ve her azure arc kubernetes eklediğim de otomatik olarak policylerimi alacak.