Öğretici: Yönetilen özel uç nokta kullanarak AKS kümesinde şirket içinde barındırılan bir Prometheus hizmetine bağlanma

Bu kılavuz, açık kaynak izleme ve uyarı araç seti olan Prometheus'u bir Azure Kubernetes Service (AKS) kümesine yükleme adımlarında size yol gösterir. Ardından bu Prometheus sunucusuna bağlanmak ve Prometheus verilerini bir Grafana panosunda görüntülemek için Azure Yönetilen Grafana'nın yönetilen özel uç noktasını kullanırsınız.

Bu öğreticide aşağıdakilerin nasıl yapılacağını öğreneceksiniz:

  • Azure Kubernetes Service Kümesi oluşturma
  • Prometheus'u yükleme
  • Prometheus sunucusuna özel bağlantı hizmeti ekleme
  • Yönetilen özel uç nokta ile bağlanma
  • Grafana panosunda Prometheus verilerini görüntüleme

Önkoşullar

Başlamadan önce aşağıdakilere sahip olduğunuzdan emin olun:

Azure Kubernetes Service Kümesi oluşturma

  1. komutunu çalıştırarak Azure CLI'da oturum az login açın.

    az login
    

    Birden çok Azure aboneliğiniz varsa komutuyla az account set -s <your-azure-subscription-id>Azure aboneliğinizi seçin.

  2. kubectl yükleyin veya güncelleştirin.

    az aks install-cli
    
  3. Sonraki komutlarda kullanacağımız iki bash/zsh değişkeni oluşturun. Başka bir kabuk kullanıyorsanız aşağıdaki söz dizimini değiştirin.

    RESOURCE_GROUP=myResourceGroup 
    AKS_NAME=myaks
    
  4. Kaynak grubu oluşturun. Bu örnekte, kaynak grubunu Orta Batı ABD Azure bölgesinde oluşturacağız.

    az group create --name $RESOURCE_GROUP --location westcentralus
    
  5. az aks create komutunu kullanarak yeni bir AKS kümesi oluşturun . Burada B serisi Seri Artırılabilir sanal makine türünü kullanarak üç düğümlü bir küme oluşturuyoruz. Bu, uygun maliyetlidir ve bunun gibi küçük test/geliştirme iş yükleri için uygundur.

    az aks create --resource-group $RESOURCE_GROUP \
      --name $AKS_NAME \
      --node-count 3 \
      --node-vm-size Standard_B2s \
      --generate-ssh-keys
    

    Bu işlemin tamamlanması birkaç dakika sürebilir.

  6. Oluşturduğunuz kümede kimlik doğrulaması.

    az aks get-credentials \
      --resource-group $RESOURCE_GROUP \
      --name $AKS_NAME
    

    Artık kubectl ile Kubernetes kümenize erişebilirsiniz.

  7. Oluşturduğunuz düğümleri görmek için kubectl kullanın.

    kubectl get nodes
    

Prometheus'u yükleme

Prometheus'u yüklemenin popüler bir yolu, Prometheus ve ilgili izleme bileşenlerinin Kubernetes yerel dağıtımını ve yönetimini sağlayan prometheus-operator'dır. Bu öğreticide, prometheus-operator'ı dağıtmak için kube-prometheus-stack Helm grafiklerini kullanacağız.

  1. Helm-charts deposunu ekleyin ve ardından depo listenizi güncelleştirin.

    helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
    helm repo update
    
  2. Helm grafiğini izleme adlı bir ad alanına yükleyin. Bu ad alanı otomatik olarak oluşturulur.

    helm install prometheus \
      prometheus-community/kube-prometheus-stack \
      --namespace monitoring \
      --create-namespace
    
  3. Helm komutu, dağıtılan podların durumunu denetlemenizi ister. Aşağıdaki komutu çalıştırın.

    kubectl --namespace monitoring get pods
    
  4. Devam etmeden önce podların tümünün "Çalışıyor" olduğundan emin olun. Olası olmayan durumlarda çalışma durumuna ulaşmıyorlarsa, sorun gidermek isteyebilirsiniz.

