日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

如何使用Nginx Ingress

Nginx Ingress是一種用于Kubernetes集群的網絡流量管理解決方案,通過Ingress API對象將外部流量路由到集群內部服務。Nginx Ingress Controller部署在集群內部,提供高性能和可定制性。ACK Edge集群整合社區版本和阿里云產品功能,提供更便捷的使用體驗。本文介紹如何在ACK Edge集群中使用Nginx Ingress。

操作步驟

  1. 分別在云端節點池和邊緣節點池部署Nginx Ingress Controller,具體操作,請參見部署Nginx Ingress Controller。 部署完成后,可以查看Nginx Ingress Controller狀態,以及服務暴露狀態。

    1. 執行以下命令查看云端節點池Nginx Ingress Controller Pod狀態。

      kubectl get po -n ingress-cloud -o wide

      預期輸出:

      NAME                                                     READY   STATUS    RESTARTS   AGE     IP           NODE           NOMINATED NODE   READINESS GATES
      ack-ingress-nginx-v1-cloud-controller-7d7b555f8b-5kgqb   1/1     Running   0          20s     10.10.0.1    cloud-node-1   <none>           <none>
      ack-ingress-nginx-v1-cloud-controller-7d7b555f8b-725cl   1/1     Running   0          20s     10.10.0.2    cloud-node-2   <none>           <none>
    2. 執行以下命令查看云端節點池Nginx Ingress Controller服務狀態。

      kubectl get svc -n ingress-cloud

      預期輸出:

      NAME                                    TYPE           CLUSTER-IP      EXTERNAL-IP       PORT(S)                      AGE
      ack-ingress-nginx-v1-cloud-controller   LoadBalancer   172.12.0.1     xxx.xxx.xxx.xxx   80:30080/TCP,443:30443/TCP    30S
    3. 執行以下命令查看邊緣節點池Nginx Ingress Controller Pod狀態。

      kubectl get po -n ingress-edge -o wide

      預期輸出:

      NAME                                                    READY   STATUS    RESTARTS   AGE   IP           NODE          NOMINATED NODE   READINESS GATES
      ack-ingress-nginx-v1-edge-controller-7d57b84c88-4wsm4   1/1     Running   0          17s   10.10.0.1    edge-node-1   <none>           <none>
      ack-ingress-nginx-v1-edge-controller-7d57b84c88-fqvj8   1/1     Running   0          17s   10.10.1.1    edge-node-2   <none>           <none>
    4. 執行以下命令查看邊緣節點池Nginx Ingress Controller服務狀態。

      kubectl get svc -n ingress-edge

      預期輸出:

      NAME                                   TYPE       CLUSTER-IP      EXTERNAL-IP   PORT(S)                      AGE
      ack-ingress-nginx-v1-edge-controller   NodePort   172.12.0.2      <none>        80:32080/TCP,443:32443/TCP   3m51s
  2. 使用以下內容,創建cube.yaml。

    apiVersion: v1
    kind: Service
    metadata:
      name: cube-svc
      annotations:
        openyurt.io/topologyKeys: openyurt.io/nodepool
    spec:
      type: ClusterIP
      selector:
        app: cube
      ports:
        - port: 80
          targetPort: 80
    ---
    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: cube
      labels:
        app: cube
    spec:
      replicas: 4
      selector:
        matchLabels:
          app: cube
      template:
        metadata:
          labels:
            app: cube
        spec:
          containers:
          - name: cube-web
            image: registry.cn-hangzhou.aliyuncs.com/acr-toolkit/ack-cube:1.0
            ports:
            - containerPort: 80
  3. 執行以下命令,創建測試應用cube和Service。

    kubectl apply -f cube.yaml

    執行以下命令,查看業務Pod是否分別部署在云端節點池和邊緣節點池。

    kubectl get pod  -o wide

    預期輸出:

    NAME                    READY   STATUS    RESTARTS   AGE   IP            NODE           
    cube-757558c974-9zfkn   1/1     Running   0          11m   10.10.0.1     cloud-node-1   
    cube-757558c974-cw72m   1/1     Running   0          11m   10.10.0.2     cloud-node-2   
    cube-757558c974-fbvlf   1/1     Running   0          11m   10.10.1.1     edge-node-1    
    cube-757558c974-ngwxt   1/1     Running   0          11m   10.10.1.2     edge-node-2    
  4. 使用以下內容,創建ingress.yaml,分別為云端Ingress Controller和邊緣Ingress Controller創建Ingress。

    apiVersion: networking.k8s.io/v1
    kind: Ingress
    metadata:
      name: cube-ingress-cloud
      namespace: default
    spec:
      ingressClassName: ack-nginx-cloud               # 為云端Ingress Controller創建Ingress。
      rules:
      - host: example.cube.com
        http:
          paths:
          - path: /
            backend:
              service:
                name: cube-svc
                port:
                  number: 80
            pathType: ImplementationSpecific
    
    ---
    apiVersion: networking.k8s.io/v1
    kind: Ingress
    metadata:
      name: cube-ingress-edge
      namespace: default
    spec:
      ingressClassName: ack-nginx-edge                 # 為邊緣Ingress Controller創建Ingress。
      rules:
      - host: example.cube.com
        http:
          paths:
          - path: /
            backend:
              service:
                name: cube-svc
                port:
                  number: 80
            pathType: ImplementationSpecific

    執行以下命令,創建Ingress資源。

    kubectl apply -f ingress.yaml
  5. 執行以下命令,查看ingress資源。

    kubectl get ingress

    預期輸出:

    NAME                 CLASS             HOSTS              ADDRESS           PORTS   AGE
    cube-ingress-cloud   ack-nginx-cloud   example.cube.com   139.224.xxx.xxx   80      24m
    cube-ingress-edge    ack-nginx-edge    example.cube.com   172.20.xxx.xxx    80      24m
    • 云端節點池的Ingress Controller通過LoadBalancer類型的Service對外暴露服務,因此負載均衡的地址會自動填充到Ingress的地址字段中。您可以直接使用這個負載均衡的地址來訪問服務。

    • 邊緣節點池的Ingress Controller通過NodePort類型的Service對外暴露服務,因此會將Service的ClusterIP地址填充到Ingress的地址中,您可以使用節點地址加上NodePort的方式來訪問服務。

