>

기존 AWS vpc 및 서브넷 내에서 kop를 사용하여 kubernet을 생성하는 데 문제가 있습니다. 다음 CIDR 블록이있는 기존 vpc가 있습니다.

IPv4 CIDR :10.10.16.0/20

그 VPC에는 CIDR 블록이 할당 된 서브넷이 있습니다 :

SubnetDatabaseA :10.10.23.0/24

SubnetDatabaseB :10.10.24.0/24

SubnetDatabaseC :10.10.20.0/24

기타 등등 ...

kops를 사용하여 클러스터를 만들려고 할 때이 오류가 발생합니다 :

error running task "Subnet/ap-southeast-2a.clusters.dev1.k8s.local" (9m58s remaining to succeed): error creating subnet: InvalidSubnet.Conflict: The CIDR '10.10.18.0/23' conflicts with another subnet
        status code: 400, request id: 252367d1-d693-47b9-a6c5-a44908a0f6f7

내 서브넷 중 하나가 이미 해당 IP 범위를 사용하고 있음을 의미합니다.

선택한 특정 CIDR을 사용하도록 kops를 어떻게 할당 할 수 있습니까?

클러스터를 만들 때마다 다른 CIDR (예 : CIDR 10.10.18.0/23)을 할당한다는 것을 알 수 있습니까?

  • 답변 # 1

    kops create cluster --help
    --subnets stringSlice                  Set to use shared subnets
    --vpc string                           Set to use a shared VPC
    
    

    다음을 참조하십시오

    kops create cluster --name=${CLUSTER_NAME} --vpc=vpc-1010af11 --subnets=subnet- 000e123a,subnet-123b456,subnet-888c9991 --master-zones=${ZONES} --zones=${ZONES}  --networking=weave
    
    

    따라서 서브넷 ID를 전달하면 kops는 새 CIDR을 생성하지 않고 제공된 서브넷 ID와 해당 CIDR을 사용합니다. 다음을 참조하십시오.

     subnets:
    - cidr: 92.145.123.0/26
      id: subnet- 000e123a
      name: us-east-1a
      type: Public
      zone: us-east-1a
    - cidr: 92.145.123.64/26
      id: subnet-123b456
      name: us-east-1b
      type: Public
      zone: us-east-1b
    - cidr: 92.145.123.128/26
      id: subnet-888c9991
      name: us-east-1c
      type: Public
      zone: us-east-1c
    
    

    또는 kops edit cluster $CLUSTER_NAME 를 사용하여 클러스터를 편집 할 수 있습니다   kops create cluster 를 실행 한 후   --subnets 없이  위에 표시된대로 서브넷 섹션에 플래그를 지정하고 업데이트하십시오.

    참고 : https://github.com/kubernetes/kops/blob/master/docs/cli/kops_create_cluster.md

관련 자료

  • 이전 javascript - 태그에서 숫자 반환
  • 다음 android - Google Pixel, Moto G4, OnePlus 6과 같은 일부 기기에서 LocationManager 및 경도-위도 null 가져 오기