Azure Özel Bağlantı hizmeti, kubernetes hizmetinizin farklı Azure sanal ağları arasında özel bağlantı üzerinden tüketilir. AKS, Azure Özel Bağlantı Hizmeti ile yerel bir tümleştirmeye sahiptir ve Azure'da karşılık gelen bir özel bağlantı hizmeti oluşturmak için kubernetes hizmet nesnesine açıklama eklemenize yardımcı olur.

pls-prometheus-svc.yaml dosyasının içeriğine bakın:

apiVersion: v1
kind: Service
metadata:
  name: prom-pls-svc
  annotations:
    service.beta.kubernetes.io/azure-load-balancer-internal: "true" # Use an internal LB with PLS
    service.beta.kubernetes.io/azure-pls-create: "true"
    service.beta.kubernetes.io/azure-pls-name: promManagedPls
    service.beta.kubernetes.io/azure-pls-proxy-protocol: "false"
    service.beta.kubernetes.io/azure-pls-visibility: "*"
spec:
  type: LoadBalancer
  selector:
    # app: myApp
    app.kubernetes.io/name: prometheus
    prometheus: prometheus-kube-prometheus-prometheus # note that this is related to the release name
  ports:
    - name: http-web
      protocol: TCP
      port: 9090
      targetPort: 9090
  1. Prometheus sunucusuna özel bağlantı hizmetini eklemek için aşağıdaki komutu çalıştırın.

    kubectl --namespace monitoring apply -f pls-prometheus-svc.yaml
    
  2. Adlı promManagedPls özel bağlantı hizmeti AKS tarafından yönetilen kaynak grubunda oluşturulur. Bu işlem birkaç dakika sürer.

Yönetilen özel uç noktayla bağlanma

  1. Henüz bir Azure Yönetilen Grafana çalışma alanınız yoksa Azure Yönetilen Grafana hızlı başlangıcını izleyerek bir çalışma alanı oluşturun.

  2. Azure Yönetilen Grafana çalışma alanınızı açın ve Ağ Tarafından>>gidin.

    Azure Yönetilen Grafana kaynağındaki yönetilen özel uç noktalar sayfasını gösteren Azure platformunun ekran görüntüsü.

  3. Yönetilen özel uç noktanız için bir ad girin ve Azure aboneliğinizi seçin.

  4. Kaynak türü için Yönetilen her özel uç nokta bir özel IP adresi alır. Bu yönetilen özel uç nokta için bir etki alanı adı da sağlayabilirsiniz. Azure Yönetilen Grafana hizmeti, bu etki alanının Azure Yönetilen Grafana ortamında yönetilen özel uç noktanın özel IP'sine çözümlendiğinden emin olur. Örneğin, etki alanını olarak *.prom.my-own-domain.comayarlayın.

    Yeni yönetilen özel uç nokta için girilen Prometheus bilgilerini gösteren Azure platformunun ekran görüntüsü.

  5. promManagedPls kaynağına giderek özel uç nokta bağlantısını onaylayın. Ayarlar'ın altında Özel uç nokta bağlantıları'na gidin, onay kutusunu kullanarak bağlantınızı seçin ve Onayla'yı seçin.

    Bağlantıyı onayla eylemini gösteren Azure platformunun ekran görüntüsü.

  6. Özel uç nokta bağlantısı onaylandıktan sonra Azure Yönetilen Grafana kaynağınıza dönün ve Yönetilen Özel Uç Nokta sekmesindeki Yenile düğmesini seçerek eşitleyinConnection state. Artık Onaylandı olarak gösterilmelidir.

    Yenile düğmesini gösteren Azure platformunun ekran görüntüsü.

Grafana panosunda Prometheus verilerini görüntüleme

  1. Grafana portalınızdan Prometheus veri kaynağını Grafana'ya ekleyin. Daha fazla bilgi için Veri kaynağı ekleme bölümüne gidin. Prometheus URL'miz şeklindedir http://prom-service.prom.my-own-domain.com:9090.

    Prometheus'un veri kaynağı olarak eklenmesini gösteren Grafana platformunun ekran görüntüsü.

  2. Şirket içinde barındırılan Prometheus veri kaynağınızdan yararlanmak için Node Exporter Tamdeneyin. Daha fazla yönerge için Grafana Labs'den pano içeri aktarma bölümüne gidin.

    Örnek Prometheus panosunu gösteren Azure Grafana platformunun ekran görüntüsü.

Sonraki adım

Hizmet hesaplarını kullanmayı öğrenin.