Tất cả tài liệu

Dedicated – FPT Kubernetes Engine

    Service Type Load-Balancer
    Service Type Load-Balancer
    Updated on 16 Feb 2024

    D-FKE hỗ trợ tạo Service type Load Balancer giúp user có thể dễ dàng public ứng dụng ra ngoài cluster. Hệ thống hỗ trợ cả public và private LB.

    • Public LB: Mặc định svc type LB khi được tạo dưới dạng public, service được gán Public IP để có thể truy cập từ internet.
    • Private LB: Service được gắn Private IP để có thể truy cập từ các hệ thống nội bộ tenant đến ứng dụng (service). Không được gán Public IP nên không truy cập được từ internet.

    A. Public LB

    Service type LoadBalacer dạng Public để có thể truy cập từ internet. Dạng này cần có Public IP free để sử dụng.

    VD file yaml:

    apiVersion: v1
    kind: Service
    metadata:  
      name: web  
      namespace: default
    spec:  
      selector:    
        app: web  
      ports:    
        – protocol: TCP      
          name: http      
          port: 80      
          targetPort: 80    
        – protocol: TCP      
          name: https      
          port: 443      
          targetPort: 443  
      type: LoadBalancer 

     

    B. Private LB

    Service type LoadBalacer dạng Private với mục đích sử dụng để truy cập nội bộ, không truy cập từ internet. Dạng này không cần có Public IP free để sử dụng.

    VD file yaml:

    apiVersion: v1
    kind: Service
    metadata:  
      annotations:
        service.beta.kubernetes.io/fpt-load-balancer-internal: “true”
      name: web  
      namespace: default
    spec:  
      selector:    
        app: web  
      ports:    
        – protocol: TCP      
          name: http      
          port: 80      
          targetPort: 80    
        – protocol: TCP      
          name: https      
          port: 443      
          targetPort: 443  
      type: LoadBalancer 

     

    Kiểm tra service tạo thành công.

    kubectl get svc 

     

    Chỉnh sửa lại Internal IP của Load Balancer. Nhập dải IP bạn muốn hệ thống cấp tự động cho LB Virtual IP:

    • startIP: IP bắt đầu của subnet. Vd 10.100.1.2
    • endIP: IP kết thúc của subnet. Vd 10.100.1.253

    Lưu ý: Dải IP này không được trùng với các subnet đã tạo trên hệ thống.

    kubectl edit cm fptcloud-ccm-configmap -n kube-system 

     

    loadbalancer:
          oneArm:
            startIP: “169.254.64.1”
            endIP: “169.254.127.254” 

    Chỉnh sửa lại startIP và endIP theo dải IP mong muốn và thực hiên save.

    Thực hiện rollout để nhận config mới.

    kubectl rollout restart deployment fptcloud-ccm -n kube-system