Megosztás a következőn keresztül:


Kubernetes-erőforrások elérése az Azure Portal használatával

Ebből a cikkből megtudhatja, hogyan érheti el és kezelheti Azure Kubernetes Service-erőforrásait az Azure Portal használatával.

Mielőtt elkezdené

A Kubernetes-erőforrások Azure Portalon való megtekintéséhez AKS-fürtre van szükség. Minden fürt támogatott, de ha Microsoft Entra-integrációt használ, a fürtnek az AKS által felügyelt Microsoft Entra-integrációt kell használnia. Ha a fürt régi Microsoft Entra-azonosítót használ, frissítheti a fürtöt a portálon vagy az Azure CLI-vel. Az Azure Portallal is létrehozhat egy új AKS-fürtöt.

Kubernetes-erőforrások megtekintése

  1. Az Azure Portalon keresse meg az AKS-fürterőforrást.

  2. A szolgáltatás menüjében válassza a Kubernetes-erőforrásokat. A Kubernetes-erőforrások listája a következő kategóriákat jeleníti meg:

    • A névterek a fürt névtereiről ad információt.
    • A számítási feladatok a fürtön üzembe helyezett központi telepítésekkel, podokkal, replikakészletekkel, állapotalapú készletekkel, démonkészletekkel, feladatokkal és cronfeladatokkal kapcsolatos információkat jelenítik meg.
    • A szolgáltatások és a bejövő forgalom megjeleníti a fürt összes szolgáltatás- és bejövő erőforrását.
    • A Storage megjeleníti az Azure Storage-osztályokat és az állandó kötetadatokat.
    • A konfiguráció megjeleníti a fürt konfigurációs térképeit és titkos kulcsait.
    • Az egyéni erőforrások a fürtön üzembe helyezett egyéni erőforrásokat jelenítik meg.
    • Az események a fürthöz kapcsolódó összes eseményt megjelenítik.
    • A futtatási parancs lehetővé teszi a fürthöz hasonló és helmhasonló kubectl parancsok távoli meghívását az Azure API-n keresztül anélkül, hogy közvetlenül csatlakozna a fürthöz.

    Képernyőkép az Azure Portalon megjelenő Kubernetes-erőforrásokról.

Mintaalkalmazás üzembe helyezése

Ebben a szakaszban az Azure Store-alkalmazást az AKS gyorsútmutatójából helyezzük üzembe.

Csatlakozás a fürthöz

Az Azure Store-alkalmazás üzembe helyezéséhez csatlakoznia kell az AKS-fürthöz. Kövesse az alábbi lépéseket a fürthöz való csatlakozáshoz az Azure Portalon:

  1. Az AKS-fürt Áttekintés lapján válassza a Csatlakozás lehetőséget.
  2. Kövesse az utasításokat a fürthöz való csatlakozáshoz a Cloud Shell, az Azure CLI vagy a Run paranccsal.

