tencent cloud

VPC-CNI 패턴 보안 그룹 사용에 대한 설명
마지막 업데이트 시간:2023-05-06 19:22:03
VPC-CNI 패턴 보안 그룹 사용에 대한 설명
마지막 업데이트 시간: 2023-05-06 19:22:03
다음 방법을 통해 지정된 보안 그룹을 VPC-CNI 모드에서 생성된 ENI에 바인딩할 수 있습니다.

전제 조건

IPAMD 컴포넌트 버전이 v3.2.0 이상이어야 합니다. 이미지 tag를 통해 버전을 확인하실 수 있습니다.
IPAMD 컴포넌트에 보안 그룹의 기능을 활성화해야 합니다(기본적으로 활성화되지 않음). 시작 매개변수는 --enable-security-groups입니다.
현재 다중 Pod 공유 ENI 모드만 지원됩니다.

IPAMD 컴포넌트 보안 그룹 기능 활성화

tke-eni-ipamd v3.5.0 이상

1. TKE 콘솔에 로그인하고 왼쪽 사이드바에서 클러스터를 클릭합니다.
2. 클러스터 관리 페이지에서 보안 그룹을 활성화할 클러스터의 ID를 클릭하여 클러스터 세부 정보 페이지로 이동합니다.
3. 클러스터 세부 정보 페이지의 왼쪽 사이드바에서 애드온 관리를 선택합니다. 애드온 관리 페이지에서 eniipamd 애드온의 작업 열에 있는 업데이트 구성을 클릭합니다.


4. 구성 업데이트 페이지에서 보안 그룹을 선택합니다. 기본 ENI의 보안 그룹을 사용하려면 보안 그룹을 지정하지 않아야 하며, 그렇지 않으면 보안 그룹을 지정해야 합니다.


5. 완료를 클릭합니다.

tke-eni-ipamd v3.5.0 이전 버전 또는 관리할 eniipamd 없음

기존 tke-eni-ipamd deployment 수정:
kubectl edit deploy tke-eni-ipamd -n kube-system
다음 명령을 실행하여 시작 매개변수를 spec.template.spec.containers[0].args에 추가합니다. 수정 후 ipamd가 다시 시작되고 자동으로 적용됩니다. 기존 노드의 보안 그룹과 연결되지 않은 보조 ENI의 경우 다음 정책에 따라 보안 그룹이 바인딩됩니다. 보안 그룹이 바인딩된 경우 이전에 기능이 활성화되고 노드에 보안 그룹이 설정되지 않은 경우 설정된 보안 그룹에 대해 강력한 동기화가 수행됩니다. 다음 보안 그룹은 새 노드의 모든 ENI에 바인딩됩니다.
- --enable-security-groups
# 기본적으로 기본 ENI/인스턴스의 보안 그룹을 사용하려면 security-groups 매개변수를 추가하지 마십시오
- --security-groups=sg-xxxxxxxx,sg-xxxxxxxx

기존 노드의 ENI 보안 그룹 설정 동기화 방법

보안 그룹이 설정된 기존 노드에 보안 그룹 정책을 적용하려면 보안 그룹을 수동으로 비활성화한 다음 보안 그룹을 다시 활성화하여 동기화해야 합니다. 방법은 다음과 같습니다.
1. 노드의 ENI에 바인딩된 보안 그룹을 지우고 비활성화하는 주석을 추가합니다. 주석이 추가된 후 노드의 기존 ENI는 모든 보안 그룹의 바인딩을 해제합니다.
kubectl annotate node <nodeName> --overwrite tke.cloud.tencent.com/disable-node-eni-security-groups="yes"
2. (첫 번째 단계 실행 후 2-5s 대기)값을 no로 재설정한 후 상기 정책을 기반으로 구성된 보안 그룹을 다시 바인딩할 수 있습니다.
kubectl annotate node <nodeName> --overwrite tke.cloud.tencent.com/disable-node-eni-security-groups="no"

기능 로직

만약 시작 매개변수 --security-groups가 설정되지 않았거나 해당 값이 비어있다면, 각 노드의 보안 그룹은 노드 인스턴스에 바인딩된 보안 그룹(기본 ENI에 바인딩된 보안 그룹)을 사용합니다. 만약 이 기능이 활성화되어있다면, 노드 인스턴스의 보안 그룹(기본 ENI 보안 그룹)이 변경되어도 보조 ENI의 보안 그룹은 동기화되지 않으므로 해당 노드의 보안 그룹을 비활성화했다가 다시 활성화하여 동기화해야 합니다. 작업 방법은 Method of synchronizing ENI security group settings of existing nodes를 참고하십시오.
기능이 활성화된 후 --security-groups가 설정되면 각 노드의 보안 그룹이 이 보안 그룹 집합으로 설정됩니다.
기능이 활성화된 후 --security-groups가 수정되면 새 노드의 보안 그룹 설정이 전역 매개변수와 동기화되고 기존 노드의 보안 그룹 설정은 변경되지 않습니다. 기존 노드의 보안 그룹 설정을 동기화하려면 해당 노드의 보안 그룹을 비활성화했다가 다시 활성화해야 합니다. 작업 방법은 Method of synchronizing ENI security group settings of existing nodes를 참고하십시오.
보안 그룹 설정의 우선 순위는 노드에서 보안 그룹을 설정하는 순서와 일치합니다. 기본 ENI의 보안 그룹을 사용하는 경우 우선순위는 기본 ENI의 보안 그룹과 일치합니다.
다음 명령을 실행하여 노드의 보안 그룹을 확인합니다. spec.securityGroups에는 노드의 보안 그룹 정보가 포함되어 있습니다.
kubectl get nec <nodeName> -oyaml
다음 명령을 실행하여 노드의 보안 그룹을 수정합니다. 수정 사항은 즉시 적용됩니다.
kubectl edit nec <nodeName>
기능이 활성화된 후 기존 ENI가 보안 그룹에 바인딩되어 있지 않으면 노드의 보안 그룹이 바인딩됩니다. 기존 ENI의 보안 그룹은 노드의 보안 그룹과의 일관성을 보장하기 위해 노드의 보안 그룹과 강력하게 동기화됩니다. 새 ENI는 노드의 보안 그룹과 바인딩됩니다.
문제 해결에 도움이 되었나요?
더 자세한 내용은 문의하기 또는 티켓 제출 을 통해 문의할 수 있습니다.
아니오

피드백