Aracılığıyla paylaş


Öğ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ğlan
  • 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.

    Screenshot of the Azure platform: showing the created Private Link Service resource.

Yönetilen özel uç nokta ile Bağlan

  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ğ Yönetilen>Özel Uç Nokta>Oluşturma'ya gidin.

    Screenshot of the Azure platform showing the managed private endpoints page within an Azure Managed Grafana resource.

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

  4. Kaynak türü için Microsoft.Network/privateLinkServices (Özel bağlantı hizmetleri) öğesini seçin ve Hedef kaynak için yukarıdaki adımda oluşturulan özel bağlantı hizmetini seçinpromManagedPls. 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.

    Screenshot of the Azure platform showing Prometheus information entered for the new managed private endpoint.

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

    Screenshot of the Azure platform showing the Approve connection action.

  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.

    Screenshot of the Azure platform showing the Refresh button.

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.

    Screenshot of the Grafana platform showing adding Prometheus as a data source.

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

    Screenshot of the Azure Grafana platform showing the sample Prometheus dashboard.

Sonraki adım

Hizmet hesaplarını kullanmayı öğrenin.