Az Azure Store-alkalmazás üzembe helyezése

  1. A Kubernetes-erőforrások listájában válassza a Szolgáltatások és bejövő forgalom lehetőséget.

  2. Válassza a YAML alkalmazásának létrehozása lehetőséget.>

  3. Másolja és illessze be a következő YAML-et a szerkesztőbe:

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: rabbitmq
    spec:
      replicas: 1
      selector:
        matchLabels:
          app: rabbitmq
      template:
        metadata:
          labels:
            app: rabbitmq
        spec:
          nodeSelector:
            "kubernetes.io/os": linux
          containers:
          - name: rabbitmq
            image: mcr.microsoft.com/mirror/docker/library/rabbitmq:3.10-management-alpine
            ports:
            - containerPort: 5672
              name: rabbitmq-amqp
            - containerPort: 15672
              name: rabbitmq-http
            env:
            - name: RABBITMQ_DEFAULT_USER
              value: "username"
            - name: RABBITMQ_DEFAULT_PASS
              value: "password"
            resources:
              requests:
                cpu: 10m
                memory: 128Mi
              limits:
                cpu: 250m
                memory: 256Mi
            volumeMounts:
            - name: rabbitmq-enabled-plugins
              mountPath: /etc/rabbitmq/enabled_plugins
              subPath: enabled_plugins
          volumes:
          - name: rabbitmq-enabled-plugins
            configMap:
              name: rabbitmq-enabled-plugins
              items:
              - key: rabbitmq_enabled_plugins
                path: enabled_plugins
    ---
    apiVersion: v1
    data:
      rabbitmq_enabled_plugins: |
        [rabbitmq_management,rabbitmq_prometheus,rabbitmq_amqp1_0].
    kind: ConfigMap
    metadata:
      name: rabbitmq-enabled-plugins
    ---
    apiVersion: v1
    kind: Service
    metadata:
      name: rabbitmq
    spec:
      selector:
        app: rabbitmq
      ports:
        - name: rabbitmq-amqp
          port: 5672
          targetPort: 5672
        - name: rabbitmq-http
          port: 15672
          targetPort: 15672
      type: ClusterIP
    ---
    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: order-service
    spec:
      replicas: 1
      selector:
        matchLabels:
          app: order-service
      template:
        metadata:
          labels:
            app: order-service
        spec:
          nodeSelector:
            "kubernetes.io/os": linux
          containers:
          - name: order-service
            image: ghcr.io/azure-samples/aks-store-demo/order-service:latest
            ports:
            - containerPort: 3000
            env:
            - name: ORDER_QUEUE_HOSTNAME
              value: "rabbitmq"
            - name: ORDER_QUEUE_PORT
              value: "5672"
            - name: ORDER_QUEUE_USERNAME
              value: "username"
            - name: ORDER_QUEUE_PASSWORD
              value: "password"
            - name: ORDER_QUEUE_NAME
              value: "orders"
            - name: FASTIFY_ADDRESS
              value: "0.0.0.0"
            resources:
              requests:
                cpu: 1m
                memory: 50Mi
              limits:
                cpu: 75m
                memory: 128Mi
          initContainers:
          - name: wait-for-rabbitmq
            image: busybox
            command: ['sh', '-c', 'until nc -zv rabbitmq 5672; do echo waiting for rabbitmq; sleep 2; done;']
            resources:
              requests:
                cpu: 1m
                memory: 50Mi
              limits:
                cpu: 75m
                memory: 128Mi
    ---
    apiVersion: v1
    kind: Service
    metadata:
      name: order-service
    spec:
      type: ClusterIP
      ports:
      - name: http
        port: 3000
        targetPort: 3000
      selector:
        app: order-service
    ---
    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: product-service
    spec:
      replicas: 1
      selector:
        matchLabels:
          app: product-service
      template:
        metadata:
          labels:
            app: product-service
        spec:
          nodeSelector:
            "kubernetes.io/os": linux
          containers:
          - name: product-service
            image: ghcr.io/azure-samples/aks-store-demo/product-service:latest
            ports:
            - containerPort: 3002
            resources:
              requests:
                cpu: 1m
                memory: 1Mi
              limits:
                cpu: 1m
                memory: 7Mi
    ---
    apiVersion: v1
    kind: Service
    metadata:
      name: product-service
    spec:
      type: ClusterIP
      ports:
      - name: http
        port: 3002
        targetPort: 3002
      selector:
        app: product-service
    ---
    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: store-front
    spec:
      replicas: 1
      selector:
        matchLabels:
          app: store-front
      template:
        metadata:
          labels:
            app: store-front
        spec:
          nodeSelector:
            "kubernetes.io/os": linux
          containers:
          - name: store-front
            image: ghcr.io/azure-samples/aks-store-demo/store-front:latest
            ports:
            - containerPort: 8080
              name: store-front
            env:
            - name: VUE_APP_ORDER_SERVICE_URL
              value: "http://order-service:3000/"
            - name: VUE_APP_PRODUCT_SERVICE_URL
              value: "http://product-service:3002/"
            resources:
              requests:
                cpu: 1m
                memory: 200Mi
              limits:
                cpu: 1000m
                memory: 512Mi
    ---
    apiVersion: v1
    kind: Service
    metadata:
      name: store-front
    spec:
      ports:
      - port: 80
        targetPort: 8080
      selector:
        app: store-front
      type: LoadBalancer
    
  4. Válassza a Hozzáadás lehetőséget.

    Miután az alkalmazás befejezte az üzembe helyezést, a szolgáltatások listájában a következő szolgáltatások láthatók:

    • rendelési szolgáltatás
    • termék-szolgáltatás
    • rabbitmq
    • áruházi előtér

    Képernyőkép az Azure Store-beli alkalmazásszolgáltatásokról az Azure Portalon.

