Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Refine supernetting and network provisioning rules to support k8s provisioning #1421

Merged
merged 2 commits into from
Jan 12, 2024

Conversation

seokho-son
Copy link
Member

fix #1409

Refine supernetting vNet rules to support K8s cluster provisioning.

TestScripts

[create-vNet.sh]

  • CSP[i]-VPC: 10.i.0.0/16
    • CSP[i]-Subnet[0]: 10.i.0.0/18
    • CSP[i]-Subnet[1]: 10.i.64.0/18

[add-subnet.sh]

  • CSP[i]-Subnet[2]: 10.i.128.0/18

DefaultVNet (MCIS Dynamic)

  • CSP[i]-VPC: 10.i.0.0/16
    • CSP[i]-Subnet[0]: 10.i.0.0/18
    • CSP[i]-Subnet[1]: 10.i.64.0/18
      // Reserve spaces for tentative 2 subnets (10.i.128.0/18, 10.i.192.0/18)

@seokho-son
Copy link
Member Author

향후 netutil package 를 통해서 조금 더 개선해나갈 예정입니다.

@seokho-son
Copy link
Member Author

@sykim-etri

PR에 지정된 대역이면, K8s 클러스터 프로비저닝에 문제 없을까요~? :)
참고로 10.x.x.x 스타일이 K8s Pod network 에 많이 활용되므로, 주소 중복 여부를 확인해서 사용해야 할것 같긴합니다. (아니면, 172를 활용하시는것도 방법)

@seokho-son
Copy link
Member Author

PTAL @yunkon-kim

Copy link
Member

@yunkon-kim yunkon-kim left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@seokho-son LGTM!

위 질의응답 완료 후에 Merge 하면 될 것 같습니다 ^^

@seokho-son
Copy link
Member Author

@sykim-etri

선반영하겠습니다. 활용해보시고 향후에 의견 주세요. ^^

@seokho-son
Copy link
Member Author

/approve

@github-actions github-actions bot added the approved This PR is approved and will be merged soon. label Jan 12, 2024
@cb-github-robot cb-github-robot merged commit 7ba0fc1 into cloud-barista:main Jan 12, 2024
3 checks passed
@sykim-etri
Copy link
Member

@seokho-son
이것 저것 찾아보고 테스트해 보느라 의견 개진이 늦었습니다.

CSP별로 차이는 있겠습니다만 Service CIDR나 Pod CIDR의 기본값으로는 10.0.0.0/16나 10.244.0.0/16 등으로 설정하여 사용하는 경우가 많은 것으로 보입니다.

K8S 생성시 Pod CIDR와 Service CIDR를 지정할 수 있기 때문에 구글링을 통해서 대략 살펴보니.. 사용자들은 기존 Subnet과 겹치지 않는 범위의 대역에서 필요한 만큼 골라서 사용하고 있었습니다. (10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16)

아마도 이러한 상황을 고려해서.. 현재 PMKS에서는 사용자가 Service CIDR나 Pod CIDR를 지정할 수는 없지만 일부 드라이버에서는 Service CIDR를 Subnet과 중복되지 않는 사설망 대역에서 찾아서 자동 설정하고 있습니다.

간단히 PMKS 드라이버들을 살펴보면 몇 개(azure, alibaba, tencent)는 중복되지 않은 CIDR를 찾는 부분이 보이는 반면 이러한 부분이 없는 드라이버들도 많이 있는 상황입니다. 물론 CSP에서 해당 기능을 지원하지 않기 때문일 수도 있습니다.

상기 PR 내용을 기준으로 시험을 진행하면서 이슈가 발생하는 PMKS 드라이버를 개선하거나 사용자가 Service CIDR나 Pod CIDR를 지정할 수 있도록 개선하는 것이 좋을 것으로 판단됩니다.

cf) @powerkimhub

@seokho-son
Copy link
Member Author

@sykim-etri
넵. 현황 공유 감사합니다. Azure의 경우 AKS 클러스터 생성시, virtual network 를 지정하지 않으면 자동으로 설정 및 생성하긴 하던데, 우리는 기존 virtual network를 지정해야 하다보니 service network cidr 도 기존 subnet을 고려해서 지정해야 하는가보군요.

CSP 드라이버마다 서비스/파드 CIDR 지정 방식이 다르게 개발되어 있는 상황으로 보이는데,
아직 드라이버별로 CIDR 지정 방식을 추정하기 어려우니,
말씀하신 것과 같이 우선 현재 테스트스크립트/MCISDynamic 상 지정되는 네트워크 CIDR로 우선 테스트해보고,
Spider에 역으로 피드백드리는 것이 좋을 것 같습니다. :)
감사합니다.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approved This PR is approved and will be merged soon.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[testclient/scripts] Need a bigger vNet's IP address range for K8s cluster in create-vNet.sh
4 participants