OKE(OCI Container Engine for Kubernetes) 의 신규기능인 Path analysis tests 를 사용하여 생성된 Kubernetes Cluster의 네트워크 구성 문제를 확인하는 방법을 알아봅니다.
OCI의 OKE(OCI Container Engine for Kubernetes)로 생성한 클러스터가 올바르게 동작하려면 클러스터에 지정된 네트워크 리소스를 올바르게 구성해야 합니다. 클러스터 생성시 [Quick create] 를 사용하여 생성하면 자동으로 네트워크 리소스를 자동으로 생성 및 구성 하지만 [Custom create] 를 사용하여 생성한 경우 다양한 클러스터 구성 요소가 통신할 수 있도록 직접 네트워크 리소스를 올바르게 구성해야 합니다.
하지만 이러한 Kubernetes 클러스터에 대한 네트워크 구성은 복잡할 수 있는데 이를 위해 사전에 정의된 다양한 네트워크 경로를 테스트할 수 있는 Path analysis tests 기능을 제공합니다.
Path analysis tests 는 가상 네트워크 토폴로지를 검사하고, 여러 라우팅 테이블을 살펴보고, NSG(Network Security Group) 및 Security List의 보안 규칙을 면밀히 조사합니다. 실제 트래픽은 전송되지 않으며 대신 구성을 검사하고 연결 가능성을 확인하는 데 사용됩니다. 하나의 OCI 리소스가 다른 OCI 리소스에 연결할 수 있는지 여부(소스에서 대상으로의 단방향 연결), 두 OCI 리소스가 서로 연결할 수 있는지(양방향 연결) 여부, 클러스터의 Pod가 OCI 서비스에 연결할 수 있는지 여부 등 다양한 경로를 테스트 할 수 있습니다.
그러면 이제 어떻게 OKE(OCI Container Engine for Kubernetes)의 Path analysis tests 를 사용하는 방법을 알아보겠습니다.
Kubernetes Cluster 는 생성되어진 상태여야 합니다.
1. Path analysis tests 실행에 필요한 IAM Policy 입력
Identity & Security > Identity > Policies 메뉴에서 [Create Policy] 를 클릭해 아래 Policies를 추가합니다.
allow group <group-name> to manage vn-path-analyzer-test in tenancy allow any-user to inspect compartments in tenancy where all { request.principal.type = 'vnpa-service' } allow any-user to read instances in tenancy where all { request.principal.type = 'vnpa-service' } allow any-user to read virtual-network-family in tenancy where all { request.principal.type = 'vnpa-service' } allow any-user to read load-balancers in tenancy where all { request.principal.type = 'vnpa-service' } allow any-user to read network-security-group in tenancy where all { request.principal.type = 'vnpa-service' } |
2. Path analysis tests 메뉴로 이동
OCI Console > 메뉴 > Developer Services > Containers & Artifacts > Kubernetes Clusters (OKE) > Cluster 메뉴로 이동해 왼쪽 하단에 있는 Resources 아래에 있는 Path analysis tests 를 클릭 합니다.
3. Launch path analysis 수행
Path analysis tests 화면에서 테스트하고자 하는 항목의 오른쪽에 있는 [Launch path analysis] 버튼을 클릭합니다.
여기서는 Internet to Kubernetes API endpoint 테스트를 해보도록 하겠습니다.
- Source IP를 입력 하고 [Run analysis] 버튼을 클릭합니다. Kubernetes API public endpoint 인 158.179.194.15:6443 로의 연결을 테스트 합니다.
정상적으로 구성된 경우 아래와 같이 Forward, Return 모두 테스트 결과가 정상이었습니다.
- Security List 에서 Kubernetes API public endpoint 의 포트인 6443 을 막고 다시 테스트 해보겠습니다.
Kubernetes API endpoint 로의 연결이 실패한 것을 확인할 수 있습니다.
작성자: 정성일(andypandi.yo@gmail.com) / Oracle Cloud Architect
개인 시간을 투자하여 작성된 글로서, 글의 내용에 오류가 있을 수 있으며, 글 속의 의견은 개인적인 의견입니다.
'10. 기타' 카테고리의 다른 글
문제 발생 시 SR에 업데이트 필요한 로그들 (0) | 2024.05.07 |
---|---|
OCI SSH Key 생성 (간편방법) (0) | 2024.03.06 |
OKE (Container Engine for Kubernetes) Basic Cluster 업그레이드 (0) | 2024.02.28 |
Tenancy 삭제 (0) | 2023.08.14 |
예상 금액 산출해 보기 - 윈도우 OS, MS SQL Server, Oracle MySQL (0) | 2023.03.01 |
댓글