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

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

在某些使用場景中,您可能需要調整Nginx Ingress Controller的網絡訪問類型以控制允許被訪問的客戶端范圍,例如內部服務只允許通過私網訪問的情況。通過配置,您可以使Nginx Ingress Controller只支持公網訪問、只支持私網訪問或同時支持公網和私網訪問。

前提條件

操作步驟

當您通過容器服務管理控制臺創建集群并在其中安裝Nginx Ingress Controller組件時,您可以為其選擇公網或私網類型。組件安裝后,如果您需要切換Nginx Ingress Controller的網絡類型,您需要通過重新部署Nginx Ingress Controller所使用的Service以完成切換。關于配置已有的負載均衡實例注釋,詳情請參見使用已有的負載均衡

由私網類型調整為公網類型

  1. 執行以下命令,刪除當前Nginx Ingress Controller使用的Service。

    kubectl delete svc -n kube-system nginx-ingress-lb
  2. 創建并將以下示例拷貝到nginx-ingress-lb.yaml中。

    apiVersion: v1
    kind: Service
    metadata:
      name: nginx-ingress-lb
      namespace: kube-system
      labels:
        app: nginx-ingress-lb
    spec:
      type: LoadBalancer
      externalTrafficPolicy: "Local"
      ports:
      - port: 80
        name: http
        targetPort: 80
      - port: 443
        name: https
        targetPort: 443
      selector:
        app: ingress-nginx
  3. 執行以下命令,創建公網LoadBalancer類型的Service。

    kubectl apply -f  nginx-ingress-lb.yaml
  4. 執行以下命令,查看新創建公網類型的Service。

    kubectl -n kube-system get svc | grep nginx-ingress-lb

    預期輸出:

    nginx-ingress-lb   LoadBalancer   192.168.*.**   120.26.**.**   80:30275/TCP,443:30899/TCP               52m

由公網類型調整為私網類型

  1. 執行以下命令,刪除當前Nginx Ingress Controller使用的Service。

    kubectl delete svc -n kube-system nginx-ingress-lb
  2. 創建并將以下示例拷貝到nginx-ingress-lb.yaml中。

    apiVersion: v1
    kind: Service
    metadata:
      name: nginx-ingress-lb
      namespace: kube-system
      labels:
        app: nginx-ingress-lb
      annotations:
        service.beta.kubernetes.io/alibaba-cloud-loadbalancer-address-type: intranet # 指明負載均衡實例地址類型為私網類型。
    spec:
      type: LoadBalancer
      externalTrafficPolicy: "Local"
      ports:
      - port: 80
        name: http
        targetPort: 80
      - port: 443
        name: https
        targetPort: 443
      selector:
        app: ingress-nginx
  3. 執行以下命令,創建公網LoadBalancer類型的Service。

    kubectl apply -f  nginx-ingress-lb.yaml
  4. 執行以下命令,查看新創建的公網類型的Service。

    kubectl -n kube-system get svc | grep nginx-ingress-lb

    預期輸出:

    nginx-ingress-lb    LoadBalancer   192.168.*.**    172.2**.**   80:30275/TCP,443:30899/TCP   5h

同時支持私網和公網類型

對于一些特殊場景,您期望容器集群內的服務既能允許公網訪問,同時又希望能被同一個VPC下的其他服務直接訪問(不經過公網)。您需要為Nginx Ingress Controller所屬的Pod部署兩個不同網絡類型的Service來達成這種效果:

  • 如果您目前的Nginx Ingress Controller是公網類型,那么您可以添加一個名為nginx-ingress-lb-intranet的私網類型的Service,用于綁定一個私網類型的負載均衡實例。

  • 如果您目前的Nginx Ingress Controller是私網類型,那么您可以添加一個名為nginx-ingress-lb-internet的公網類型的Service,用于綁定一個公網類型的負載均衡實例。

image
  1. 創建并將以下示例拷貝到nginx-ingress-lb.yaml中。

    添加私網類型的Service

    apiVersion: v1
    kind: Service
    metadata:
      name: nginx-ingress-lb-intranet
      namespace: kube-system
      labels:
        app: nginx-ingress-lb
      annotations:
        service.beta.kubernetes.io/alibaba-cloud-loadbalancer-address-type: intranet # 指明負載均衡實例地址類型為私網類型。
    spec:
      type: LoadBalancer
      externalTrafficPolicy: "Cluster"
      ports:
      - port: 80
        name: http
        targetPort: 80
      - port: 443
        name: https
        targetPort: 443
      selector:
        app: ingress-nginx

    添加公網類型的Service

    apiVersion: v1
    kind: Service
    metadata:
      name: nginx-ingress-lb-internet
      namespace: kube-system
      labels:
        app: nginx-ingress-lb
    spec:
      type: LoadBalancer
      externalTrafficPolicy: "Cluster"
      ports:
      - port: 80
        name: http
        targetPort: 80
      - port: 443
        name: https
        targetPort: 443
      selector:
        app: ingress-nginx
  2. 執行以下命令,創建新的Service。

    kubectl apply -f  nginx-ingress-lb.yaml