Üzembehelyezési elemzések figyelése

A monitorozási bővítmény engedélyezése az AKS-fürtön

A Container Insightst engedélyező AKS-fürtök különböző üzembehelyezési megállapításokat érhetnek el az Azure Portalon. Ha nincs engedélyezve a figyelés a fürtön, az alábbi lépésekkel engedélyezheti azt:

  1. Az AKS-fürterőforrás szolgáltatásmenüjében válassza a Monitorozási>elemzések>konfigurálása elemet.

  2. A Container Insights konfigurálása lapon válassza a Konfigurálás lehetőséget.

    A monitorozási megoldás üzembe helyezése és az adatok gyűjtésének megkezdése eltarthat néhány percig.

Üzembehelyezési elemzések megtekintése

  1. Az AKS-fürterőforrás szolgáltatásmenüjében válassza a Számítási feladatok lehetőséget.
  2. Válasszon ki egy üzembe helyezést a listából az üzembe helyezési elemzések, például a PROCESSZOR- és memóriahasználat megtekintéséhez.

Feljegyzés

A Monitoring>Insights lehetőséget választva részletesebb információkat is megtekinthet az adott csomópontokról és tárolókról.

Az erőforrások eltávolítása

Ha már nincs szüksége az Azure Store-alkalmazásra, törölheti a szolgáltatásokat az Azure-költségek elkerülése érdekében.

  1. A Kubernetes-erőforrások listájában válassza a Szolgáltatások és bejövő forgalom lehetőséget.
  2. Jelölje ki a törölni kívánt szolgáltatásokat, majd válassza a Törlés lehetőséget.

Hibaelhárítás

Jogosulatlan hozzáférés

A Kubernetes-erőforrások eléréséhez hozzá kell férnie az AKS-fürthöz, a Kubernetes API-hoz és a Kubernetes-objektumokhoz. Győződjön meg arról, hogy ön fürtadminisztrátor vagy olyan felhasználó, aki rendelkezik az AKS-fürt elérésére vonatkozó megfelelő engedélyekkel. További információ: Hozzáférés és identitásbeállítások az AKS-hez.

Erőforrásnézet engedélyezése

Lehetséges, hogy engedélyeznie kell a Kubernetes-erőforrásnézetet a meglévő fürtökhöz.

Tipp.

Hozzáadhatja az API-kiszolgáló által engedélyezett IP-tartományok AKS-funkcióját, hogy az API-kiszolgáló hozzáférése csak a tűzfal nyilvános végpontjára legyen korlátozva. Egy másik lehetőség a helyi ügyfélszámítógép vagy az Azure Portal böngészéséhez használt IP-címtartomány elérésének frissítése --api-server-authorized-ip-ranges/-ApiServerAccessAuthorizedIpRange . A hozzáférés engedélyezéséhez szüksége van a számítógép nyilvános IPv4-címére. Ezt a címet az alábbi Azure CLI- vagy Azure PowerShell-parancsokkal találja meg, vagy kereshet a böngészőben a "mi az IP-címem" kifejezésre.

  1. Az IP-cím lekérése a következő paranccsal:

    CURRENT_IP=$(dig +short myip.opendns.com @resolver1.opendns.com)
    
  2. Adja hozzá az IP-címét a jóváhagyott AKS-listához a az aks update paraméterrel rendelkező --api-server-authorized-ip-ranges paranccsal.

    az aks update --resource-group <resource-group-name> --name <aks-cluster-name> --api-server-authorized-ip-ranges $CURRENT_IP/32
    

Következő lépések

Ez a cikk bemutatta, hogyan érheti el a Kubernetes-erőforrásokat az Azure Portalról. További információ az AKS-ről, az Azure Kubernetes Service (AKS) alapfogalmairól.