相關文檔

ACK Edge集群ACK集群Pro版的基礎上擴展了邊緣節點池用于接入邊緣節點、IDC機器,因此在ACK Edge集群上使用Nginx Ingress可支持以下能力:

相關操作

文檔

ACK Edge差異點

如何創建Nginx Ingress?

創建Nginx Ingress

需要根據實際場景配置流量拓撲。

如何部署Nginx Ingress Controller組件?

部署Nginx Ingress Controller

僅支持應用市場部署。

如何升級Nginx Ingress Controller組件?

升級應用市場ack-ingress-nginx

僅支持應用市場升級。

如何通過部署Nginx Ingress Controller來支撐高負載應用?

部署高負載場景的Nginx Ingress Controller

無。

如何配置Ingress Controller CLB的公網和私網類型?

配置公網和私網類型的Nginx Ingress Controller

僅支持部署在云上節點池的Ingress Controller。

如何通過Nginx Ingress實現灰度發布和藍綠發布?

通過Nginx Ingress實現灰度發布和藍綠發布

無。

如何通過Ingress Controller來實現應用的流量復制?

通過Ingress Controller來實現應用的流量復制

無。

如何進行Nginx Ingress Controller組件的鏈路追蹤?

實現Nginx Ingress Controller組件的鏈路追蹤

無。

如何部署及查看Nginx Ingress訪問日志?

Nginx Ingress訪問日志分析與監控

僅支持命令行開啟。

如何通過Ingress Controller實現gRPC服務訪問?

通過Ingress Controller實現gRPC服務訪問

無。