Azure CNI 네트워킹으로 구성된 AKS에 대한 IP 주소 지정 계획

2258 단어 cniakskubernetesazure
Azure CNI(Container Network Interface)를 사용하여 Azure Kubernetes Service를 구성할 때 모든 포드는 구성한 서브넷의 IP 주소를 가져옵니다.

그렇다면 공간을 어떻게 다룰 계획입니까? 어떤 요소를 고려해야 합니까?
  • 각 노드는 하나의 IP를 사용합니다.
  • 각 포드는 하나의 IP를 사용합니다.
  • 예상되는 각 내부 LoadBalancer 서비스는 하나의 IP를 사용합니다.
  • Azure는 각 서브넷 내에서 5개의 IP 주소를 예약합니다.
  • 노드당 최대 포드는 250입니다.
  • 노드당 최대 포드 하한은 10입니다.
  • 30개의 포드는 클러스터당 최소입니다.
  • 클러스터당 최대 노드는 1000입니다.
  • 클러스터가 업그레이드되면 최소 하나의 추가 IP 주소 블록을 사용할 수 있어야 하는 프로세스의 일부로 새 노드가 추가됩니다. 그러면 노드 수는 n + 1입니다.
  • 클러스터를 확장하면 추가 노드가 추가됩니다. 그러면 노드 수는 n + 예상되는 추가 확장 노드 수 + 1입니다.

  • 이 모든 것을 염두에 두고 클러스터에 필요한 IP 수를 계산하는 공식은 다음과 같아야 합니다.

    requiredIPs = (nodes + 1 + scale) + ((nodes + 1 + scale) * maxPods) + isvc
    
    


    어디:
  • 노드: 노드 수(기본값 3)
  • maxPods: 노드당 최대 포드(기본값 30)
  • scale: 예상 스케일 노드 수
  • isvc: 예상되는 내부 LoadBalancer 서비스 수

  • 이를 돕기 위해 golang: aksip으로 작성된 작은 콘솔 프로그램을 만들었습니다. 이 프로그램은 필요한 유효성 검사 및 계산을 수행합니다.

    추가 10개 노드를 확장하기 위한 프로비저닝도 포함하는 내부 로드 밸런서 1개가 있는 50개 노드 클러스터를 원한다고 가정해 보겠습니다.

    그냥 실행:

    aksip -n 50 -s 10
    
    


    출력에는 1892개의 IP 주소가 필요하고 따라서/21 서브넷 이상이 필요하다는 것이 표시됩니다.

    {
    "nodes": 50,
    "scale": 10,
    "maxPods": 30,
    "isvc": 1,
    "requiredIPs": 1892,
    "cidr": "/21"
    }
    
    


    도움이 되길 바랍니다!!!

    참조:
  • Configure Azure CNI networking in Azure Kubernetes Service (AKS)
  • Configure maximum - new clusters
  • Are there any restrictions on using IP addresses within these subnets
  • 좋은 웹페이지 즐겨찾기